元Acorn ArthurプロジェクトリーダーがRISC OSの起源を解説

Table of Contents

元Acorn ArthurプロジェクトリーダーがRISC OSの起源を解説

世界で最も長く使用されている GUI オペレーティング システムの 1 つは、緊急プロジェクトとして始まりました。具体的には、Acorn がオリジナルの Archimedes オペレーティング システムを救出するために計画した手段です。

これは、Acorn Arthur プロジェクトの元リーダーである Paul Fellows 氏によるもので、彼は RISC OS ユーザー グループ Of London (ROUGOL) で RISC OS の作成について講演しました ( Liam Proven – Ed による有益な手配の後)。

月曜日、筆者は Acorn の RISC OS の元開発者 4 名の再会会を主催し、司会を務めました。

フェローズ氏は、参加者は「ポール・フェローズ氏(VidC コントローラ、パレット、I2C インターフェイス、リアルタイム クロック、EEPROM)、ティム・ドブソン氏(フォント、オーディオ、ユーティリティ)、リチャード・マンビー氏(グラフィックスおよびデスクトップ)、スチュアート・スウェルズ氏(ファイルスイッチおよびヒープ マネージャ)」であると説明しました。

現在でもRISC OSは健在で、バージョン5はオープンソースとなっています。しかし、これはAcorn社のArchimedesコンピュータ用に当初計画されていたオペレーティングシステムではありませんでした。当初計画されていたのはARXでしたが、現在ではUsenetに数件の投稿がある以外はほとんど痕跡が残っていません。残っている情報はWikipediaの記事にまとめられています。

ARXは、パロアルトにあるAcorn Research Center(ARC)が行った、バズワードに非常に合致したプロジェクトでした。ARCは、今日私たちが知っているグラフィカルユーザーインターフェースの先駆者である、かの有名なゼロックスPARCに隣接しています。その設計は、野心的なUnixライクなものでした。

フェローズ氏の言葉を借りれば、「パロアルトにジム・ミッチェルという人物がいて、ARX開発チームを率いていました。カリフォルニアの高給取りのソフトウェアエンジニアたちが大勢参加して開発を進めていました。ARXは本当に素晴らしいものになったはずです。実現可能になるまでには、あと20年ほどムーアの法則が必要だっただけです。」

「この ARX オペレーティング システムは、プリエンプティブ マルチタスク、マルチスレッド、マルチユーザーであり、Acorn 拡張 Modula2+ で記述されています。」

当時の初期の Arm シリコンでは、大きくて複雑で、速度も遅いものでした。

ARCはA500コンピュータ上で開発を進めていました。「ARMベースの最初のプロトタイプマシン。1986年に製造され、A305/310より約12か月先行しています。…ケース内には20MBのハードドライブ、4MBのRAMを搭載したメインボード、そして4つのメインチップが搭載されています。当初はARM-1(3ミクロン)を搭載していましたが、開発期間中に乗算命令を備えたARM-2(2ミクロン)にアップグレードされました。」

ARCチームは英国Acornの経営陣に定期的に報告していましたが、経営陣はプロジェクトの進捗の遅さを懸念していました。Archimedesファミリーの発売に間に合わない可能性があったのです。AcornはすぐにFellowsとAcornsoftチーム(社内のソフトウェア開発・出版部門)に協力を依頼し、ARXが完成していない状況下でArchimedesの発売に間に合うよう、代替OSの開発を依頼しました。

フェローズ氏はこう付け加えた。「私はエイコーン社の取締役会に呼び出され、『ハードウェアは開発中だがソフトウェアがない。エイコーンソフトでは大した仕事ができない。BBCのようなOSを作ってくれないか?5ヶ月ある』と言われました。ハードウェアが市場に出るその時期がまさにその時だったのです。私は馬鹿みたいに『はい』と答えました」

この途方もなくタイトなタイムラインが、コードネーム「アーサー」の由来です。このコードネームでバージョン 1 のコードはTHUR sdayにAR isc として出荷されました。

Arthur がまとめられるにつれ、ARX OS チームは GUI とデモ アプリまで完成し、Acorn の幹部に OS のプロトタイプを披露できる段階に達しました。

21世紀のRISC OS:これは祖父の時代のアルキメデスとほぼ同じだが、1000倍高速だ

21世紀のRISC OS

ArthurはARXと並行してデモンストレーションを行うことが決定されました。これは、各プロジェクトの進捗状況と、どちらのOSが先に完成しそうかを経営陣に示すためです。Arthurの開発者にとって、初期段階のシンプルなOSが、洗練されたARXよりも優れていることを確実にすることは不可欠に思えましたが、どうすれば良いのでしょうか?

「大きな間違いでした。彼らはデモの内容について事前に伝えていたんです」とプロジェクトリーダーは語った。「それで、彼らは時間制限をギリギリまで押し込んで、『もう1つクリックして、これを複数同時に実行できますよ。でも、アーサーはマルチタスクができないから、そんなことはできませんよ!』と言ったんです。それで3つか4つクリックして、実際に実行させたんです」

「4 回目が起動すると、システムは仮想メモリを起動し、4MB のマシン上でスワッピングを開始し、時計の針が 16 秒ごとに動き始めました。」

ARXチームが前夜、デモアプリの内容を伝えていたため、Arthurチームは準備万端で臨みました。この時点で、Arthurは主にテキストモードのOSであり、以前のBBC Micro MOSとよく似ていました。

