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