OS-9

OS-9とは



OS-9は、マイクロウェアシステムによって開発されたリアルタイムオペレーティングシステム(RTOS)です。元々はモトローラ8ビットMPUである6809向けに開発されましたが、その後、幅広いCPUに対応しました。その歴史、特徴、構造、採用事例について詳しく見ていきましょう。

OS-9の歴史



OS-9は、マイクロウェアシステムがモトローラからの依頼で共同開発したプログラミング言語BASIC09の開発・実行環境として誕生しました。当初は6809プロセッサ専用でしたが、その後、680x0シリーズ、x86、PowerPC、SH、ARMなど、多くのCPUに移植されました。2001年にはラディシス社に買収され、一部門となりましたが、2013年にマイクロウェアLP社として独立しました。現在も開発が続けられており、組み込みシステムを中心に活用されています。

OS-9の特徴



OS-9は、組み込みシステム向けに設計されたRTOSとして、以下のような特徴を備えています。

プリエンプティブ・マルチタスク



OS-9は、プリエンプティブ・マルチタスク方式を採用しており、複数のタスクを効率的に並行処理できます。これにより、リアルタイム性が求められるシステムにおいても安定した動作が可能です。

マルチプロセス



多くの組み込み用RTOSがスレッドモデルを採用する中、OS-9はプロセスモデルを採用しています。各タスクは独立したプログラムイメージを実行し、データモジュールと呼ばれる共有メモリ機能により高速なプロセス間通信を実現しています。また、POSIXに準拠したスレッドもサポートしています。

モジュール構造



OS-9の最大の特徴は、そのモジュール構造です。OSのすべての部分がモジュールとして構成されており、必要な機能だけを選択して使用できます。これにより、高い移植性、簡単なアップグレード、外部プログラムの常駐化、高いセキュリティ、容易なデバッグが実現します。

  • - 移植性: 新しいハードウェア環境への移植は、必要なモジュールを新たに作成するだけで簡単に行えます。
  • - アップグレード: 特定のモジュールのみを交換できるため、システム全体の再起動が不要な場合もあります。
  • - 外部プログラムの常駐: 外部記憶上のプログラムをメモリにロードし、ROM化されたモジュールのように常駐させることができます。
  • - セキュリティ: 各モジュールにはCRCが付与されており、モジュールディレクトリ登録時にチェックされるため、不正なモジュールがロードされるのを防ぎます。
  • - デバッグ: モジュール構造により、問題点の切り分けが容易になります。
  • - リビジョン管理: モジュールにはリビジョン番号とエディション番号があり、最新のモジュールが優先されます。
  • - ROM化: すべてのモジュールがリロケータブルであるため、ROMに直接書き込んで実行できます。
  • - 再入可能性: プログラムはリエントラントである必要があり、コード領域はプロセス間で共有できます。

メモリ保護



MMUを持つ環境では、メモリ保護機能が有効になり、システム空間とユーザー空間が分離されます。これにより、ユーザープロセスが他のプロセスやシステムを破壊するのを防ぎます。

マルチユーザー



OS-9は、組み込み用途だけでなく、マルチユーザー環境もサポートしており、UNIXライクなTSS環境を提供します。ユーザーやグループごとにアクセス権を設定できます。

UNIXライク



OS-9は、UNIXライクな開発環境を提供しており、シェルや階層構造のファイルシステムなどを備えています。

OS-9LAN



OS-9独自のLANであるOS-9LANにより、他のコンピュータの資源に透過的にアクセスできます。フルパスリストにコンピュータ名を追加するだけで、そのコンピュータのファイルやデバイスにアクセス可能です。

OS-9のモジュール



OS-9は、さまざまな種類のモジュールで構成されています。

カーネルモジュール



  • - kernel(カーネル本体)
  • - OS9p1(カーネルのうち起動に最小限必要な部分)
  • - OS9p2(OS9p1に含まれない残り部分)
  • - ioman(I/Oシステムの総合管理、後にkernelに吸収)

