回答:
そもそもこのために「カーネル」という言葉を得た元の比phorは、忘れられがちです。比phorは、オペレーティングシステムがシードまたはナッツであることです。シードの「カーネル」はオペレーティングシステムの中核であり、アプリケーションプログラムにオペレーティングシステムサービスを提供します。これは、ユーザーが外から見るものであるシードの「シェル」に囲まれています。
一部の人々は、「カーネル」(そして実際には「シェル」)をより具体的にするために結び付けたいと思っています。しかし、実際には、オペレーティングシステムにはさまざまなバリエーションがあります。少なくともこれらのバリエーションは「シェル」を構成するものであり(Solaris sh
からNetwareのコンソールコマンドインタープリター、OS / 2のWorkplace Shell、Windows NTのExplorerまで)、オペレーティングシステムごとに多くの違いがあります。 「カーネル」の一部であるものとそうでないもの(たとえば、ディスクI / Oを含む場合と含まない場合があります)。これらの用語はメタファーであることを覚えておくのが最善です。
他の用語があります。IBMメインフレームの用語では、シード/ナッツのメタファーの「カーネル」は制御プログラムと呼ばれます。他の名前には、スーパーバイザー、モニター、コア、およびエグゼクティブが含まれます。コアは、もう1つのかなり明白な生物学的隠phorです。それもまた別の名前であることが興味深い。ハーヴェイM. Deitelは、彼にオペレーティングシステム、制御プログラムを呼び出し、核、および語ります
通常、核はオペレーティングシステム全体と一般に考えられているコードの小さな部分を表します[...]
「nucleus」という語はラテン語のnucleusに由来し、ナッツの核を意味します(「nut」を意味するLatin nuxを参照)。したがって、制御プログラムを「中核」と呼ぶことでさえ、実際にはこれと同じオペレーティングシステムをナットとして類推しています。これは、単なるオペレーティングシステム以上のものに使用される類推です。たとえば、化学に精通している場合、原子核は殻の中で電子に囲まれていることがわかります。
new123456
以下の仮名の人が書いていることは、これらの比phorの起源を忘れることに起因する誤りを例示しており、ある部分を全体と間違え、カーネルをオペレーティングシステム全体と間違えています。「ユーザーランド」プログラムであることは、シェルをオペレーティングシステムの外側にすることも、カーネルを囲むシェルを小さくすることもありません。さらに、バージョン7以降のUnixには当てはまらないDOS専用のアイデアとはほど遠く、このアイデアはUnixの世界で広く普及しており、現在も行われています。
(それをnew123456
DOSism と間違えるのは皮肉なことです。カーネル/シェルのメタファーは、初期のDOSにとってはかなり異質であり、CP / Mのコマンドプロセッサなどを好んでいました。基本ディスク・オペレーティング・システム(BDOS)、基本入出力システム(BIOS -いないシステムファームウェア、ノート)、コマンドプロセッサ、およびハウスキーピングユーティリティ。コードは、実際のファイルにこの道をparceledた。これは、別です。実際、たとえば、カーネル/シェルのメタファーが、多くのオペレーティングシステムの実際の区分を実際にカバーしていないか、完全に一致していない方法の例です。)
new123456
核がオペレーティングシステム全体の一部であることについて、Deitelが書いたことを忘れています。オペレーティングシステムは、カーネルとシェルの両方です。 つまり、結局のところ、メタファーです。 デイテルも一人ではありません。1980年代以降、Unix-as-a-nutの比theを説明する一連のUnix本があります。UrbanとTiemann が24時間でFreeBSDを教える(SAMS、ISBN 9780672324246)をお勧めします。54ページにオペレーティングシステムとしてのシードのメタファーを示す図があり、驚くべきことにそうするためのいくつかの本。
名前「nucleus」はおそらく古い名前です。確かにUnixよりも前のもので、これは今日(おそらくUnixのおかげで少なからず)カーネル/シェルの用語を支持し、より普及しています。Alan C. Shawの1974年の著書『オペレーティングシステムの論理設計(Prentice-Hall、ISBN 9780135401125)』には次のようなものがあります。
主記憶装置に永続的に常駐するシステムのその部分は、歴史的にニュークリアスと呼ばれていました。通常、ニュークリアスは、プロセス、リソース、および入出力を管理するための最小限のプリミティブとプロセスのセットで構成されます。ショーにも図があります。☺
@
ユーザー名を記載するときは、応答キューに投稿されるようにどこかに残してください。
オペレーティングシステムの他の部分には、カーネルと対話するドライバーが含まれます。ユーザーインターフェイス、ネットワーキング、およびカーネルと実際のアプリケーションの間にあるOSの他のコア部分を処理するヘルパープログラムのいくつかの層があります。
例として、OS Xの構造を示しました。カーネル(水色)の上に「コア」機能、システムツール、サービス、およびAPI(アプリケーションプログラミングインターフェイス)のいくつかの層があることがわかります。実際のアプリケーション自体で通常使用するGUIにさえ到達します。
ほとんどのオペレーティングシステムの構造は似ていますが、実際にカーネルの一部であるかどうかに関しては、さまざまな違いがあります。比較については、マイクロカーネルに関するウィキペディアの記事を参照してください。
編集-あなたのコメントに答えるために(私のコメントは少し長くなりました)
Linuxカーネルだけを起動することもできますが、実際には多くを達成することはできません。すべてのインターフェイスを提供するのは、これらすべてのヘルパーアプリケーションです。
カーネルが起動(およびハードウェアを初期化)されると、それはのようなサービス(起動するための機能を提供するGNU / Linuxオペレーティング・システムの他の部分を切った手にしようとUDEVれを移入/dev
のようなものを使用するためのプログラムのrawデバイスインタフェースを持つがハードドライブやシリアルポートなど)およびネットワーク(dhcpcd)を設定するプログラムと、アプリケーションがGNOMEやKDEなどのウィンドウマネージャーを使用してウィンドウやアイコンを表示できるようにするためのX.orgなどのAPI 。
しかし、はい、単にカーネル自体をブートすることができます。「ブートしました、今は何ですか?」促す。