Next: 3.3 カーネルモジュール
Up: 3 Linuxカーネルの基礎知識
Previous: 3.1 カーネル
カーネルのデザインには大きくモノリシックカーネルとマイクロカーネルがあ
る.マイクロカーネルが提唱される前は,ハードウェア管理,仮想メモリの資
源管理,プロセスやスレッドのタスク管理などカーネルの機能と一体として組
み込んだモノリシックカーネルが一般的だった.モノリシックカーネルではOS
に新しい機能を追加したければカーネルを全て再構築する必要がある.
これに対してマイクロカーネルは,ハードウェア管理,メモリ管理,タスク管
理等のカーネルの機能をユニットに分割して,これらの機能(サービス)を提
供するサーバとして稼動させる.OSに新しい機能を追加したければ新たにユニットをロードするだけでよく,OSのスケーラビリティが向上する.
モノリシックカーネルの例としてはLinuxがある.またマイクロカーネルの例
としてはCMUで開発されたMachカーネル,やこれを継承した Darwin(MacOSX).
また,WindowsXPもマイクロカーネル方式で実現している.
- モノリシックカーネル
- カーネルは一つの単一で巨大なプログラム
- カーネルのあらゆる機能コンポーネントが全ての内部データ構造やルーチンにアクセスできる
- 新しい機能を追加したければカーネルの再構築する必要性がある
- マイクロカーネル
- カーネルの機能部分はユニットに分割され,ユニット間の通信メカニズムが設定されている
- 新しい機能を使いたければユニットをロードすればよい
generated through LaTeX2HTML. M.Inaba 平成18年5月6日