Linuxカーネルに関する混乱

Linuxカーネルに関する混乱

カーネルの概念について本当に混乱しています。

カーネルはアプリケーションとハードウェアの間にあり、カーネルはアプリケーションから入力を受け取り、ハードウェアに処理の指示を送るということを知りました。

私の知る限り、Windows ではカーネルという単語は聞きません。

ここで疑問なのは、カーネルとは実際何なのかということです。

答え1

カーネルは、あなたが言う通りのものです。カーネルは、実行ファイルがハードウェアと通信できるようにします。簡単に言えば、ユーザーは高レベルのソフトウェア(たとえばGUIインターフェイス)と対話し、カーネルはCPUとデバイスへの要求を変換する役割を担っています(イメージソース):

ここに画像の説明を入力してください

カーネルはメモリ管理も担当し、すべてのデバイス(サウンドカード、グラフィックカード、キーボードなど)を処理し、プロセス管理を制御します。基本的に、カーネルはオペレーティングシステムです。それが「カーネル、OSの中核となります。

Windows を含むすべての OS にはカーネルがありますが、Windows の世界ではカーネルについてあまり語られません。なぜなら、カーネルについては何もできないからです。カーネルはクローズド ソースであるため、Microsoft 以外のだれも変更できません。そのため、コードにアクセスしたり、カーネルについて書いたりする人は少数です。しかし、カーネルは確かに存在します。現在の Windows カーネルは「NT カーネル」と呼ばれ、最近の (およびそれほど新しくない) Windows のバージョンはすべてカーネルに基づいています。

カーネルの詳細については、次のリンクを参照してください。

関連情報