| 開発者 | アップルコンピュータ |
|---|---|
| OSファミリー | |
| 作業状態 | 歴史的 |
| 初回リリース | 1988年2月 |
| プラットフォーム | Macintosh用コプロセッサ プラットフォーム( Motorola 68000 ) |
A/ROSE (Apple Real-time Operating System Environment) は、 Apple ComputerのMacintosh用拡張カードである「Macintosh Coprocessor Platform」上で動作する小型の組み込みオペレーティングシステムです。
そのアイデアは、サードパーティベンダーが実質的にあらゆる製品を構築できる単一の「過剰に設計された」ハードウェアプラットフォームを提供することで、NuBusベースの拡張カードの開発に伴う重い作業負荷を軽減することだった。しかし、MCPカードは高価であり、コンセプトの魅力を制限していた。A/ROSEはほとんど使用されておらず、シリアルI/O、イーサネット、トークンリング、およびTwinax用のApple独自のネットワークカードのみに限定されていたようだ。[1] GreenSpring Computersは、 A/ROSEを実行する68000 CPUを搭載したIndustryPack(IP)キャリアカードであるRM1260を開発し、データ収集市場を対象としている。
歴史

A/ROSE と MCP は、1987 年 8 月にMacintosh IIの開発中に誕生しました。開発者たちは、新しいシステム用のさまざまなネットワーク製品の開発中に、既存のクラシック Mac OSでは、遅延が大きく、複雑なデバイス ドライバの作成が難しいため、本格的なカードの作成が困難であることに気づきました。そこで、独自のMotorola 68000プロセッサ、メイン システムにミラーリングされた RAM の作業領域、独自の基本オペレーティング システムを備えた、実質的に 1 枚のカードにコンピュータ全体が収まる「インテリジェント」な NuBus カードを作成することが解決策となりました。システムの最初のバージョンは、1988 年 2 月に使用可能になりました。
A/ROSE は社内では MR-DOS (Multitasking Realtime Distributed Operating System) と呼ばれていましたが、Microsoft ( MS-DOSの開発元) はその名前を快く思わず、Apple に変更を迫りました。[要出典] A/ROSE を実行している Token Ring カードの QA エンジニアである Eric M. Trehus は、「A/ROSE はどんな名前で呼ばれても MR-DOS です」と言ったと伝えられています。[要出典]
A/ROSE は、その難解な目的が Macエンドユーザーには一般に理解されていないことと、Basilisk IIなどの多くの Macエミュレーターで起動時にシステム エラーが発生する原因となることで悪名高いです。
概要
A/ROSE は 28 KBと非常に小さく、カーネルは 6 KB です。A/ROSE は、タスクのラウンドロビン スケジューリングによるプリエンプティブ マルチタスクをサポートし、コンテキスト スイッチ時間は 110マイクロ秒、レイテンシはわずか 20 マイクロ秒です (保証された割り込み応答時間)。システムのタスクは主に、カード上でデータを移動し、タスクを開始および停止することであり、API全体に含まれる呼び出しは 10 個のみです。
A/ROSE はメッセージ パッシングシステムであり、そのプログラムが行う主な呼び出しはSend()とですReceive()。メッセージは短く、ユーザー データは 24 バイトのみで、非同期で送信されます。適切なエンドポイントを見つけるために、ネーム サーバーはアプリケーションが名前をタスク ID にバインドできるようにし、アプリケーションがシステム内を移動して動的に見つけられるようにします。OS には、他のカード上のタスクを検索、開始、停止するためのルーチンがいくつかあり、その 1 つはホスト コンピューターを表す仮想カードです。
通信を調整し、ホストの CPU と通信するためのメカニズムを提供するために、Mac OS 内では、システム拡張機能(「INIT」(「Prep」と呼ばれる) の形で A/ROSE の縮小版も実行されます。A/ROSE カードのデバイス ドライバは INIT であり、自動的に起動されます。起動後、デバイス ドライバは Prep スタブを見つけ、カードとの通信に提供される通常の A/ROSE 通信チャネルを使用します。
たとえば、Apple TokenTalk NB カードは INIT としてドライバーをインストールし、以前にインストールされていなかった場合はオプションで Prep スタブをインストールします。起動時にドライバーは Prep スタブを見つけ、マシンにインストールされている TokenTalk カードを列挙するように要求し、オプションでコードまたは設定をそれらにアップロードします。その時点から、Prep はカードとの通信を処理し、結果を TokenTalk ドライバーに渡します。
参考文献
- ^ Maurer, Joseph. 「MacintoshコプロセッサプラットフォームとA/ROSEの内部」。MacTech 。 2023年11月25日閲覧。
