コンテンツにスキップ

ナノカーネル

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。Bot2255 (会話 | 投稿記録) による 2011年12月15日 (木) 12:56個人設定で未設定ならUTC)時点の版 (lk修正(Bot試験))であり、現在の版とは大きく異なる場合があります。

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

概要

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

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

実際

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