web-dev-qa-db-ja.com

OSカーネルとは何ですか?オペレーティングシステムとどう違うのですか?

カーネルとオペレーティングシステムの違いを理解できません。それらの間に違いはありません。カーネルはオペレーティングシステムですか?

139
Xinus

オペレーティングシステムの技術的な定義は、「アプリケーションを構築し、相互にやり取りするための特定のライブラリとインフラストラクチャのセットで構成されるプラットフォーム」です。その意味で、カーネルはオペレーティングシステムです。

エンドユーザーの定義は、通常、「デスクトップ、アプリケーションへのショートカット、Webブラウザー、およびメディアプレーヤーを提供するソフトウェアパッケージ」に関するものです。カーネルはその定義と一致しません。

したがって、エンドユーザーにとってはLinuxディストリビューション(Ubuntuなど)がオペレーティングシステムであり、プログラマにとってはLinuxカーネル自体が達成しようとしているものによっては完全に有効なOSです。たとえば、組み込みシステムはほとんどがカーネルであり、その上で実行される特殊なプロセスはごく少数です。その場合、カーネル自体がOSになります。

そのOS上で実行されるアプリケーションの大部分が必要とするものに線を引くことができると思います。それらのほとんどがカーネルのみを必要とする場合、カーネルはOSであり、それらのほとんどがX Window Systemの実行を必要とする場合、OSはX +カーネルになります。

68
Sedat Kapanoglu

カーネルは、システムリソースへのアクセスを仲介するオペレーティングシステムの一部です。 CPU、メモリ、ディスクI/O、およびネットワークへのアクセスを制御することにより、複数のアプリケーションがハードウェアを効果的に共有できるようにする責任があります。

オペレーティングシステムは、カーネルとユーザーが何かを実行できるようにするアプリケーション(つまり、コンパイラ、テキストエディター、ウィンドウマネージャーなど)です。

69
Erich Douglass

そもそもこのために「カーネル」という言葉を得た元の比phorは忘れられたようです。比phorは、オペレーティングシステムがシードであるということです。シードの「カーネル」はオペレーティングシステムの中核であり、アプリケーションプログラムにオペレーティングシステムサービスを提供します。これは、ユーザーが外部から見るシードの「シェル」に囲まれています。

一部の人々は、「カーネル」(そして実際には「シェル」)をより具体的にするために結び付けたいと考えています。しかし、実際には、オペレーティングシステムにはさまざまなバリエーションがあります。少なくともこれらのバリエーションは、「シェル」を構成するものです(SolarisのshからNetwareのコンソールコマンドインタープリター、OS/2のWorkplace Shell、Windows NTのExplorerまで)が、オペレーティングシステムによって大きく異なります。 「カーネル」の一部であるものとそうでないもの(たとえば、ディスクI/Oを含む場合と含まない場合があります)。

これらの用語は比phorであることを忘れないでください。

参考文献

36
JdeBP

さて、カーネルとOSには違いがあります。上記のカーネルは、OSのコア機能を管理するOSの中心であり、いくつかの有用なアプリケーションとユーティリティがカーネルに追加されると、完全なパッケージがOSになります。そのため、オペレーティングシステムはカーネルスペースとユーザースペースで構成されていると簡単に言えます。

したがって、ファイルシステムユーティリティ、ウィンドウシステム、グラフィカルデスクトップ、システム管理者コマンド、テキストエディター、コンパイラなどのアプリケーションが含まれていないため、Linuxはカーネルであると言えます。 ubuntu、suse、centOS、redHatなどのオペレーティングシステムを提供します。

16
n.zia

カーネルはオペレーティングシステムの一部ですが、オペレーティングシステム自体ではありません。カーネルが行うすべてのことを説明するのではなく、ウィキペディアのページに進みます: http://en.wikipedia.org/wiki/Kernel_%28computing%29 。素晴らしい、徹底的な概要。

8
danben

オペレーティングシステムは、genericの名前であり、システム全体。

カーネルは、オペレーティングシステムの"brain"であり、ハードディスクへのアクセスからメモリ管理までをすべて制御します。あなたが何かをしたいときはいつでも、それはカーネルを通ります。

8
Kyle

カーネルはオペレーティングシステムの一部であり、ブートローダーがCPU(ほとんどのオペレーティングシステム)にロードする最初のものであり、ハードウェアとインターフェイスする部分であり、また、どのプログラムが何をできるかを管理しますハードウェア、それは本当にOSの中心部分であり、それはドライバで構成されています、ドライバは、たとえば、特定のハードウェアとインターフェイスするプログラムです。たとえば、コンピュータ用のデジタルカメラを作成した場合、作成する必要がありますそれのためのドライバー、ドライバーはコンピューターの入出力を制御できる唯一のプログラムです

7
noah

シンプルアンサー

カーネルは、オペレーティングシステムの中核部分です。それ自体がオペレーティングシステムであるとは限りません。

他のすべてはその周りに構築されます。

詳細な定義

カーネル(コンピューティング)-ウィキペディア

3
Justin Niessner

コンピューティングでは、「カーネル」はほとんどのコンピューターオペレーティングシステムの中心的なコンポーネントです。これは、アプリケーションとハードウェアレベルで実行される実際のデータ処理との間のブリッジです。カーネルの責任には、システムのリソース(ハードウェアコンポーネントとソフトウェアコンポーネント間の通信)の管理が含まれます。通常、カーネルはオペレーティングシステムの基本コンポーネントとして、アプリケーションソフトウェアがその機能を実行するために制御する必要のあるリソース(特にプロセッサとI/Oデバイス)の最低レベルの抽象化レイヤーを提供できます。通常、これらの機能は、プロセス間通信メカニズムとシステムコールを介して、アプリケーションプロセスで使用可能になります。

2
me_here

カーネルはOSに常駐します。実際には、OS機能を処理するために特別に用意されたメモリ空間です。OSがシステムのリソースを処理し、カーネルはOSの心臓部であり、OSを管理、つまり管理しているとさえ言う人もいます.

2
Raj

カーネルはオペレーティングシステムであるか、オペレーティングシステムの一部である可能性があります。 Linuxでは、カーネルが最初にロードされて実行されます。次に、OSの他のビット(initなど)を起動して、システムを有用にします。

これは、特にマイクロカーネル環境で当てはまります。カーネルの機能は最小限です。ファイルシステムやTCP/IPなど、その他はすべてユーザープロセスとして実行されます。

1