(Translated by https://www.hiragana.jp/)
AmigaOS - Wikipedia コンテンツにスキップ

AmigaOS

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』
AmigaOS
開発かいはつしゃ 1.0-3.1: コモドール
3.5-3.9: Haage & Partner
4.0-4.1: Hyperion Entertainment
開発かいはつじょうきょう 開発かいはつちゅう
ソースモデル クローズドソース
最新さいしん安定あんていばん 4.1u2 / 2010ねん4がつ
プラットフォーム Motorola 68kPowerPC
カーネル種別しゅべつ ピコカーネル
既定きていUI Workbench
ライセンス プロプライエタリ
ウェブサイト http://hyperion-entertainment.biz
テンプレートを表示ひょうじ

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、ウィンドウシステムAPIIntuitionグラフィカルユーザインタフェース (GUI) のWorkbenchっている。また、コマンドぎょうインタフェース (CLI) のAmigaShellもシステムにふくまれている。GUIとCLIは相補そうほてきであり、同等どうとう機能きのうゆうする。

John C. Dvorakは1996ねんに、つぎのようにしるした。

AmigaOSは過去かこ20年間ねんかんなかでももっと偉大いだいなオペレーティングシステムの1つであり、ちいさなカーネルと素晴すばらしいマルチタスク機能きのうゆうしていた。同等どうとうのマルチタスク機能きのうはごく最近さいきんOS/2Windows 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互換ごかんえば、BIOSOSカーネル主要しゅよう部分ぶぶん相当そうとうする。しかし、Kickstartはブート典型てんけいてきなPCよりもおおくの機能きのう提供ていきょうでき、たとえば完全かんぜんなウィンドウ環境かんきょう途中とちゅうでも利用りよう可能かのうである。

KickstartにはAmigaOSの ExecIntuitionAmigaDOS 中核ちゅうかくAutoconfig によって拡張かくちょうハードウェアを使つか機能きのうなどがふくまれる。つまり、Amigaは電源でんげんれただけでOSの基本きほんてき部分ぶぶんおおくをすで使つかえる状態じょうたいになっている。のバージョンではIDEおよびSCSIコントローラのドライバやPCカードポートのドライバなど、Amiga本体ほんたい追加ついかされたハードウェアのドライバが追加ついかされている。

やリセット、Kickstartは診断しんだんやシステムチェックをおこない、Amigaのチップセット初期しょきし、OS中核ちゅうかくコンポーネントを初期しょきする。つぎ接続せつぞくされているブートデバイスを調しらべ、優先ゆうせんたかほうからブートをこころみる。ブートデバイスがまったくない場合ばあい、ユーザーにたいしてブートデバイス(通常つうじょうフロッピーディスク)を挿入そうにゅうするよううながすメッセージをディスプレイに表示ひょうじする。

WorkbenchAmigaよう標準ひょうじゅんのグラフィカル・デスクトップ環境かんきょうである。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グラフィックス・インタフェースも標準ひょうじゅんされていない。そのためグラフィックスカードのベンダーがそれぞれ独自どくじ標準ひょうじゅんMiniGLWarp3D、StormMesa (agl.library)、CyberGLなど)を提供ていきょうした。

Amigaが誕生たんじょうしたころ、デスクトップGUIや表示ひょうじなどに3Dグラフィックス・ライブラリを使つかうというかんがかたはほとんど存在そんざいしなかったが、Amigaはグラフィックス機能きのう強力きょうりょくだったため3DCGの開発かいはつプラットフォームとしてひろ使つかわれた。初期しょきの3DCG制作せいさくソフトウェアとしてVideoScape 3DやTrueSpace 3Dがある。そのImagineLightWaveが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互換ごかんグラフィック環境かんきょう提供ていきょうするものである。ほかにもcairoAnti-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スクリプトを動作どうささせ、外部がいぶのプログラムを起動きどうして電子でんしメールの内容ないようわたして処理しょりするといったことができる。これを使つかえばアプリケーションあいだ一時いちじファイルを経由けいゆすることなくメモリじょうでデータをやりとりできる。

RAMディスク

[編集へんしゅう]

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 TOSSunOSなど)はトラップ命令めいれいでカーネルの機能きのうしていた。それにより、カーネル機能きのうは68kの「スーパーバイザモード」で動作どうさし、ユーザーソフトウェアは特権とっけんのない「ユーザーモード」で動作どうさする。68kうえMac OS でさえスーパーバイザモードを使つかっていた。それにたいして Exec ではユーザーモードでジャンプテーブル経由けいゆ機能きのうす。スーパーバイザモードが必要ひつようなときは(スーパーバイザモードでないと実行じっこうできない命令めいれいがある)、カーネルであってもユーザープログラムであってもライブラリ関数かんすうのSupervisor()またはSuperState()を使つかう。

デバイスドライバもライブラリになっているが、標準ひょうじゅんされたインタフェースを実装じっそうしている。アプリケーションは通常つうじょう、デバイスドライバをライブラリとして直接ちょくせつすことはなく、exec.libraryのI/O機能きのう経由けいゆして間接かんせつてきにアクセスする。デバイスドライバも、ディスクじょうのファイルのかたち格納かくのうされているもの(拡張子かくちょうしは ".device")とKickstart ROMに格納かくのうされているものがある。

DatatypesはAmigaじょうのデータファイルをあつか独特どくとく手法しゅほうである。一連いちれんの "datatype" をあつか集中しゅうちゅうがたシステムであり、対応たいおうするdatatypeが存在そんざいする任意にんいのデータファイルをき、ロード/セーブできる一連いちれんちいさなプログラムの集合しゅうごうたいることができる。

ペイントプログラムなどのAmigaの生産せいさんせいソフトウェアは、存在そんざいする様々さまざま画像がぞうファイルをあつかうためにそれぞれの記述きじゅつ必要ひつようがない。Amigaけソフトウェアの開発かいはつにおいては、Datatypesをあつかうコードをめばよく、そうすることでDatatypesシステムがあつかえるあらゆる画像がぞうファイルをオープンしたりセーブしたりできるようになる。

たとえば、jpeg.datatypetiff.datatypeはそれぞれ対応たいおうするファイルフォーマット(JPEGTIFF画像がぞうファイル)があり、Datatypesに対応たいおうしたプログラムであれば、これらのdatatypeに対応たいおうした機能きのう自動的じどうてきにロードして使つかうことができる。

datatypeのコードをいて追加ついかすることもでき、あらたに登場とうじょうしたファイルフォーマットにも対応たいおう可能かのうである。

ハンドラとファイルシステム

[編集へんしゅう]

デバイスおよびリソース管理かんり上位じょういそうはライブラリとはことなるタスクがたのハンドラ (handler) で制御せいぎょされ、メッセージ・パッシングでやりりする。

重要じゅうよう種類しゅるいのハンドラとしてファイルシステム・ハンドラがある。AmigaOSではハンドラをきさえすれば任意にんいのファイルシステムを使用しようできる。これを利用りようしたプログラムとしてAmiga以外いがいのフロッピーディスクをあつかえるようにした CrossDOS があり、OFSFFSという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-DOSsubstコマンドとているが、同一どういつではない。アサインはまた、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 にあるオプションボタンで指定していでき、任意にんい時点じてん物理ぶつりメモリのみで動作どうさするよう設定せっていできる。

のOSへの影響えいきょう

[編集へんしゅう]

クローン

[編集へんしゅう]
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マスターフロッピーディスクは複製ふくせいしても消去しょうきょされず、そこにソースコードなどのファイルの残骸ざんがいのこっていた。

脚注きゃくちゅう出典しゅってん

[編集へんしゅう]
  1. ^ From PC Magazine, October 22, 1996 Inside Track By John C. Dvorak
  2. ^ ちゅう - Macintoshはライバルだったが、当時とうじのWindowsはまだ発展はってん途上とじょう販売はんばい実績じっせきちいさく競争きょうそう相手あいてではなかった。
  3. ^ [1]
  4. ^ [2]
  5. ^ a b Amiga Workbench 2.1”. 2008ねん11月23にち閲覧えつらん
  6. ^ http://uk.aminet.net/misc/antiq/ARP_13.readme
  7. ^ Amiga ReTargetable Graphics”. 2011ねん3がつ17にち閲覧えつらん 090427 amigau.com
  8. ^ AHI — Retargetable Audio for AmigaOS et al.
  9. ^ http://arp2.berlios.de/ahi/#binaries 2010-11-19
  10. ^ http://www.text2speech.com/#aboutsv
  11. ^ http://uk.aminet.net/util/libs/translator42.readme
  12. ^ Frieden brothers (2007ねん). “AmigaOS4.0 Memory Allocation”. Hyperion Entertainment. 2008ねん11月2にち閲覧えつらん [リンク]
  13. ^ Frieden brothers (2007ねん). “AmigaOS 4.0 new memory system revisited”. Hyperion Entertainment. 2008ねん11月2にち閲覧えつらん [リンク]
  14. ^ AtheOS comments”. ANN.lu (2000ねん5がつ5にち). 2008ねん12月1にち閲覧えつらん
  15. ^ Mical Page
  16. ^ A history of the Amiga, part 3: The first prototype: Page 3
  17. ^ Article about Joe Pillow on AmigaU http://www.amigau.com/aig/pillow.html

関連かんれん項目こうもく

[編集へんしゅう]

外部がいぶリンク

[編集へんしゅう]