RISC OSは、
ARMアーキテクチャシステム向けに設計された
グラフィカルユーザインタフェースベースの一連の
オペレーティングシステム(OS)です。その名前は、ARMが
RISC(Reduced Instruction Set Computing)アーキテクチャであることに由来します。
エイコーン・コンピュータが1987年に、自社製のパーソナルコンピュータ「Archimedes」向けに開発したのが始まりです。このOSは、コマンドラインインタフェースとウィンドウシステムを備えた
デスクトップ環境を提供します。
歴史
1988年から1998年にかけて、
RISC OSはエイコーン製のほぼ全てのARMベースコンピュータ(Archimedes、RiscPC、NewsPad、A7000など)にバンドルされていました。また、オラクルのネットワークコンピュータやその互換機では、
RISC OSの派生版であるNCOSが採用されていました。1998年にエイコーンが解体されると、
RISC OSの開発はいくつかの企業に引き継がれ、それぞれが独自の開発を継続しました。これらの企業には、
RISCOS Ltd、Pace Micro Technology、Castle Technologyなどが含まれます。
その後も、
RISC OSはIyonixやA9homeといったARMベースのデスクトップコンピュータに搭載され続けました。2012年現在でも、
RISCOS Ltdと
RISC OS Openコミュニティによって開発が続けられています。
RISC OSの歴史は、1987年のArthur 1.20に始まり、次のバージョンであるArthur 2から
RISC OS 2と名称が変更されました。
RISC OS 3.00は、新機能を搭載し1991年にリリースされました。1996年までに、50万システム以上の
RISC OSが出荷されました。しかし、1999年1月にエイコーンが
RISC OSの開発を公式に停止し、社名をElement 14に変更しました。
その後、新たに設立された
RISCOS LtdがElement 14からライセンスを取得し、
RISC OSの開発を継続しました。1999年7月には、
RISC OS 4としてリリースされました。
RISCOS Ltdは、2005年に生産停止となるまでに、
RISC OS 4.02を搭載したROMを6,400個出荷したと発表しています。
2001年5月には、ユーザーが最新のOSアップデートを利用できるようにする「
RISC OS Select」が開始されました。これは、ソフト的にロード可能なROMイメージ形式でリリースされ、ROM上のOSで起動時にロードすることが可能です。2002年から2004年にかけて、Select 1からSelect 3までがリリースされました。同時に、ROM版のバージョン4.39もリリースされ、これは3ボタンマウスを 'Select', 'Menu', 'Adjust' として使用できるもので、
RISC OS Adjustとも呼ばれています。
2002年10月には、Castle TechnologyがIyonix PCをリリースしました。このPCには、Paceが
セットトップボックス向けに改良したNCOSをベースとした
RISC OS 5が搭載されています。2006年10月には、Castleが
RISC OS 5を
シェアードソース型ライセンスで公開する計画を発表し、その管理を行う会社として
RISC OS Open Ltd.が設立されました。
また、同じ2006年10月には、
RISCOS Ltdが
RISC OS Sixを発表し、Select 4として出荷することを発表しました。2007年にはベータ版の
RISC OS 6, Preview 1 (Select 4i1) がリリースされ、Selectの購読者全員に無料で提供されました。2009年4月にはSelect 5が出荷され、同年12月には最新版のSelect 6i1が出荷されました。
サポートしているハードウェア
RISC OSは、様々なハードウェアプラットフォームに対応しています。ARMv3/ARMv4のRiscPC、ARMv5のIyonix、ARMv7ベースのCortex-A8プロセッサ(BeagleBoardやTouch Bookなど)で動作します。また、2011年にはCortex-A9ベースのPandaBoardへの移植が発表され、Raspberry Pi向けの開発版も公開されています。
さらに、
Microsoft Windows上で動作する商用エミュレータVirtualAcornもリリースされており、
RISC OSの利用をより身近にしています。かつては、
セットトップボックスのOSとしても利用されていました。
機能と特徴
OS中核部
RISC OSは、
マルチユーザーOSであり、協調型
マルチタスクを採用しています。多くのOSがプリエンプティブ
マルチタスクとマルチスレッドに移行する中で、
RISC OSは協調型
マルチタスクのままです。2003年頃には、プリエンプティブ
マルチタスクへの移行を求めるユーザーの声が高まりました。また、
メモリ保護機構も十分ではないという課題があります。
OSの中核部はROMに格納されており、高速な
ブートを実現し、OSの破損を防ぎます。
RISC OS 4および5は、4MBの
フラッシュメモリに格納されており、ROMチップを交換することなくOSの更新が可能です。OSは複数の
モジュールで構成されており、
モジュール単位で更新・追加が可能です。ROM内の
モジュールも、ROMチップを交換することなく更新できます。この設計により、OS開発者は
モジュール単位で更新が可能であり、サードパーティが
モジュールを更新・追加することも可能です。
モジュールへのアクセスにはソフトウェア割り込みが使用され、これは他のOSのシステムコールに類似しています。
多くのバージョンで、フィルタやベクタを扱うABIが定義されており、OSの動作に割り込んだり、変更したりする複数の方法が提供されています。これにより、OSの挙動を簡単に変更でき、OSの
ルック・アンド・フィールをカスタマイズするサードパーティ製プログラムが多数開発されています。
ファイルシステム
RISC OSの
ファイルシステムはボリューム指向であり、各ボリューム(ディスク、ネットワーク共有など)ごとにファイル階層が存在します。ファイルの種類は、
拡張子ではなく
メタデータで判別します。パス名は「
ファイルシステム種別::ボリューム名.$.ディレクトリ階層.ファイル名/
拡張子」の形式です。$はルートディレクトリを意味し、ディレクトリの区切りにはピリオド(.)を使用します。
拡張子は必須ではありませんが、外部から
拡張子付きのファイルをロードした際には、ピリオドがスラッシュに置き換えられます。
例えば、「ADFS::HardDisc4.$.」は、HardDisc4という名称のディスクのルートディレクトリを意味し、
ファイルシステムとしてはADFSを使用していることを示します。
RISC OSのファイル種別は、他のシステムでは3桁の16進数で「,xxx」のようにファイル名に添えることで保持できます。
クロスプラットフォームのソフトウェアを使う場合、他のシステムでのファイル種別が
RISC OS上では「/[extension]」という形式でファイル名に添えられます。
また、特定の種類のファイルをボリュームとして扱える
ファイルシステムもあり、これはループデバイスに似ています。OSではこの機能をイメージ・ファイリング・システムと呼び、アーカイブ形式のファイルを透過的に扱い、特殊なプロパティ付きのディレクトリ階層として表示します。アーカイブ内のファイルは、アーカイブ外へのシンボリックリンクでも構いません。ただし、2GBを超えるファイルはサポートされていません。
ファイルフォーマット
ファイルフォーマットの判別には、
メタデータを使用します。このマッピングはMimeMap
モジュールによって行われます。
カーネル
カーネル本体はシングルタスク型(協調型
マルチタスクはWindowManager
モジュールで提供)であり、割り込み処理、DMAサービス、メモリ割り当て、画面表示などを担当しています。
デスクトップ
GUIインタフェースは3ボタンマウスに対応しており、コンテキストメニュー、ウィンドウ表示順序制御、動的ウィンドウフォーカス(ウィンドウは画面上隠れていても入力フォーカスを得ることができる)などの機能を備えています。Dock風の
アイコンバーには、各ボリュームや動作中のアプリケーション、システムユーティリティなどを表す
アイコンが並んでいます。これらの
アイコンにもコンテキストメニューがあり、
ドラッグ・アンド・ドロップにも対応しています。
GUIはファイルをコンセプトの中心としており、Filerがディスクの内容を表示します。Filer内の
アイコンをクリックすることでアプリケーションを起動し、アプリケーションからFilerにファイルを
ドラッグ・アンド・ドロップすることで保存ができます。アプリケーションを格納するディレクトリはアプリケーションディレクトリと呼ばれ、通常のディレクトリとは区別するためにディレクトリ名の前に
感嘆符が付けられます。このようなディレクトリをオープンしなくても、ダブルクリックするだけでアプリケーションを起動できます。アプリケーションのファイル群とリソース群はこのようなディレクトリ配下にありますが、通常、その構成はユーザーからは隠されています。アプリケーションはアプリケーションディレクトリの形で
ドラッグ・アンド・ドロップすることでインストールおよび削除が可能です。
RISC OSのスタイルガイドは、全体の
ルック・アンド・フィールの統一を推奨しており、これは
RISC OS 3から導入され、アプリケーションの見た目と挙動を規定しています。エイコーンがOSにバンドルしていたアプリケーションは、スタイルガイドに準拠していませんでしたが、2001年に
RISCOS LtdがSelectをリリースした際に更新されました。
フォントマネージャ
RISC OSは、1989年1月以前からアウトラインフォントマネージャがフォントのアンチエイリアスを提供しており、この種の機能を搭載した世界初のOSでした。1994年の
RISC OS 3.5からは、それまでビットマップフォントを使用していた部分でもアンチエイリアスされたアウトラインフォントが使用できるようになりました。
バンドルされたアプリケーション
RISC OSには、
プリインストールされたデスクトップアプリケーション群(時計、ゲーム、ドローソフト、テキストエディタ、楽譜作成ソフト、ペイントソフトなど)が付属しています。
後方互換
新たなバージョンのOSやハードウェアへの
移植性は高くありません。BBC BASICで書かれたプログラムは比較的移植が容易ですが、デスクトップアプリケーションやゲームには深刻な後方互換性の問題があります。
1994年のRiscPCの登場と、その後のStrongARM向けのアップグレードにより、コード列と独自の
データ圧縮方式(AIF)で非互換問題が生じました。そのため、StrongARM向けのアプリケーションに
パッチを当て、AIFヘッダーに対して伸張を行うUnsquezeAIFというソフトウェアが提供されました。この非互換問題が、The ARM ClubによるGame On!とStrongGuardというソフトウェアのリリースを促進しました。これらのソフトウェアは、非互換性により動作できなかったソフトウェアを新システム上で動作できるようにするものです。A9home向けのOSでは、AIFヘッダーのないソフトウェアは「デスクトップの破壊」を防ぐため、動作できないように制限されました。
Iyonix PC(
RISC OS 5)とA9home(
RISC OS 4カスタム)では、26ビットのアドレッシングモードを廃止したため、さらなるソフトウェアの非互換性が生じました。その結果、活発に開発されていたアプリケーションの多くが書き換えられることになりました。静的コード解析で26ビット固有のコード列を検出するARMalyserも登場し、その出力を用いてソースコードがない古いアプリケーションを32ビット版にすることが可能となりました。一部の26ビット版ソフトウェアは、Aemulorというエミュレータを使用することで修正せずに動作させることができます。
BeagleBoardのARMv7やRaspberry PiのARMv6でも同様に非互換性が生じています。