ファイルマネージャモジュール



  • - RBF(磁気ディスク装置
  • - SCF(コンソール
  • - SBF(テープ)
  • - PipeMan(パイプ)
  • - IBF(IEEE 488
  • - PCF(PC-DOSファイル)
  • - NVFM(非揮発性ファイルシステム
  • - CDFM(コンパクトディスク)
  • - NRF(非揮発性RAM)
  • - UCM(ユーザーコミュニケーション)
  • - DSM(ディスプレイ)
  • - GFM(グラフィックス)
  • - MFM(MAUI)
  • - NFM(ネットワーク)
  • - SOCKMAN(ソケット、OS-9/ISPに含まれる)
  • - IFMAN(通信インターフェース)
  • - PKMAN(仮想キーボード)
  • - SPF(ネットワークプロトコル)

デバイスドライバモジュール




デバイスディスクリプタモジュール



  • - 例:t0(デバイスのアドレス、設定値などを保持)

プログラムモジュール



  • - 例:shell、標準ユーティリティプログラム、コンパイラ

データモジュール



  • - 例:init(システム初期化定数)

その他




ダイナミックローディング



OS-9では、カーネル以外の多くのモジュールが、システムの稼動中に動的に追加、削除、更新できます。モジュールは利用中にアンロードされることはありません。

メモリ保護



MMUを持つハードウェア環境では、メモリ保護機能が有効になり、システムとユーザ空間が分離されます。

マルチユーザー



OS-9は、組み込み用途だけでなく、マルチユーザー環境もサポートしています。

UNIXライクな環境



OS-9は、UNIXライクな開発環境を提供しています。

OS-9LAN



OS-9には独自のLAN機能があり、他のコンピュータの資源に透過的にアクセスできます。

ウィンドウシステム



OS-9/680x0には、X Window System、Personal-Window、G-Windows、XiBase9などのウィンドウシステムが提供されていました。

OS-9の欠点



  • - 仮想記憶機能がないため、搭載された主記憶容量以上の記憶空間は使用できません。
  • - 製品として販売した場合、解析やコピーが容易であり、コピープロテクトが困難です。
  • - ハードウェアアクセスにドライバが必要なことに不満を感じるユーザーもいました。
  • - プロセス優先順位の逆転現象が存在しました。
  • - 2013年現在、OS-9単独では対称型マルチプロセッシングをサポートしていません。

OS-9/680x0



OS-9はモトローラの16ビットCPUである68000に移植され、その後、68020や68030などにも最適化されました。これらのOS-9/680x0は、産業用RTOSとして高いシェアを誇っていました。その理由は、680x0が産業用システムに広く採用されていたこと、ハードウェア資源を効率的に扱えること、移植が容易なことなどが挙げられます。また、ドライバモジュールのサンプルコードが豊富に提供され、セルフ開発が可能であったことも評価されていました。

OS-9000(マルチプラットフォーム化)



その後、OS-9はC言語で書き直され、OS-9000としてIntel 80386、MIPS、SPARCPowerPC、ARMなど、多くのCPUに移植されました。

OS-9が稼働する汎用コンピュータ



日本では、OS-9/6809が富士通FM-7/8、FM-11シリーズ、日立製作所ベーシックマスターレベル3シリーズに移植されました。また、シャープX68000シリーズには、独自のウィンドウシステムを搭載したOS-9/680x0が搭載されました。

OS-9が採用された代表的な機器



OS-9は、以下のような機器に採用されました。


評価と現状



当初、マイクロウェアはマルチメディア関連のミドルウェアが目的で買収されましたが、最終的に2013年3月にOS-9とMicrowareに関わる全権利がMicroware LPに譲渡されました。OS-9は現在も開発が続けられており、v6.0のリリースも予定されています。

関連書籍



(略)

外部リンク



(略)

脚注



(略)

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。