ビジネス/エンタープライズ ›  インテル用語集 ›  OS › 
マイクロカーネル
【micro kernel】

 

OS のハードウェア依存部分を必要最小限のレベルで分離独立させることで、マルチ・プロセッサー化による性能の向上や OS の多機能化を容易にする技術、またはこうした技術によって構成された OS のコア部分。
マイクロ・カーネルが提唱される以前、汎用大型計算機向けなどの従来型のオペレーティング・システムでは、ハードウェア管理から仮想メモリー管理、プロセス/タスク管理など、OS の機能のすべてを渾然一体として組み込んだモノリシック (monolithic) 型が一般的だでした。このモノリシック型の OS では、ハードウェア依存部分と非依存部分が明確に分離されておらず、あらゆる要素が複雑に関係し合っており、異なるアーキテクチャー上に OS を移植したり、OS の機能性を向上させたりすることが非常に困難でした。マイクロ・カーネル技術は、こうしたモノリシック型 OS の問題点や限界を克服するために考案されました。
マイクロ・カーネルでは、割り込み/例外処理などのハードウェアの管理部分やメモリー管理、プロセス/スレッド管理、プロセス間通信機能など、OS として必要最低限の機能を分離独立させ、これ以外の部分は、マイクロカーネルのサービスを利用するサブシステムとして構成します。このようにカーネルのコア部分と、その上で様々な機能性を OS に与えるサブ・システムを分離し、1 種のクライアント/サーバー 型モデルを OS 内部に導入することで、OS の機能性を向上させ、スケーラビリティーを向上させる (マルチプロセッサー システムへの対応や、さらに高性能な異なるハードウェアへの対応を円滑化させる) 。OS の内部は、コア部分と各種サブシステムで構成されており、例えばマルチプロセッサー環境では、各サブシステムを異なるプロセッサーで並列実行し、全体としての性能を向上させることなどが可能になります。またコア部分と各種サブシステム同士の独立性が高いので、新しいサブシテムを追加し、OS の機能性を向上させるなどが容易という特徴があります。
マイクロ・カーネル技術を応用した OS の実装例としては、カーネギー メロン大学で開発された Mach (マーク) オペレーティング・システムが有名です。Windows NT*/Windows 2000 の内部も、マイクロ・カーネル技術が活かされており、HAL (Hardware Abstraction Layer) と呼ばれるハードウェア依存部分を独立させています。ただし純粋なマイクロ・カーネル構成にしてしまうと、サブシステム間での通信や、サブシステム−コア OS 間でのコンテキスト・スイッチにかかるオーバーヘッドが大きく、実用性が損なわれるために、NT (Windows 2000) では、HAL と各サブシステム間に Executive (エグゼクティブ) と呼ばれる中間層を設け、ここにネットワーク・サービスやグラフィックス・サービスの機能を組み込むことで、オーバーヘッドを低減させるように工夫しています。

 
 
 
キーワード検索
 

 
索引
 

 
カテゴリー別
 



先頭へ戻る