コンピューティングでは、カーネルとは何ですか?
ほとんどのコンピューターオペレーティングシステムでは、カーネルが中央のコンポーネントです。 ユーザーとアプリケーションとコンピューターハードウェアの間のブリッジです。 また、コンピューターが複数のユーザーと複数のタスクを同時に処理できるようにするメカニズムです。 カーネルのタイプは、モノリシックカーネル、マイクロカーネル、ハイブリッドカーネル、ナノカネル、およびエクソカネルです。
カーネルは、コンピューターのシステムリソースをすべて管理します。これには、長期ストレージ、中央処理ユニット(CPU)、短期メモリ、入力および出力デバイスが含まれます。 アプリケーションがこれらのリソースのいずれかを必要とする場合、カーネルはリソースを利用可能にし、リクエストを完了します。
このリソースの処理により、オペレーティングシステムがマルチユーザーとマルチタスクの両方になります。 オペレーティングシステムは、実際には一度に複数のタスクを実行しません。 代わりに、カーネルは高速でタスクを切り替え、コンピューターが複数のタスクを実行しているように見える。 カーネルalそのため、あるユーザーまたはプロセスが使用するリソースが別のユーザーまたはプロセスの要求に違反されないことを確認する責任があります。
2つの主なタイプのカーネルは、モノリシックカーネルとマイクロカーネルです。 モノリシックカーネルは、すべてのオペレーティングシステムサービスがカーネルスペースと呼ばれる同じアドレススペースで実行されるリソース管理の監督方法を採用しています。 一部のモノリシックカーネルは、実行可能モジュールをロードおよびロードできます。 これにより、オペレーティングシステムの機能が拡張され、一度にカーネルスペースで実行されている最小限のコードを維持します。
マイクロカーネルは、メモリ管理、スレッド管理、カーネル空間でのプロセス間通信など、最小限のオペレーティングシステムサービスのみを実行します。 デバイスドライバー、ユーザーインターフェイス、ファイル管理など、他のすべてのサービスは、ユーザースペースで実行されます。 マイクロカーネルカーネルモードで実行されているコードの量を厳しく最小化します。
ハイブリッドカーネルは、モノリシックとマイクロカーネルの組み合わせです。 ほとんどのオペレーティングシステムのシステムサービスは、モノリシックカーネルのようにカーネルスペースで実行されます。ファイルシステムやウィンドウシステムなど、ユーザースペースで実行される他のサービスがあります。
他のカーネルタイプは、ナノカネルとエクソカネルです。 Nanokernelは、デバイスドライバーを使用して、ほとんどすべてのサービスを処理します。 Exokernelはプログラムを使用して物理リソースを割り当てます。