トリックは、マルチタスクに見える時計プログラムを巧みに組み上げることだった。しかし、実際には複数のタスクをこなす1つのプログラムでしかない。それがスムーズに動作するのを見て、Acorn社はArthurが比較的原始的ではあるものの、ユーザーを怒らせるほどではない程度にはうまく動作しているように見えたため、ローンチ時のOSとして最適だと確信した。ARXとその仮想メモリスワップは、もはやお手上げ状態だった。

Arthur デスクトップ環境も、実質的には実稼働環境にプッシュされたプロトタイプでした。

「これには教訓的な話があるんです」とフェローズは言った。「リチャード・マンビーは、ウィンドウマネージャとその機能、ビットマップフォントなどを使ったデモとして、BASICでこれ(Arthur Desktop)を書いたんです。アウトラインフォントマネージャはまだ完成していませんでした。デモウェアとして世に出たんです。ROMに焼き込まれ、起動時にもそのまま使われています。でも、これはウィンドウマネージャを使ったプログラムが書けるというデモだったんです!マーケティング部門を侮ってはいけません。彼らは必ずあなたを虜にします。デモを書けば、彼らはそれを売ってくれるんです。」

  • RISC-V InternationalがよりオープンなCPU仕様を発表
  • グラフィカルデスクトップシステム X Window が38周年を迎えました
  • 主要なArch Linux派生版Manjaroがバージョン21.3をリリース
  • RISC OS: 35年前に登場したオリジナルのArmオペレーティングシステムは健在

「何度も自分自身を描画できる BASIC プログラムを作成しました。完全な詐欺です!」

「ティム・ドブソンが時計プログラムを書いていたので、私たちは256KBのRAMを搭載したA305、Arthurデスクトップ、そして時計プログラムを持参し、16個のプログラムを実行したところ、スムーズに進みました…そしてARXは翌日キャンセルされました。」

驚くべきことに、RISC OSのマルチタスク機能は、ほとんど後付けでした。自動的にプリエンプトされるのではなく、協調型マルチタスクシステムとして構築され、アプリケーションはWimp_Pollと呼ばれるシステムコールを発行して次のプログラムに制御を引き継ぎました。各プログラムが少しずつ処理を行い、CPUを次のプログラムに渡すというプロセスを1秒間に何度も繰り返すことで、ユーザーはシームレスなマルチタスク環境を体験できました。

ニールの話に戻りますが、彼は魔法のようなアイデアを思いつきました。ある日、コーヒーマシンでこう言いました。「MEMC をいじればオーバーレイができるんだ。アプリケーション プログラムを取ってきて、メモリ コントローラを使ってそれをメモリ マップの別の場所にマッピングし、別のプログラムを 0x8000 (アプリケーションもそこにマッピングした) に置くことができる。BBC Micro の PAGE の論理的同等物で、オーバーレイができて、あるプログラムから別のプログラムに切り替えることができるんだ。」

「ニール、それはいいけど、なぜわざわざそんなことをする必要があるんだ?」と私は思った。すると彼は、私が今まで聞いた中で最も驚くべきアイデアを思いついた。「Wimp_Pollからの戻り値でこれをやれば、プログラムがWimp_Pollを呼び出しても、返答が返ってくる代わりに、それがスワップアウトされて他のプログラムにスワップインされ、そのプログラムが以前に呼び出したWimp_Pollからの戻り値を受け取るようになる。そうすれば、RISC OSという完全なマルチタスクシステムを実現できるんだ。」

欠点の一つは、バグのためにプログラムがWimp_Pollを呼び出さない場合、他のプログラムがCPUを利用できなくなり、デスクトップがフリーズしてしまうことです。RISC OSの後のバージョンでは、スタックしたアプリケーションを強制終了してデスクトップのロックを解除する手段が提供され、このアプローチを適切なプリエンプティブなものにするためのサードパーティ製コードがいくつかリリースされました。

RISC OS 5デスクトップのスクリーンショット

RISC OS 5デスクトップ

RISC OSは、今日一般的に記憶されている以上に影響力のあるシステムであることが判明しました。OSが管理するスケーラブルフォント、そして他のGUI OSが点線で囲むだけのアウトラインではなく、デスクトップ上でコンテンツごとリアルタイムにドラッグできるウィンドウに加え、アイコンバーという概念も導入しました。

ご存知のとおり、これは数年後に Windows 95 で登場したアイコン バーです。

「私は、次のようなページを見つけてとても嬉しく思いました。『Apple は、スティーブ・ジョブズの NeXTstep OS から Dock を獲得しましたが、NeXTstep OS はそれを 1987 年の Acorn の Arthur オペレーティング システムから盗んだものです。』」

「まさにその通り! 悲しいことに、当時はソフトウェアの特許を取得できませんでした。だから私が発明したのはこれです。画面下部にアイコンバーを配置するというアイデアを思いつきました。もし誰かがこのアイデアの出所を尋ねたら、私たちは部屋に座ってこう考えていました。『Appleに訴えられないように、どうデザインすればいいのか?』と。Macには画面上部にテキストのメニューバーがあったので、『画面上部を横切ることはできない。画面下部にアイコンを配置するしかない。テキストは使えない。だからアイコンを使うしかない』と。だからこうなったんです」とフェローズ氏は続けた。

「コルトン・ソフトウェアにいた人が、シアトルのマイクロソフトに入社したんです。そのすぐ後にWindowsにアイコンバーが加わりました。あのアイデアがどうやって生まれたのか、私は知っています。」

ROUGOLのウェブサイトには、数年前にフェローズ氏がRISC OSの歴史について行った講演の全文が掲載されています。また、月曜日の講演のビデオと講演録も近日中に公開される予定です。フェローズ氏は以前、このOSの開発についてもここで講演しています。®

Discover More