OS-9
[Wikipedia|▼Menu]
.mw-parser-output .hatnote{margin:0.5em 0;padding:3px 2em;background-color:transparent;border-bottom:1px solid #a2a9b1;font-size:90%}

Mac OS 9」とは異なります。

OS-9開発者Microware(英語版)
プログラミング言語C/C++, Pascal, COBOL, BASIC, Forth, Javaなど。
OSの系統Unix系
開発状況開発中
ソースモデルクローズドソース
初版1979年 (45年前) (1979)
最新安定版6.1 / 2017年11月14日 (6年前) (2017-11-14)
使用できる言語英語
プラットフォーム680x0, x86, ARM, SH, PowerPC
カーネル種別マイクロカーネル
既定のUICUIの全バーション, いくつかのプラットフォームを搭載するGUI
ライセンスプロプライエタリ
ウェブサイト ⇒Microware
テンプレートを表示

OS-9(オーエスナイン)は、マイクロウェアシステム(英語版)によってモトローラ8ビットMPUである6809のために開発されたリアルタイムオペレーティングシステム(以下、RTOS)である。当時マイクロウェアシステムはモトローラの依頼により共同でプログラミング言語BASIC09(英語版)を開発していた。この言語の開発・実行環境としてマイクロウェアが開発したのが OS-9 である。

その後680x0に移植され、さらにx86PowerPCSHARMなど幅広い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へロードするだけでも良い)。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:48 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef