AmigaOS (アミガOS)は、パーソナルコンピュータ Amiga 専用 せんよう のOS である。アメリカ合衆国 あめりかがっしゅうこく のコモドール が1985年 ねん に開発 かいはつ し、Amiga 1000と共 とも にリリースした。初期 しょき のバージョン (1.0-3.9) はモトローラ の68k シリーズの16ビット および32ビット のマイクロプロセッサ で動作 どうさ し、新 あたら しいAmigaOS 4はPowerPC マイクロプロセッサでのみ動作 どうさ する。
Amiga 500 (1987年 ねん )
AmigaOSは、1985年 ねん に販売 はんばい が開始 かいし されたときから、マルチタスク とカラー グラフィックスに対応 たいおう するなど、当時 とうじ としては先進 せんしん 的 てき な機能 きのう が備 そな えられていた。Execと呼 よ ばれるプリエンプティブ・マルチタスク 型 かた カーネル の上 うえ に、Amigaの独特 どくとく なハードウェアの抽象 ちゅうしょう 化 か 層 そう があり、ディスクオペレーティングシステムのAmigaDOS 、ウィンドウシステムAPI のIntuition 、グラフィカルユーザインタフェース (GUI) のWorkbench が載 の っている。また、コマンド行 ぎょう インタフェース (CLI) のAmigaShell もシステムに含 ふく まれている。GUIとCLIは相補 そうほ 的 てき であり、同等 どうとう の機能 きのう を有 ゆう する。
John C. Dvorak は1996年 ねん に、次 つぎ のように記 しる した。
AmigaOSは
過去 かこ 20
年間 ねんかん の
中 なか でも
最 もっと も
偉大 いだい なオペレーティングシステムの1つであり、
小 ちい さなカーネルと
素晴 すば らしい
マルチタスク 機能 きのう を
有 ゆう していた。
同等 どうとう のマルチタスク
機能 きのう はごく
最近 さいきん の
OS/2 や
Windows NT まで
見 み られなかった。
最大 さいだい の
違 ちが いは、AmigaOSがたった250KBのアドレス
空間 くうかん で
完全 かんぜん なマルチタスクを
実現 じつげん していた
点 てん である。
今日 きょう でもこのOSのサイズは
約 やく 1MBほどしかない。そして、
現在 げんざい のCD-ROMでロードするメモリを
食 く うOSでできることで、Amigaでできなかったことはほとんどない。これほど
緻密 ちみつ なコードは
存在 そんざい しない。
私 わたし は10
年 ねん ほどAmigaを
所有 しょゆう している。
私 わたし が
使 つか ってきた
中 なか でも
最 もっと も
信頼 しんらい のおける
機器 きき である。
驚 おどろ くべきことだ!
大勢 おおぜい の
熱狂 ねっきょう 的 てき 信者 しんじゃ がいるのもうなずける。AmigaはLinuxやUnixクローンとは
異 こと なるカルト
的 てき ともいえる
活発 かっぱつ なコミュニティを
刺激 しげき し
続 つづ けている。
[1]
ただし(Macintosh との競争 きょうそう に敗 やぶ れるなどして[2] )1994年 ねん にコモドールが破産 はさん してしまい、一時 いちじ は販売 はんばい が停止 ていし してしまった。その後 ご 、コモドールの資産 しさん は数 すう 多 おお くの企業 きぎょう に渡 わた り、コモドール破産 はさん から5年 ねん 後 ご の1999年 ねん に、新 あら たに誕生 たんじょう したAmiga.intによって数 すう 年 ねん ぶりにAmigaOS 3.5が販売 はんばい されたものの、これには先進 せんしん 的 てき な機能 きのう が備 そな えられておらず、特 とく にこれといった特徴 とくちょう もなかったため売 う り上 あ げは低迷 ていめい した。
だが2004年 ねん には、一気 いっき にバージョンアップされたAmigaOS 4.0が発表 はっぴょう され。こちらは一新 いっしん され、新 しん 機能 きのう が多数 たすう 増加 ぞうか され、評判 ひょうばん は良 よ くなった。
2006年 ねん 12月24日 にち にはAmigaOne 向 む けのAmigaOS 4.0がリリースされた。
現在 げんざい のAmigaの知的 ちてき 資産 しさん を所有 しょゆう するのはAmiga Inc である。同社 どうしゃ はAmigaOS 4の開発 かいはつ を監督 かんとく する立場 たちば にあるが、実際 じっさい の開発 かいはつ はHyperion Entertainment に委託 いたく している。2006年 ねん 12月 がつ 20日 はつか 、Amiga IncはHypelionのAmigaOS 4の開発 かいはつ ライセンスを終了 しゅうりょう させた。しかし、2009年 ねん 9月 がつ 30日 にち 、HyperionはAmigaOS 3.1の全 ぜん 世界 せかい での独占 どくせん 的 てき かつ永久 えいきゅう 的 てき な使用 しよう ・開発 かいはつ ・改変 かいへん ・販売 はんばい ・配布 はいふ の権利 けんり とAmigaOS 4.xとその後 ご の(AmigaOS 5 を含 ふく む)バージョンを販売 はんばい する権利 けんり を獲得 かくとく した[3] 。
2015年 ねん 12月にAmigaOS 3.1のソースコード がwebにリークされた。権利 けんり を持 も つHyperionもリークしたという事実 じじつ は認 みと めた[4]
欧米 おうべい と日本 にっぽん の人気 にんき 度 ど の差 さ
北 きた アメリカ やヨーロッパ では、Amiga OSが小 しょう サイズなのに開発 かいはつ コンセプトが良 よ くて高性能 こうせいのう であること、当時 とうじ としてはAmigaOSで出来 でき ることが画期的 かっきてき であったこと、またデザインの良 よ さでも人気 にんき が非常 ひじょう に高 たか かった。欧米 おうべい では、マルチタスクで画像 がぞう 処理 しょり でも日常 にちじょう の文書 ぶんしょ 処理 しょり でも使 つか える優秀 ゆうしゅう なOSとして評価 ひょうか が非常 ひじょう に高 たか かった。
日本 にっぽん では、テレビ業界 ぎょうかい の人々 ひとびと には、子供 こども 向 む けテレビ番組 ばんぐみ の『ウゴウゴルーガ 』のCG アニメでAmigaが使用 しよう された場面 ばめん が出 で たことでかなり有名 ゆうめい である。
ただしAmigaはマルチバイト文字 もじ への対応 たいおう に消極 しょうきょく 的 てき であったため、日本語 にほんご の「文書 ぶんしょ 」を扱 あつか うのには不向 ふむ きで、一般人 いっぱんじん への日常 にちじょう 用途 ようと での販売 はんばい は全然 ぜんぜん 伸 の びず、一般 いっぱん の日本人 にっぽんじん にはあまり知 し られないままになってしまった。
AmigaOSは、ROM 上 うえ のKickstart とディスク上 じょう のWorkbench に分 わ かれている。KickstartとWorkbenchは同時 どうじ にリリースされ、それぞれ対応 たいおう したバージョン同士 どうし で使 つか うようになっていた。しかし、コモドール がKickstartの開発 かいはつ をやめたため、Workbench 3.5以降 いこう はKickstart 3.1のROMにブート時 じ にパッチ をあてる形 かたち で対応 たいおう していた。
Kickstart はブートストラップ ROMである。Kickstartには標準 ひょうじゅん 的 てき なAmigaハードウェアをブートするのに必要 ひつよう なコードと、AmigaOSの中核 ちゅうかく コンポーネントの多 おお くを含 ふく んでいる。Kickstartの機能 きのう はPC/AT互換 ごかん 機 き で言 い えば、BIOS とOS のカーネル の主要 しゅよう 部分 ぶぶん に相当 そうとう する。しかし、Kickstartはブート時 じ に典型 てんけい 的 てき なPCよりも多 おお くの機能 きのう を提供 ていきょう でき、例 たと えば完全 かんぜん なウィンドウ環境 かんきょう が立 た ち上 あ げ途中 とちゅう でも利用 りよう 可能 かのう である。
KickstartにはAmigaOSの Exec 、Intuition 、AmigaDOS 中核 ちゅうかく 部 ぶ 、Autoconfig によって拡張 かくちょう ハードウェアを使 つか う機能 きのう などが含 ふく まれる。つまり、Amigaは電源 でんげん を入 い れただけでOSの基本 きほん 的 てき 部分 ぶぶん の多 おお くを既 すで に使 つか える状態 じょうたい になっている。後 ご のバージョンではIDE およびSCSI コントローラのドライバやPCカード ポートのドライバなど、Amiga本体 ほんたい に追加 ついか されたハードウェアのドライバが追加 ついか されている。
立 た ち上 あ げ時 じ やリセット時 じ 、Kickstartは診断 しんだん やシステムチェックを行 おこな い、Amigaのチップセット を初期 しょき 化 か し、OS中核 ちゅうかく コンポーネントを初期 しょき 化 か する。次 つぎ に接続 せつぞく されているブートデバイスを調 しら べ、優先 ゆうせん 度 ど の高 たか い方 ほう からブートを試 こころ みる。ブートデバイスが全 まった くない場合 ばあい 、ユーザーに対 たい してブートデバイス(通常 つうじょう フロッピーディスク)を挿入 そうにゅう するよううながすメッセージをディスプレイに表示 ひょうじ する。
Workbench はAmiga 用 よう の標準 ひょうじゅん のグラフィカル・デスクトップ環境 かんきょう である。WorkbenchはOSそのものではなく、その上 うえ で動作 どうさ するデスクトップ環境 かんきょう である。ソフトウェアを動作 どうさ させるのにWorkbench環境 かんきょう は必須 ひっす ではない。実際 じっさい 多 おお くのゲームは自前 じまえ でハードウェアとメモリを制御 せいぎょ するため、Kickstartから直接 ちょくせつ ブートできるようになっていた(フロッピーディスク 上 うえ にブートブロックがある)。
名前 なまえ が示 しめ す通 とお り、作業 さぎょう 台 だい (ワークベンチ)のメタファー を使 つか っており、厳密 げんみつ にはデスクトップではない。ディレクトリは「引 ひ き出 だ し」、実行 じっこう ファイルは「工具 こうぐ (ツール)」、データファイルは「プロジェクト」、GUIウィジェットは「小道具 こどうぐ (ガジェット)」とされている。多 おお くの面 めん でインタフェースはMac OS に似 に ている。メインデスクトップには挿入 そうにゅう されているディスクのアイコンとハードディスクドライブのパーティションのアイコンが表示 ひょうじ され、それぞれのスクリーンの上部 じょうぶ に1つのメニューバーがある。Macintoshとは異 こと なり、マウスは2ボタン式 しき だったが、右 みぎ ボタンだけでMacintoshのようにプルダウンメニューを操作 そうさ できる(ボタンを離 はな したときに選択 せんたく される)。
AmigaOS独特 どくとく の機能 きのう として「マルチスクリーン」がある。AmigaOSのスクリーンはWorkbenchのデスクトップ環境 かんきょう を必要 ひつよう としない。それらのスクリーンは概念的 がいねんてき には X Window System の仮想 かそう デスクトップやワークスペースに似 に ているが、必要 ひつよう に応 おう じてアプリケーションプログラムが動的 どうてき に生成 せいせい する。それぞれのスクリーンは解像度 かいぞうど や色 いろ 深度 しんど をそれぞれ別々 べつべつ に設定 せってい できる。スクリーンの右 みぎ 上端 じょうたん のガジェットでスクリーンを切 き り替 か える。OSが全 ぜん スクリーンの内容 ないよう をメモリ上 じょう に保持 ほじ しており、描画 びょうが をその時点 じてん で素早 すばや く行 おこな う。スクリーン上端 じょうたん のタイトルバーでスクリーンを上下 じょうげ にドラッグすることもできる。かつてのAmigaは専用 せんよう チップセットの機能 きのう を使 つか ってこれを実現 じつげん していたが、AmigaOS 4では新 あら たな技法 ぎほう を採用 さいよう しており任意 にんい の方向 ほうこう にスクリーンをドラッグできる。異 こと なるスクリーン間 あいだ でのドラッグ・アンド・ドロップもできる。
Workbenchの基盤 きばん となっているのがIntuition というウィンドウシステムである。スクリーン / ウィンドウ / ガジェットの制御 せいぎょ と描画 びょうが 、キーボードとマウスの入力 にゅうりょく の処理 しょり 、プログラムへのメッセージパッシングなどを行 おこな う。
AmigaOS 2.x でのユーザインタフェースの改善 かいぜん [ 編集 へんしゅう ]
AmigaOS 2.0 までは統一 とういつ 的 てき なルック・アンド・フィール のデザイン標準 ひょうじゅん は存在 そんざい しなかった。アプリケーション開発 かいはつ においてはそれぞれが自前 じまえ のウィジェット(ボタンやメニュー)を用意 ようい する必要 ひつよう があり、Intuitionが提供 ていきょう するサポートは最小限 さいしょうげん の範囲 はんい だった。AmigaOS 2.0には標準 ひょうじゅん ウィジェットセットを提供 ていきょう するgadtools.library が追加 ついか され、ルック・アンド・フィールのガイドラインとなるAmiga User Interface Style Guide ができた。
また、それまでWorkbenchのスクリーンが唯一 ゆいいつ の共有 きょうゆう 可能 かのう スクリーンだったが、2.0以降 いこう ではアプリケーションが他 た のアプリケーションと共有 きょうゆう 可能 かのう なスクリーンを作成 さくせい できるようになった。
また、AmigaOS 2.0では単純 たんじゅん なハイパーテキスト のマークアップ体系 たいけい とブラウザであるAmigaGuide が導入 どうにゅう され、アプリケーションのオンラインヘルプに使 つか われた。また、LISP 風 ふう のスクリプト言語 げんご で動作 どうさ する標準 ひょうじゅん のソフトウェアインストールプログラムInstaller も導入 どうにゅう された。
AmigaOS 2.0までアプリケーションはキーボードやマウスの入力 にゅうりょく イベントを捉 とら えるためにフック をしかけ、システム全体 ぜんたい の入力 にゅうりょく ストリームを捉 とら えるしかなかった。AmigaOS 2.0では入力 にゅうりょく イベントを修正 しゅうせい したり詳細 しょうさい に調 しら べたりするための標準 ひょうじゅん インタフェースCommodities が提供 ていきょう されるようになった。これにより、グローバルな「ホットキー」のキー押下 おうか シーケンスの設定 せってい ができ、Commodities Exchange というレジストリでユーザーがどんな入力 にゅうりょく イベントがあるかを見 み ることができるようになった。
AmigaOS 2.1ではlocale.library が導入 どうにゅう され、AmigaOSの英語 えいご 以外 いがい への翻訳 ほんやく が行 おこな えるようになった[5] 。
AmigaDOS はAmigaOSのディスクオペレーティングシステム (DOS ) 部分 ぶぶん である。ファイルシステム 、ファイルとディレクトリの操作 そうさ 、コマンド行 ぎょう インタフェース 、ファイルのリダイレクト、コンソール・ウィンドウなどの機能 きのう を有 ゆう する。コマンド・リダイレクション 、パイプ 、構造 こうぞう 化 か プログラミング型 かた のスクリプト言語 げんご 、システムのグローバル変数 へんすう やローカル変数 へんすう といった仕組 しく みを提供 ていきょう している。
AmigaOS 1.xではBCPL で書 か かれたTRIPOS をベースにしていた。しかし、他 た の言語 げんご とのインタフェースが難 むずか しく間違 まちが いやすいことがわかり、TRIPOSからの移植 いしょく はあまり効率 こうりつ 的 てき ではなかった。
AmigaOS 2.x以降 いこう では1.xとの互換 ごかん 性 せい を保 たも ちつつC言語 げんご とアセンブリ言語 げんご に書 か き直 なお された。また、サードパーティー で行 おこな われていたAmigaDOS Resource Project (ARP)[6] の成果 せいか も取 と り入 い れている。ARPでも独自 どくじ にBCPLで書 か かれたユーティリティやインタフェースを書 か き換 か えていた。
ARPはまた、Amiga向 む けの標準 ひょうじゅん 化 か されたファイル・リクエスター(ファイル選択 せんたく ダイアログのようなもの)を提供 ていきょう し、UNIX風 ふう のワイルドカードをコマンドのパラメータに使 つか えるようにした。他 ほか にもコマンドが受 う け付 つ ける日付 ひづけ フォーマットの範囲 はんい を改善 かいぜん し、コマンドをメモリに常駐 じょうちゅう させてロード回数 かいすう を減 へ らす機能 きのう も追加 ついか された。
AmigaOS 4.0ではBCPLからの遺産 いさん は完全 かんぜん に払拭 ふっしょく され、AmigaOS 4.1で64ビットサポートのための改造 かいぞう が行 おこな われている。
ファイル拡張子 かくちょうし はAmigaOSでもよく使 つか われるが必須 ひっす ではなく、AmigaDOSも拡張子 かくちょうし を特別 とくべつ に扱 あつか うことはない。単 たん にユーザーがファイルの種類 しゅるい を名前 なまえ から推測 すいそく しやすくしているだけである。実行 じっこう ファイルはマジックナンバー (プログラム) を使 つか って認識 にんしき する。
AmigaOSはバージョン3までAmigaの本来 ほんらい のグラフィックス・チップセットのみをgraphics.library 経由 けいゆ でサポートしていた。このためアプリケーションではOSの機能 きのう を使 つか わずに直接 ちょくせつ ハードウェアを操作 そうさ するものが多 おお かった。サードパーティー製 せい グラフィックスカードは公式 こうしき にはサポートされなかった。
AmigaOSが任意 にんい のグラフィックスシステムを直接 ちょくせつ サポートできる体系 たいけい がretargetable graphics (RTG) である[7] 。AmigaOS 3.5ではいくつかのRTGシステムがOSに同 どう 梱 こり されており、Amiga本来 ほんらい のチップセット以外 いがい のグラフィックスカードも一部 いちぶ サポートされた。主 おも なRTGシステムとして、CyberGraphX 、Picasso 96、EGSがある。
Amigaには3次元 じげん コンピュータグラフィックス 機能 きのう がないため、3Dグラフィックス・インタフェースも標準 ひょうじゅん 化 か されていない。そのためグラフィックスカードのベンダーがそれぞれ独自 どくじ の標準 ひょうじゅん (MiniGL 、Warp3D 、StormMesa (agl.library )、CyberGLなど)を提供 ていきょう した。
Amigaが誕生 たんじょう したころ、デスクトップGUIや表示 ひょうじ などに3Dグラフィックス・ライブラリを使 つか うという考 かんが え方 かた はほとんど存在 そんざい しなかったが、Amigaはグラフィックス機能 きのう が強力 きょうりょく だったため3DCGの開発 かいはつ プラットフォームとして広 ひろ く使 つか われた。初期 しょき の3DCG制作 せいさく ソフトウェアとしてVideoScape 3DやTrueSpace 3Dがある。その後 ご もImagine やLightWave がAmiga向 む けにリリースされている。LightWaveは『バビロン5 』などのテレビ番組 ばんぐみ のCG制作 せいさく にも使 つか われた。
また、Amigaはビデオ信号 しんごう のゲンロック (同期 どうき )が容易 ようい だということでも知 し られているが、ビデオキャプチャ用 よう インタフェースは内蔵 ないぞう していない。最盛 さいせい 期 き にはAmiga向 む けのサードパーティー製 せい ビデオキャプチャ用 よう インタフェースが数多 かずおお く製造 せいぞう 販売 はんばい されていた。
AmigaOS本来 ほんらい のグラフィック・エンジン兼 けん ウィジェット・ライブラリ としてintuition.library がある。AmigaOS 2.0ではそれがGadToolsに拡張 かくちょう された。Stefan Stuntzが開発 かいはつ したMagic User Interface (MUI) が2.0以降 いこう のAmigaシステムで使 つか われ、AROS ではMUIクローンのZune を実装 じっそう 、MorphOS ではMUIが標準 ひょうじゅん のウィジェット・ツールキットとなっている。また、ClassACTというウィジェット・ツールキットはReAction GUI へと発展 はってん し、AmigaOS 3.0および4.0で使 つか われている。AmigaOS 4.0ではReAction GUIが標準 ひょうじゅん の1つとされている。Cygnix はAmiga上 じょう でX11 互換 ごかん グラフィック環境 かんきょう を提供 ていきょう するものである。他 ほか にもcairo やAnti-Grain Geometry といったグラフィックライブラリが一部 いちぶ ベンダーから登場 とうじょう している。
現在 げんざい のAmigaではクロスプラットフォームのSDL (Simple DirectMedia Layer) エンジンをゲームや他 た のマルチメディアプログラムによく使 つか っている。
AmigaOS 4.1では3Dのハードウェアアクセラレーションに対応 たいおう したPorter-Duff画像 がぞう 合成 ごうせい エンジンを採用 さいよう している。
AmigaOSはバージョン3.1まで、Amigaの元々 もともと のチップセットのサウンド機能 きのう のみをaudio.device 経由 けいゆ でサポートしていた。サードパーティーのオーディオカードのサポートはベンダー任 まか せだったが、デファクトスタンダードとしてAHI [8] が採用 さいよう されるようになった。AHIは68k系 けい のAmigaOS 2.0以降 いこう でOSとは別 べつ にインストール可能 かのう である[9] 。AmigaOS自体 じたい がMIDI をサポートしたのは3.1になってからで、Roger Dannenbergのcamd.library が標準 ひょうじゅん MIDI APIとして採用 さいよう された。コモドール版 ばん のcamd.library にはシリアルポート用 よう ドライバも組 く み込 こ まれている。後 のち にKjetil Matheussenが公開 こうかい したオープンソース版 ばん camd.library にはシリアルポート用 よう ドライバがないが、代 か わりに外部 がいぶ ドライバを提供 ていきょう している。
Amigaには当初 とうしょ からSoftvoice, Inc.[10] の開発 かいはつ した音声 おんせい 合成 ごうせい ソフトウェアがあった。これは大 おお まかに3つの部分 ぶぶん に分 わ けられる。アメリカ英語 えいご で使用 しよう するすべての音素 おんそ を音響 おんきょう 信号 しんごう に変換 へんかん するnarrator.device 、英文 えいぶん テキストをアメリカ英語 えいご の音素 おんそ 列 れつ に変換 へんかん するtranslator.library 、コマンドラインのユーザーが出力 しゅつりょく を音声 おんせい にリダイレクトできるSPEAK: ハンドラである。
AmigaOS 1.xにはユーティリティとしてSay プログラムがあり、AmigaBASIC で音声 おんせい を出力 しゅつりょく するデモプログラムが付属 ふぞく していた。
音声 おんせい 合成 ごうせい 機能 きのう はサードパーティーのプログラムでも使 つか われ、特 とく に教育 きょういく ソフトでの利用 りよう が多 おお かった。ワープロソフトのProwriteと Excellence!には文書 ぶんしょ を読 よ み上 あ げる機能 きのう があった。
narrator.device の扱 あつか える音素 おんそ には限界 げんかい があったが、Francesco Devittは任意 にんい の言語 げんご を音素 おんそ 列 れつ に変換 へんかん するtranslator.library を開発 かいはつ した。ただし対象 たいしょう 言語 げんご には規則 きそく 群 ぐん を設定 せってい する必要 ひつよう があり、限定 げんてい 的 てき な多言 たげん 語 ご 音声 おんせい 合成 ごうせい を可能 かのう とした[11] 。
Workbench 2.0まで音声 おんせい 合成 ごうせい がサポートされていたが、2.1以降 いこう は音声 おんせい 合成 ごうせい ソフトウェアが省 はぶ かれている[5] 。
AmigaOSは、ARexx (Amiga Rexx) と呼 よ ばれるREXX 言語 げんご をサポートしている。REXXはスクリプト言語 げんご で、AppleScript のようにOSのスクリプティングにも使 つか え、Microsoft Office でのVBA のようにアプリケーション内 ない のスクリプティングにも使 つか え、プログラム間 あいだ の通信 つうしん にも使 つか える。ユーザーにとっては1つのスクリプト言語 げんご であらゆることができるため、便利 べんり である。
プログラムは「ARexxポート」の文字 もじ 列 れつ メッセージを待 ま ち受 う けることができる。このメッセージをユーザーがマウスでボタンを押下 おうか したのと似 に たような形 かたち でプログラムが解釈 かいしゃく できる。例 たと えば、電子 でんし メールプログラム内 ない で表示 ひょうじ 中 ちゅう の電子 でんし メールを読 よ み取 と るARexxスクリプトを動作 どうさ させ、外部 がいぶ のプログラムを起動 きどう して電子 でんし メールの内容 ないよう を渡 わた して処理 しょり するといったことができる。これを使 つか えばアプリケーション間 あいだ で一時 いちじ ファイルを経由 けいゆ することなくメモリ上 じょう でデータをやりとりできる。
AmigaOSには動的 どうてき に大 おお きさの変 か わるRAMディスク があり、内容 ないよう によって自動的 じどうてき にサイズが変化 へんか する。AmigaOS 2.x以降 いこう 、ブート時 じ にシステム設定 せってい ファイルがRAMディスクにロードされ、OSの高速 こうそく 化 か を図 はか っている。他 た のファイルもRAMディスクにコピーでき、アクセスを高速 こうそく 化 か できる。また、AmigaOS 2.x以降 いこう からRAMディスク上 じょう のファイルの更新 こうしん を検知 けんち して通知 つうち する機能 きのう をサポートした。
固定 こてい サイズのRAMディスクもサポートしており、中身 なかみ を退避 たいひ させて立 た ち上 あ げ時 じ に再 さい ロードできる。これは通常 つうじょう 「RADディスク」と呼 よ ばれており、(ブートセクタがあれば)ブートデバイスとしても使 つか える。
Kickstartは立 た ち上 あ げ時 じ にブート可能 かのう デバイス(一般 いっぱん にフロッピーディスクまたはハードディスク)からのブート を試 こころ みる。フロッピーディスクの場合 ばあい 、ディスクの先頭 せんとう の2セクタ(ブートブロック)をまず読 よ み込 こ み、そこに格納 かくのう されているブート命令 めいれい 列 れつ を実行 じっこう する。通常 つうじょう このコードはOS(AmigaDOSとGUI)をロードしてそれに制御 せいぎょ を渡 わた し、そのディスクをブートボリュームとして使用 しよう する。このようなディスクは他 た にどういう中身 なかみ が格納 かくのう されていても「ブートディスク」または「ブータブルディスク」と呼 よ ばれる。"install" コマンドを使 つか えば、ブランクディスクにブートブロックを書 か き込 こ むことができる。ゲームなどのソフトウェアの媒体 ばいたい には独自 どくじ のブートブロックが書 か かれている。そのためゲームやデモといったアプリケーションでは、AmigaOSを使 つか わずにメモリやハードウェアを直接 ちょくせつ 制御 せいぎょ することになる。
ブートブロックはコンピュータウイルス 作者 さくしゃ の格好 かっこう の攻撃 こうげき 対象 たいしょう となった。ブートブロックがウイルスに感染 かんせん するとブートコードが書 か き換 か えられるため、ブートディスクはうまく起動 きどう できなくなる。そのような初期 しょき のウイルスとしてSCA virus がある。
AmigaOSのモジュール化 か 技法 ぎほう は動的 どうてき 読 よ み込 こ みの共有 きょうゆう ライブラリ が中心 ちゅうしん であり、ディスク上 じょう の ".library
" という拡張子 かくちょうし のついたファイルとして格納 かくのう されているものと、Kickstart ROM内 ない に格納 かくのう されているものがある。ライブラリ関数 かんすう へのアクセスは全 すべ て間接 かんせつ ジャンプテーブル を経由 けいゆ して行 おこな い、ジャンプテーブルにはライブラリのベースポインタからのオフセットが格納 かくのう されている。そのため、全 すべ てのライブラリ関数 かんすう に実行 じっこう 時 じ にパッチ をあてたりフック をしかけることができ、これはROMに格納 かくのう されたライブラリでも同様 どうよう である。
AmigaOSで最 もっと も重要 じゅうよう なライブラリはexec.library であり、ライブラリであると同時 どうじ にマイクロカーネル Exec と見 み なすことができる。システム上 じょう で動作 どうさ するタスク群 ぐん のスケジューリング を行 おこな い、優先 ゆうせん 度 ど 付 つ きのラウンドロビン・スケジューリング でプリエンプティブ・マルチタスク を実現 じつげん する。Exec は他 た のライブラリへのアクセスを提供 ていきょう し、メッセージ・パッシング による高度 こうど なプロセス間 あいだ 通信 つうしん を提供 ていきょう する。一般 いっぱん にマイクロカーネル実装 じっそう はメッセージをアドレス空間 くうかん の間 あいだ でコピーする必要 ひつよう があるため、性能 せいのう に問題 もんだい が生 しょう じる。しかし、AmigaOSは1つのアドレス空間 くうかん しか持 も たないため、Exec によるメッセージパッシングは非常 ひじょう に効率 こうりつ 的 てき である。AmigaOS内 ない で唯一 ゆいいつ の固定 こてい アドレス(アドレス4番地 ばんち )にはexec.library へのポインタが格納 かくのう されており、これを使 つか って他 た のライブラリにアクセスすることができる。Exec はカール・サセンラス が設計 せっけい ・実装 じっそう した。
それまでのOSとは異 こと なり、Execカーネルは特権 とっけん モードになっていない。当時 とうじ の68kファミリ向 む けのOS(Atari TOS 、SunOS など)はトラップ 命令 めいれい でカーネルの機能 きのう を呼 よ び出 だ していた。それにより、カーネル機能 きのう は68kの「スーパーバイザモード」で動作 どうさ し、ユーザーソフトウェアは特権 とっけん のない「ユーザーモード」で動作 どうさ する。68k上 うえ の Mac OS でさえスーパーバイザモードを使 つか っていた。それに対 たい して Exec ではユーザーモードでジャンプテーブル経由 けいゆ で機能 きのう を呼 よ び出 だ す。スーパーバイザモードが必要 ひつよう なときは(スーパーバイザモードでないと実行 じっこう できない命令 めいれい がある)、カーネルであってもユーザープログラムであってもライブラリ関数 かんすう のSupervisor()またはSuperState()を使 つか う。
デバイスドライバ もライブラリになっているが、標準 ひょうじゅん 化 か されたインタフェースを実装 じっそう している。アプリケーションは通常 つうじょう 、デバイスドライバをライブラリとして直接 ちょくせつ 呼 よ び出 だ すことはなく、exec.library のI/O機能 きのう を経由 けいゆ して間接 かんせつ 的 てき にアクセスする。デバイスドライバも、ディスク上 じょう のファイルの形 かたち で格納 かくのう されているもの(拡張子 かくちょうし は ".device
")とKickstart ROMに格納 かくのう されているものがある。
DatatypesはAmiga上 じょう のデータファイルを扱 あつか う独特 どくとく の手法 しゅほう である。一連 いちれん の "datatype" を扱 あつか う集中 しゅうちゅう 型 がた システムであり、対応 たいおう するdatatypeが存在 そんざい する任意 にんい のデータファイルを読 よ み書 か き、ロード/セーブできる一連 いちれん の小 ちい さなプログラムの集合 しゅうごう 体 たい と見 み ることができる。
ペイントプログラムなどのAmigaの生産 せいさん 性 せい ソフトウェアは、存在 そんざい する様々 さまざま な画像 がぞう ファイルを扱 あつか うためにそれぞれの記述 きじゅつ 子 こ を埋 う め込 こ む必要 ひつよう がない。Amiga向 む けソフトウェアの開発 かいはつ においては、Datatypesを扱 あつか うコードを埋 う め込 こ めばよく、そうすることでDatatypesシステムが扱 あつか えるあらゆる画像 がぞう ファイルをオープンしたりセーブしたりできるようになる。
例 たと えば、jpeg.datatype
とtiff.datatype
はそれぞれ対応 たいおう するファイルフォーマット(JPEG とTIFF 画像 がぞう ファイル)があり、Datatypesに対応 たいおう したプログラムであれば、これらのdatatypeに対応 たいおう した機能 きのう を自動的 じどうてき にロードして使 つか うことができる。
datatypeのコードを書 か いて追加 ついか することもでき、新 あら たに登場 とうじょう したファイルフォーマットにも対応 たいおう 可能 かのう である。
デバイスおよびリソース管理 かんり の上位 じょうい 層 そう はライブラリとは異 こと なるタスク型 がた のハンドラ (handler) で制御 せいぎょ され、メッセージ・パッシングでやり取 と りする。
重要 じゅうよう な種類 しゅるい のハンドラとしてファイルシステム ・ハンドラがある。AmigaOSではハンドラを書 が きさえすれば任意 にんい のファイルシステムを使用 しよう できる。これを利用 りよう したプログラムとしてAmiga以外 いがい のフロッピーディスクを扱 あつか えるようにした CrossDOS があり、OFS とFFS というAmigaOSの標準 ひょうじゅん ファイルシステム以外 いがい のファイルシステムも少数 しょうすう ながら存在 そんざい する。これを使 つか えば、ジャーナリング やファイルパーミッション など標準 ひょうじゅん では存在 そんざい しない機能 きのう を追加 ついか することもできる。
ハンドラはDOSに対 たい して「デバイス名 めい 」で提示 ていじ されることが多 おお く、それを使 つか ってそのハンドラに対応 たいおう する周辺 しゅうへん 機器 きき にアクセスできる。
例 たと えば、SPEAK: ハンドラにはテキストを送 おく ることができる。そのハンドラはtranslator.library を使 つか ってテキストを音素 おんそ 列 れつ に変換 へんかん し、それらをnarrator.device に送 おく ると音素 おんそ 列 れつ が音声 おんせい 信号 しんごう に変換 へんかん され、そこからaudio.device に音声 おんせい 信号 しんごう を送 おく ってAmigaのオーディオ・ハードウェアで音声 おんせい を再生 さいせい する。
デバイス名 めい は大文字 おおもじ と小文字 こもじ を区別 くべつ しない文字 もじ 列 れつ で表 あらわ され(通常 つうじょう 、大文字 おおもじ で表現 ひょうげん )、その後 うし ろにコロン が付 つ く。コロンの後 のち に規則 きそく 子 こ (specifier) を付 つ けることができ、それによって「何 なに 」に「どのように」アクセスするのかという情報 じょうほう を補足 ほそく できる。ファイルシステムの場合 ばあい 、規則 きそく 子 こ としてそのファイルシステム内 ない のファイルのパス名 めい を指定 してい することが多 おお い。他 た のハンドラの場合 ばあい 、使 つか いたい入出力 にゅうしゅつりょく チャンネルの指定 してい などを規則 きそく 子 こ で行 おこな う。例 たと えばシリアルポート SER: の場合 ばあい 、規則 きそく 子 こ にビットレート 、スタートビット、ストップビットなどといった情報 じょうほう を指定 してい する。
ファイルシステムではデバイス名 めい として「ドライブ名 めい 」を提示 ていじ する。例 たと えばDF0: はデフォルトでは1台 だい 目 め のフロッピーディスクドライブを指 さ す。多 おお くのシステムではDH0: が1台 だい 目 め のハードディスクドライブを指 さ す。
ファイルシステムはデバイス名 めい と同様 どうよう の形式 けいしき で「ボリューム名 めい 」でも指定 してい できる。この場合 ばあい 、対象 たいしょう 周辺 しゅうへん 機器 きき に挿入 そうにゅう されている特定 とくてい の媒体 ばいたい を識別 しきべつ できる。例 たと えばDF0: に挿入 そうにゅう されているフロッピーディスクの名前 なまえ が "Workbench" なら、Workbench: とボリューム名 めい を指定 してい することでDF0: にある特定 とくてい のフロッピーディスクを指定 してい できる。
DF0: ドライブに "Work" というディスクがあり、そのファイルシステムの "Win" というディレクトリにある "Amp" というファイルにアクセスしたい場合 ばあい 、
DF0:Win/Amp
または
Work:Win/Amp
とする。ただし、これらは完全 かんぜん に同 おな じではない。後者 こうしゃ の場合 ばあい 、ボリューム名 めい が指定 してい されているので、DF0: に "Work" というボリュームがない場合 ばあい はDF0: にアクセスしない。その場合 ばあい 、"Work" というボリュームを入 い れるよう促 うなが すようなメッセージが表示 ひょうじ される。
プログラム は、絶対 ぜったい 位置 いち (ドライブ、ボリュームなど)が不明 ふめい なファイルにアクセスしなければならないことがある。その場合 ばあい わかっているのは「論理 ろんり パス」だけであり、そのファイルがライブラリなのか文書 ぶんしょ ファイルなのか、あるいはプログラムのメッセージの翻訳 ほんやく なのかなどということしかわからない。
このような場合 ばあい 、AmigaOSでは「アサイン (assign)」を使 つか う。アサインもデバイス名 めい と同 おな じ形式 けいしき だが、特定 とくてい のファイルシステムのディレクトリを指 さ している。1つのアサインが指 さ す場所 ばしょ はユーザーが好 す きなようにいつでも変更 へんこう できる。これはMS-DOS のsubst コマンドと似 に ているが、同一 どういつ ではない。アサインはまた、1つで複数 ふくすう の物理 ぶつり 的 てき 位置 いち を同時 どうじ に示 しめ すこともでき、物理 ぶつり 的 てき に別々 べつべつ の実体 じったい のあるものを論理 ろんり 的 てき にまとめることもできる。AmigaOSシステムで標準 ひょうじゅん 的 てき に使 つか われているアサインとして以下 いか のものがある。
SYS:
ブートドライブのルートディレクトリを指 さ す。
C:
シェルのコマンド群 ぐん があるディレクトリを指 さ す。ブート時 じ 、もしあればSYS:Cであり、さもなくばSYS:と同 おな じである。従 したが ってコマンドパスのデフォルトはC:とカレントディレクトリである。C:に実行 じっこう ファイルを置 お いておけば、単 たん にファイル名 めい をタイプするだけで実行 じっこう できる。
DEVS:
システムのデバイス群 ぐん のあるディレクトリを指 さ す。ブート時 じ 、もしあればSYS:Devsであり、さもなくばSYS:と同 おな じである。
L:
AmigaDOSのハンドラとファイルシステムのあるディレクトリを指 さ す。ブート時 じ 、もしあればSYS:Lであり、そのディレクトリがない場合 ばあい L:は自動 じどう 生成 せいせい されない。
LIBS:
システムのライブラリのあるディレクトリを指 さ す。ブート時 じ 、もしあればSYS:Libsであり、さもなくばSYS:と同 おな じである。
S:
スクリプトのあるディレクトリを指 さ し、特 とく にブート時 じ に(もしあれば)自動 じどう 実行 じっこう されるスクリプトであるstartup-sequence のあるディレクトリを指 さ す。ブート時 じ 、もしあればSYS:Sであり、そのディレクトリがない場合 ばあい S:は自動 じどう 生成 せいせい されない。
PROGDIR:
現在 げんざい 実行 じっこう 中 ちゅう の実行 じっこう ファイルが存在 そんざい するディレクトリを常 つね に指 さ している特殊 とくしゅ なアサイン。したがって "SYS:Tools/Multiview" と "SYS:System/Format" を実行 じっこう 中 ちゅう なら、MultiviewにとってはPROGDIR:はSYS:Toolsを指 さ し、同時 どうじ にFormatコマンドにとってはSYS:Systemを指 さ している。この機能 きのう はWorkbench 2.0で導入 どうにゅう された。
AmigaOS 4.0の最新 さいしん アップデート版 ばん では、物理 ぶつり メモリを割 わ り当 あて て、システムが不 ふ 活発 かっぱつ なときにデフラグメンテーション を行 おこな う新 あら たな知的 ちてき システムを導入 どうにゅう した。スラブアロケーション 方式 ほうしき に基 もと づくもので、ページングメモリを扱 あつか う機能 きのう もあり、AmigaOSでも物理 ぶつり メモリの内容 ないよう を二 に 次 じ 記憶 きおく 装置 そうち に退避 たいひ させスワップする一種 いっしゅ の仮想 かそう 記憶 きおく が可能 かのう となった[12] [13] 。その後 ご 、ページング方式 ほうしき が評価 ひょうか され AmigaOS 4.1で最終 さいしゅう 的 てき に実装 じっそう された。AmigaOS 4.0では物理 ぶつり メモリの操作 そうさ にバディ・システム ・アルゴリズムを使 つか っている。
AmigaOS 4.1では、オプションで任意 にんい の大 おお きさのスワップパーティションを作成 さくせい でき、OSインストール時 じ に独立 どくりつ したパーティションとしてフォーマットする。スワップメモリは、デフラグメンテーションを行 おこな ってもメモリ要求 ようきゅう を満 み たせないときに自動的 じどうてき に使 つか われる。スワップメモリを使 つか うかどうかは AmigaOS システムの Preferences にあるオプションボタンで指定 してい でき、任意 にんい の時点 じてん で物理 ぶつり メモリのみで動作 どうさ するよう設定 せってい できる。
AmigaOSとクローンの流 なが れ
AmigaOSからは少 すく なくとも2つの「クローン」オペレーティングシステムが生 う まれている。
AROS Research Operating System (AROS)
AmigaOSのAPIを移植 いしょく 性 せい のあるオープンソースのオペレーティングシステムとしたクローン。AmigaOSとは(68k上 うえ で動作 どうさ させない限 かぎ り)バイナリ互換 ごかん ではないが、ユーザーによればソース互換 ごかん 性 せい は高 たか いという。
MorphOS
PowerPC向 む けのオペレーティングシステムだが、一部 いちぶ のAmigaハードウェアでも動作 どうさ する。行儀 ぎょうぎ のよいAmigaOS用 よう アプリケーション(つまり、Amigaのハードウェアに直接 ちょくせつ アクセスしようとしないもの)についてはバイナリ互換 ごかん を保 たも っている。
DragonFly BSD
厳密 げんみつ にはAmigaとは関係 かんけい ないが、FreeBSD 4.8からフォークしたDragonFly BSDはFreeBSDの開発 かいはつ 者 しゃ でAmigaのプログラマだったMatt Dillon が開発 かいはつ した。DragonFly BSDはFreeBSDのカーネル をよりAmigaOSにアーキテクチャ的 てき に近 ちか くしたもので、カーネル内 ない のメッセージパッシング機能 きのう があり、非常 ひじょう に効率 こうりつ 的 てき なほぼ排他 はいた 制御 せいぎょ を使 つか わないSMP サポートが可能 かのう である。
BeOS
AmigaOSのDatatypesを基本 きほん として受 う け継 つ いでおり、OS全体 ぜんたい があらゆる種類 しゅるい のファイル(テキスト、音声 おんせい 、動画 どうが 、文書 ぶんしょ など)を標準 ひょうじゅん のファイル記述 きじゅつ 子 こ から認識 にんしき できる。Datatypeシステムは、全 ぜん システムと生産 せいさん 性 せい ツールが様々 さまざま なファイルをロードする機能 きのう を持 も つ必要 ひつよう をなくし、標準 ひょうじゅん のファイルローダーやセーバーを提供 ていきょう する。
AtheOS
AmigaOSに着想 ちゃくそう を得 え たOSで、当初 とうしょ はAmigaOSのクローンを意図 いと していた[14] 。AtheOSからフォークしたSyllable もAmigaOSとBeOS の機能 きのう を一部 いちぶ 受 う け継 つ いでいる。
3DO Interactive Multiplayer
AmigaOSとよく似 に ており、AmigaOSの Intuition のUIを開発 かいはつ した RJ Mical [15] が開発 かいはつ した[16] 。
AmigaOSの一部 いちぶ バージョンには著作 ちょさく 権 けん メッセージがイースター・エッグ になっていて、ちょっとしたトリッキーなアクセスで表示 ひょうじ できる。
バージョン1.xでは、両側 りょうがわ のシフトキーと両側 りょうがわ のAltキー とファンクションキーのF1からF10までを押下 おうか すると、タイトルバーに著作 ちょさく 権 けん メッセージが表示 ひょうじ される。例 たと えば F10 を押下 おうか すると "Moral support: Joe Pillow and the Dancing Fools" と表示 ひょうじ される。Joe Pillowとは、Amigaのプロトタイプをコンピュータショーに出展 しゅってん するために旅客機 りょかくき の座席 ざせき に載 の せて運 はこ んだときのチケット予約 よやく の名前 なまえ である[17] 。
バージョン2.xと3.0では、Workbenchのメニューから "About..." を繰 く り返 かえ し選択 せんたく し、ダイアログボックス をいくつも開 ひら く。そのダイアログボックスを20個 こ ほど同時 どうじ に表示 ひょうじ させると、通常 つうじょう とは異 こと なるダイアログボックスが出 で てきて、そこに秘密 ひみつ のメッセージが表示 ひょうじ される。バージョン3.1では、単 たん に "About..." のダイアログボックスを開 あ けば、そこにそのメッセージも同時 どうじ に表示 ひょうじ されるようになった。
Amiga 1000のAmigaDOS 1.0向 む けのKickstartマスターフロッピーディスクは複製 ふくせい しても消去 しょうきょ されず、そこにソースコードなどのファイルの残骸 ざんがい が残 のこ っていた。