Linux Kernel
カーネルという用語の意味とさまざまな種類のカーネルが何であるかを知りたいです。たとえば、カーネルMicrokernels
とカーネルの違いが何であるかを知りたいと思いますMonolithic
。この用語を簡素化し、たとえば、どうすればよいですか? WindowsやAndroidなどの他のシステムにもカーネルがあると聞きました。それでは、これらすべてのシステムのカーネル間の違いは何ですか?
ベストアンサー1
この用語はインターネットでよく扱われています!カーネルはを意味する用語ですthe core or the central or the most important part of something
。オペレーティングシステム(OS)の他のすべての部分に不可欠なサービスを提供します。オペレーティングシステムとハードウェアの間にブリッジを構築し、メモリ管理、割り込み処理、プロセス管理、デバイス管理と制御、ファイルシステムとネットワークをサポートします。
カーネルは、多くの場合、shell
ユーザーコマンドと対話するオペレーティングシステムの最も外側の部分であるオペレーティングシステムに例えられます。カーネルとシェルは、Unix
Linuxのコアプログラミング言語で広く使用されている用語です。カーネルは基本入出力システム(BIOS)ではなく、コンピュータ回路基板内のチップに格納されている別のプログラムです。カーネル、カーネルなど、さまざまな種類のカーネルがありますmicrokernels
。monolithic
hybrid
マイクロカーネルとモノリシックカーネル カーネルは、モノカーネルとマイクロカーネルの2つの主要なアーキテクチャに分けられます。これらのタイプの主な違いは、サポートするアドレス空間の量です。マイクロカーネルは別々のアドレス空間でユーザーサービスとカーネルサービスを委任しますが、モノリシックカーネルは同じアドレス空間でサービスを実装します。
マイクロカーネルのすべてのサービスはカーネルアドレス空間にあります。モノリシックカーネルは、同じアドレス空間にカーネルとユーザサービスを収容するので、より大きい。
2つの通信プロトコルも異なり、モノリシックコアはより高速なシステムコールを使用してハードウェアとソフトウェア間のプロセスを実行します。マイクロカーネルはメッセージングを使用して、パケット、信号、および機能を正しいプロセスに送信します。
マイクロカーネルは新しいサービスを追加するための柔軟性を高め、管理者はユーザーのアドレス空間を変更できます。新しいサービスをサポートするには、管理者がカーネル全体を再構築する必要があるため、カーネル全体でより多くの作業が必要です。
分離特性により、マイクロカーネルはより安全であり、アドレス空間内の1つのサービスが失敗しても影響を受けません。モノリシックコアは、サービスが失敗するとシステム全体がシャットダウンするため、システムに大きなセキュリティリスクをもたらします。
モノリシックカーネルはマイクロカーネルほど多くのソースコードを必要としないため、バグが発生する可能性が低くなります。
マイクロカーネルベースのオペレーティングシステムの例はMac OS X, Windows NT, QNX, L4 and HURD
。モノリシックカーネルの例はにありますUnix and Linux
。
モノリシックカーネルがマイクロカーネルよりはるかに古いということは注目に値します。この考えは1980年代後半に考案されました。
はい、すべてのシステムには、システムリソースを処理し、ソフトウェア/ハードウェアを接続するさまざまな方法がある独自のコア(カーネルなど)があります。