English Memorandum

【語源100話(28)】shutilとshell(殻), kernel(核)

Pythonの基本的なモジュールに、shutilがある。ファイルを移動したり、コピーしたりとファイル操作をしたいときに使う。shutilは、sh + utilに分解できる。shell + utilities の組み合わせで、shell(シェル)操作に便利(utility)なモジュールという意味だ。

shellは殻の意味。卵やアーモンド、栗の殻やカメの甲羅などもshellという。シェルは日本語にもなっているから、な馴染みがあるだろう。甲殻類や貝はshellfish(シェルフィッシュ)と言えばよい。shellという単語は古英語のsciel, scillなどに由来するが、そもそもスケルトン(骨格)の接頭辞であるskel-(切る)に語源を持つ。

殻という意味では、何かの回りを覆うもの、というのがshellの持つイメージ。逆にいうと、それ自身は空洞であり、内側にもっと重要なものが存在する、ということを示唆する。

コンピューターの場合、この内側にある大事なものが、カーネル(kernel)である。kernelは、種の中にある仁のことで、アーモンドや栗の食べる部分。コンピューターでいえば、OS(Operating System)の最重要部の機能のこととなる。

OSの構造として、このカーネル(kernel)とユーザーの間に存在するものがシェル(shell)というわけだ。

ちなみに、kernelの語源は、粒(grain)を意味するgre-no-で、corn(コーン)も同語源。それを踏まえた上で見ると、kernelとcornの綴りがよく似ていることが認識でき、どちらも「粒」「核」の意味を持つ単語であって、他人同士ではないことが分かる。

モバイルバージョンを終了