「Mac OS 9」とは異なります。
OS-9開発者Microware
(英語版)OS-9(オーエスナイン)は、マイクロウェアシステム(英語版)によってモトローラの8ビットMPUである6809のために開発されたリアルタイムオペレーティングシステム(以下、RTOS)である。当時マイクロウェアシステムはモトローラの依頼により共同でプログラミング言語BASIC09(英語版)を開発していた。この言語の開発・実行環境としてマイクロウェアが開発したのが OS-9 である。
その後680x0に移植され、さらにx86、PowerPC、SH、ARMなど幅広いCPUに対応した。2001年にラディシス社によってマイクロウェアシステムが買収されて一部門となり、2013年に販社グループに売却されてマイクロウェアLP社として独立した。 OS-9は、プリエンプティブ・マルチタスク(詳細はプリエンプションも参照のこと)をおこなうRTOSである。 多くの組み込み用RTOSでは、全ての実行コードを単一のロードイメージにリンクしてメモリに展開・実行するので、並行実行されるタスクはスレッドモデルであることが一般的だが、OS-9では各タスクは独立したプログラムイメージ(プログラムテキストは複数タスクで共有可)を実行するプロセスモデルである。 プロセスモデルでは各タスクは論理的に独立しているのでタスク間のデータの共有や通信にコストがかかりがちだが、OS-9では「データモジュール」と呼ばれる一種の共有メモリ機能で高速なプロセス間通信を提供している。ただし、タスク間通信に不可欠なセマフォが提供されたのはかなり後のことである。また後のバージョンではPOSIXに準拠したプロセス内の複数スレッドをサポートする。 OS-9/6809レベル2ではMMUを使った仮想アドレス空間をサポートしたが、その他のバージョンでは単一のアドレス空間しか持たないフラットメモリモデルである。OS-9/6809レベル2及びOS-9/68030以降のバージョンではハードウェアによるプロセス間のメモリ保護機能がある。 OS-9での新プロセス作成はUNIX流の現在のプロセスのコピーではなく、(仮想アドレス空間を持つOS-9/6809レベル2でさえ)実行プログラムを指定するWindowsの「spawn」に近いモデルである。これは、ベース(セグメント)レジスタを持たないCPUアーキテクチャでフラットメモリモデルを採用する限りある程度必然であり、UNIXでも多くの場合せっかくコピーした子プロセスの元の実行イメージは捨てられてexecで新しい実行イメージに置き換えられることを考えれば効率的でもある(マイクロウェアはこれを逆手にとって「OS-9のforkはUNIXよりX倍速い」と喧伝していた)。 OS-9を構成するすべての部分は、モジュールと呼ばれる統一された構造を持っており、必要な機能だけを選択して使用することができ、自由度の高い構造になっている。これにより、OS-9は以下の特徴を有する。
特徴
プリエンプティブ・マルチタスク
マルチプロセス
モジュール構造
移植性が高い
移植に必要なモジュールだけを新たに作成すればよい。個々のモジュールも容易に作成可能。
アップグレードが簡単
対象モジュールのみ交換可能。再起動を必ずしも必要としない。
外部プログラムを主記憶に常駐させる事が簡単
主記憶 (ROM/RAM) 上のモジュールはモジュールディレクトリと呼ばれるファイルシステムのディレクトリに似た構造で管理される。外部記憶上のプログラムも予めロードする事によりROM化されたモジュールと同様に主記憶上に常駐した状態にすることが可能[1][2]。
セキュリティに強い
各モジュールにCRCがあり、モジュールをモジュールディレクトリへ登録する際にチェックされるため、正当なモジュールのみメモリにロード可能[3]。
デバッグが簡単
OS自体が構造化されているため、問題点の切り分けが行いやすい。
リビジョン/エディション
モジュールにはリビジョン番号とエディション番号があり、同一名のモジュールがメモリ中に複数ある場合、最新のモジュールのみ有効となる。ROM化されたシステムをアップグレードする場合、古いモジュールを削除することなく、新しいモジュールのROMを追加するだけでよい(あるいは外部記憶上の新しいモジュールをRAMへロードするだけでも良い)。
Size:48 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)』
担当:undef