AmigaOS (アミガOS)とは
AmigaOSは、
1985年にコモドール社によって開発された
パーソナルコンピュータ「
Amiga」専用の
オペレーティングシステムです。当初は
モトローラ68kシリーズのプロセッサで動作していましたが、後のバージョンでは
PowerPCプロセッサにも対応しました。
AmigaOSは、当時としては先進的な
マルチタスク機能と
カラーグラフィックスを特徴とし、欧米を中心に高い人気を博しました。
AmigaOSは、以下の要素で構成されています。
Exec: プリエンプティブ・マルチタスクを実現するカーネル。
AmigaDOS: ディスク
オペレーティングシステム。
Intuition: ウィンドウシステムAPI。
Workbench: グラフィカル[[ユーザインタフェース]] (GUI)。
AmigaShell: コマンドラインインタフェース (CLI)。
GUIとCLIは補完的な関係にあり、同等の機能を提供します。
歴史
1985年のリリース当初から、AmigaOSはマルチタスクとカラーグラフィックスという先進的な機能を備えていました。しかし、1994年にコモドールが倒産し、一時的に販売が停止しました。その後、Amigaの資産は複数の企業に渡り、1999年にAmiga.intによってAmigaOS 3.5がリリースされましたが、大きな特徴はなく売り上げは低迷しました。2004年にはAmigaOS 4.0が登場し、新機能が多数追加され、評判を回復しました。
現在、Amigaの知的財産はAmiga Incが所有しており、AmigaOS 4の開発を監督しています。実際の開発はHyperion Entertainmentが担当しており、2009年にAmigaOS 3.1の独占的権利とAmigaOS 4.x以降のバージョンを販売する権利を獲得しました。2015年にはAmigaOS 3.1のソースコードがインターネットにリークされました。
欧米と日本の人気度の差
AmigaOSは、欧米ではその先進性、高性能、優れたデザイン性で非常に高い人気を誇りました。特に、マルチタスク性能とグラフィックス処理能力は高く評価されました。
一方、日本では、マルチバイト文字への対応が遅れたため、日常的な文書作成には不向きでした。そのため、一般向けの販売は伸び悩み、広く知られることはありませんでした。ただし、テレビ業界では、CGアニメ制作にAmigaが使用されたことで、一部で知られていました。
コンポーネント
AmigaOSは、ROM上のKickstartとディスク上のWorkbenchに分かれています。
Kickstart: ブートストラップROM。
Amigaのハードウェアを起動するために必要なコードと、OSの中核コンポーネントを含みます。
PC/AT互換機|PC_AT互換機のB
IOSとOS
カーネルに相当します。
Workbench: 標準のグラフィカルデスクトップ環境。作業台(ワークベンチ)のメタファーを使用しています。ディレクトリは「引き出し」、実行ファイルは「工具」、データファイルは「プロジェクト」と表現されます。
Kickstartの詳細
Kickstartは、Amigaの起動時にハードウェアの診断や初期化を行い、OSの中核コンポーネントを起動します。ブートデバイスからOSをロードし、ユーザーにデスクトップ環境を提供します。
Workbenchの詳細
Workbenchは、Amigaの標準的なデスクトップ環境を提供します。独自の「マルチスクリーン」機能を持ち、複数の画面を同時に表示できます。また、直感的な操作性を持つGUIは、Mac OSに似ています。ウィンドウシステムであるIntuitionを基盤としており、画面制御や入力処理、メッセージパッシングを行います。
AmigaOS 2.0では、標準ウィジェットセットが導入され、統一感のあるユーザーインターフェースが実現しました。また、アプリケーションが他のアプリケーションと共有可能なスクリーンを作成できるようになったり、オンラインヘルプシステム「AmigaGuide」が導入されました。さらに、入力イベントを詳細に調べることができる「Commodities」が導入され、ホットキー機能も利用できるようになりました。AmigaOS 2.1では多言語対応のためにlocale.libraryが導入されました。
AmigaDOSは、AmigaOSのディスクオペレーティングシステムです。ファイルシステム、ファイルとディレクトリの操作、コマンドラインインタフェースなどを提供します。初期のバージョンではBCPLで記述されていましたが、後のバージョンではC言語とアセンブリ言語で書き直されました。ファイル拡張子は必須ではなく、プログラムはマジックナンバーで識別します。
グラフィックス機能
初期のAmigaOSでは、Amigaのチップセットのみをサポートしていましたが、後にretargetable graphics (RTG) が導入され、サードパーティ製のグラフィックスカードも利用できるようになりました。3Dグラフィックス機能は標準化されていませんでしたが、3DCG制作プラットフォームとして広く使われました。intuition.library、GadTools、Magic User Interface (MUI)などのGUIライブラリが存在し、現在のAmigaではSDLエンジンが広く利用されています。
オーディオ機能
初期のAmigaOSでは、Amigaのチップセットのサウンド機能のみをサポートしていましたが、後にAHI (Audio Hardware Interface) が導入され、サードパーティ製のオーディオカードも利用できるようになりました。MIDIはAmigaOS 3.1から正式にサポートされました。
Amigaには当初から音声合成機能があり、テキストを音声に変換できました。教育ソフトなどで多く利用されました。しかし、Workbench 2.1以降では音声合成機能が省かれました。
ARexx
AmigaOSは、ARexxというスクリプト言語をサポートしており、アプリケーション間の連携や自動化に利用できます。プログラムは「ARexxポート」を通じてメッセージを受け渡し、プログラム間でメモリ上で直接データをやり取りできます。
AmigaOSには、動的にサイズが変わるRAMディスクがあり、高速なデータアクセスが可能です。また、固定サイズのRAMディスクもサポートしています。
Kickstartは、ブート可能なデバイスからブートを試みます。ブートブロックにはブート命令が格納されており、OSをロードします。ブートブロックはウイルス攻撃の対象となることもありました。
技術概要
AmigaOSのモジュール化は、動的読み込みの共有ライブラリを中心に構成されています。ライブラリ関数へのアクセスは間接ジャンプテーブルを介して行われ、実行時にパッチを当てたりフックしたりできます。カーネルであるexec.libraryは、タスクスケジューリングとプロセス間通信を効率的に行います。カーネルは特権モードではなく、ユーザーモードで動作します。デバイスドライバもライブラリとして提供され、標準化されたインターフェースでアクセスされます。
Datatypes
Datatypesは、Amiga独自のデータファイル管理システムです。さまざまな形式のデータファイルを読み書きするための集中型システムであり、対応するdatatypeが存在すれば、あらゆる画像ファイルなどを扱うことができます。
デバイスやリソース管理は、ハンドラと呼ばれるタスクによって行われます。ファイルシステム・ハンドラを使うことで、さまざまなファイルシステムを扱うことができます。ハンドラは、デバイス名やボリューム名でアクセスでき、入出力チャネルの指定などに使われます。アサイン機能により、論理パスでファイルにアクセスできます。AmigaOSでは、SYS:、C:、DEVS:、L:、LIBS:、S:、PROGDIR:といった標準的なアサインが使用されます。
AmigaOS 4.0以降では、ページングメモリ機能が導入され、物理メモリを効率的に管理できるようになりました。また、スワップパーティションを作成することで、メモリ不足を解消できます。
他のOSへの影響
AmigaOSからは、AROSやMorphOSといったクローンOSが誕生しています。DragonFly BSD、BeOS、AtheOS、Syllable、3DO Interactive Multiplayerなど、他のOSにもAmigaOSの技術やコンセプトが影響を与えています。
イースターエッグ
AmigaOSには、著作権メッセージなどのイースターエッグが隠されています。特定のキー操作やメニュー操作で表示させることができます。
脚注・出典
Amiga'>Amiga
AmigaOne'>AmigaOne
平沢進
岩井俊雄
Guru Meditation
外部リンク
AMIGA (英語)
www.chiptune.com (JavaScriptによるAmigaDOS1.3のエミュレート)
AmigaOS Support homepage
The Workbench Nostalgia Page – AmigaOSの各バージョンの非常に詳細な情報
Reference Library
Amiga Developer Help Site
Amiga_uses'>Famous
Amiga Uses