ナノカーネル

ナノカーネル（）はMacintoshのオペレーティングシステム (OS) であったClassic Mac OSのうち、System 7.1.2からMac OS 9.2.2まで採用されていたカーネル。Mac OS 8.6からはマルチプロセッシングに対応し、プリエンプティブマルチタスクなどの機能を備える。

概要
System 7.1.2から採用されたカーネルで、それまでのカーネルからPowerPCに対して最適化を進める為に採用された。Mac OS 8.6以降では省電力化、高速化に成功したとされる。

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

実際
macOS以前のClassic Mac OSはよくプリエンプティブマルチタスクや、メモリ保護機能を欠いたOSと言われているが、実はClassic Mac OSのコアであるナノカーネルには両機能が備わっている。

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

出典

Classic Mac OS