 
 
 
 
 
   
 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日