| 開発者 | カール・サッセンラート |
|---|---|
| OSファミリー | アミーガOS |
| 作業状態 | 現在 |
| ソースモデル | クローズドソース |
| 初回リリース | 1985年7月23日 |
| 最新リリース | 4.1 最終版アップデート 2 / 2021年1月12日 |
| マーケティングターゲット | アミーガOS |
| 利用可能 | 英語 |
| 更新方法 | ソースコードからコンパイルする |
| プラットフォーム | Amiga Motorola 68000 シリーズ(MC680x0、68k) |
| カーネルタイプ | マイクロカーネル |
| デフォルトの ユーザーインターフェース | コマンドラインインターフェース |
| ライセンス | 独自 |
| 公式サイト | 翻訳: |
ExecはAmigaOSのカーネルです。13 KB のマルチタスクマイクロカーネルで、 わずか 256 KB のメモリ (最初のAmiga 1000に搭載されていたもの) でプリエンプティブ マルチタスクを実行できます。Exec は、マルチタスク、メモリ管理、割り込みや動的共有ライブラリの処理の機能を提供します。[1] [2]
これはシステム上で実行中のタスクのスケジューラとして機能し、優先順位付けされたラウンドロビンスケジューリングによるプリエンプティブマルチタスクを提供します。また、Exec はメッセージパッシングを介して他のライブラリや高レベルのプロセス間通信へのアクセスも提供します。他の同等のマイクロカーネルでは、アドレス空間間でメッセージをコピーする必要があるため、パフォーマンス上の問題がありました。Amiga にはアドレス空間が 1 つしかないため、Exec のメッセージパッシングは非常に効率的です。Amiga ソフトウェアの唯一の固定メモリアドレス (アドレス 4) は へのポインタであり、これを使用して他のライブラリにアクセスできます。Exec はCarl Sassenrathによって設計および実装されました。[3]exec.library
エグゼクティブ
最近の最新のオペレーティング システムとは異なり、exec カーネルは「特権」モードで実行されません。Atari TOSやSunOSなどのMotorola 68000の最新のオペレーティング システムでは、カーネル関数を呼び出すためにトラップ命令が使用されていました。これにより、カーネル関数は 68000 のスーパーバイザ モードで実行され、ユーザー ソフトウェアは非特権ユーザー モードで実行されました。対照的に、exec 関数の呼び出しはライブラリ ジャンプ テーブルを使用して行われ、カーネル コードは通常ユーザー モードで実行されます。カーネルまたはユーザー プログラムによってスーパーバイザ モードが必要なときはいつでも、ライブラリ関数またはが使用されます。
Supervisor()SuperState()
Forbid()Exec カーネルの 1 つの制限は、非協力的なプログラムが Exec のまたはを呼び出してDisable()、その後対応するPermit()またはを呼び出さずに、環境が 1 つのタスクとして実行されることによって、長時間または無期限にマルチタスクを無効にする可能性があることでした。マルチタスクは、ソフトウェアのバグまたは意図によって、Exec のデータ構造またはランダム アクセス メモリEnable()(RAM)に格納されているコードを変更するプログラムによっても無効にされる可能性があり、これはメモリ管理ユニット(MMU) のサポート不足が原因である可能性があります。
このような制限があるにもかかわらず、Execはプリエンプティブスケジューリングルーチンを使用し、割り込み間隔をクロックに基づいて決定することで、プリエンプティブスケジューリングアルゴリズムの定義を満たしています。[4]
Linuxカーネル開発者のLinus Torvaldsは、プリエンプティブなスケジューリングポリシーを使用しているにもかかわらず、Amigaの設計を協調的であると表現したことがある[5] 。その理由は、タスク間の[メモリ]保護が欠如しているため、タスクがシステムのプリエンプティブな動作を妨げる可能性があるからだと彼は主張した。タスクはプリエンプティブメカニズムを停止しないことを選択する必要があるため、これは一種の逆転した協調システムになる。このような保護とスケジューラポリシーの混同は非標準である。
エグゼクティブSG
ExecSG (第2世代) は、 AmigaOS 4で使用されるカーネルです。このカーネルは、Hyperion EntertainmentがThomas Frieden と Hans-Jörg Frieden からライセンスを取得しました。[6] Amiga Exec カーネルと同じ機能と構造を公開していますが、PowerPCプロセッサでのみ動作します。ExecSG の最終的な起源は不明です。
参考文献
- ^ Sassenrath, Carl (1986). Amiga ROM カーネルリファレンスマニュアル. Exec.
{{cite book}}: CS1 メンテナンス: 場所が見つかりません 発行者 (リンク) - ^ Holloway, Tim (1991 年 1 月)。「オブジェクト指向の Amiga Exec: Amiga オペレーティング システム カーネルの設計は、オブジェクト指向プログラミングのルールに従います」。Byte 1991年 1 月号。McGraw - Hill 社。pp. 329–332, 234。ISSN 0360-5280。
- ^ “Carl Sassenrath”. 2020年2月25日時点のオリジナルよりアーカイブ。2022年5月23日閲覧。
- ^ Stallings, William (2009).オペレーティングシステム - 内部と設計原則(第 6 版). Upper Saddle River, NJ: Pearson Prentice Hall . ISBN 9788120336292。
- ^ Torvalds, Linus (1996 年 10 月 17 日)。「Jalleen mahtava uusi keksinto m$oftilta」[M$ の素晴らしい新発明] (フィンランド語)。ニュースグループ: sfnet.atk.sodat。Usenet : 545idd$3fj@linux.cs.Helsinki.FI。2011年2 月 25 日閲覧。Amiga
は「疑似プリエンプティブ」マルチタスクです。Amiga の人々はこれをプリエンプティブと呼んでいますが、実際は違います。この点では、
WinNT の
方がはるかに優れています。... メモリ保護がないため。どのプログラムでもマシンを完全に占有できるため、マルチタスクを阻止できます。Amiga のマルチタスクは、実行中のアプリケーションの承認と支援を必要とするため、協調的です [... muistinsuojauksen puutteen vuoksi.ミカ・タハンサ・オジェルマ・ヴォイ・オッタ・コネン・ハルトゥンサ・テイシン・ジャ・エステア・サイトン・モニアホ。イーライ・アミガンは、クーペラティヴィネンのモニアホ、あなたの意見を聞いて、あなたの意見を聞いてください]
[永久リンク切れ ]
- ^ 「Justia: Hyperion Entertainment vs. Amiga Inc」。2016年6月9日時点のオリジナルよりアーカイブ。2014年10月15日閲覧。
外部リンク
- アミーガエグゼクティブ
