コンテンツにスキップ

利用者:Bluebox/Sandbox

  1. ナノカーネル(nanokernel)はオペレーティングシステムカーネルの設計、実装思想のひとつ。マイクロカーネルよりもさらにコア部分の機能を限定し、軽量化を計ったものをこう呼ぶことがある。
  2. NanoKernelMac OSの8.6から9.2.2まで採用されていたカーネルマルチプロセッシングに対応し、プリエンプティブマルチタスクなどの機能を備える。詳細を以下に述べる。

概要

[編集]

NanoKernelとはMac OS 8.6から採用されたカーネルで、それまでのレガシなカーネルよりもPowerPCに対しての最適化が大幅に進んだ。結果、Mac OS 8.6では省電力化、高速化に成功したとされる。

NanoKernelはMac OSの最下層に位置し、割り込みの処理、MPTaskと呼ばれるネイティブスレッドスケジューリング、メモリ空間の割り当てと保護、クリティカルセクションの管理などOSの基本的な動作はすべてここで処理される。

実際

[編集]

Mac OS X以前のMac OSはよくプリエンプティブマルチタスクや、メモリ保護機能を欠いたOSと言われているが、実はMac OSのコアであるNanoKernelには両機能が備わっている。 実際、NanoKernelはプリエンプティブマルチタスキングカーネルとしてタイムスライシングを行っており、各スレッドはプライオリティに基づきスケジューリングされている。また、NanoKernelが存在、利用するメモリ領域はMMUによって保護されており、NanoKernelのみが動作しているPowerPCのスーパバイザモードからしか読み込み、書き込みともにアクセスできない。