THEマルチプログラミングシステム
(THE multiprogramming system から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/01/10 13:18 UTC 版)
開発元企業 / 開発者 | アイントホーフェン工科大学 / エドガー・ダイクストラ他 |
---|---|
プログラミング言語 | アセンブリ言語 |
開発状況 | 歴史上のOS |
初リリース | 1968年 |
使用できる プログラミング言語 |
ALGOL |
対応プラットフォーム | Electrologica X8 |
THEマルチプログラミングシステム(THE multiprogramming system)は、エドガー・ダイクストラらが開発した初期のマルチタスクオペレーティングシステム (OS)。1965年から66年に論文に記され[1]、1968年に発表された[2]。ダイクストラはこのシステムを命名したことはない。"THE" とは "Technische Hogeschool Eindhoven" の略で、オランダ語でアイントホーフェン工科大学を意味する。THEシステムは基本的にマルチタスクをサポートしたバッチ処理システムである[3]。マルチユーザーOSとしては設計されていない。同時期の Project GENIE で開発された SDS 940 に似ているが、THEシステムでのプロセス群は静的だった[3]。
THEシステムは初のソフトウェアベースのメモリセグメンテーションを導入し(Electrologica X8 はハードウェアでのメモリ管理をサポートしていなかった)[3]、プログラマは磁気ドラムメモリ上の物理的位置を気にする必要がなくなった。そのために修正を加えたALGOLコンパイラ(ダイクストラのシステムでサポートされた唯一のプログラミング言語)を使い、システムルーチン呼び出しを自動生成し、必要な情報が必要なときにスワップインされることを保証している[3]。
設計
THEマルチプログラミングシステムの設計は階層構造となっている点が重要で、上位層は下位層にのみ依存している。
- Layer 0
- マルチプログラミングを実現する階層。CPUを割り当てるプロセスを決定し、セマフォ上でブロックしているプロセス群の責任を持つ。割り込みを処理し、必要に応じてコンテキストスイッチを行う。最も低いレベル。現代的に言えばスケジューラである。
- Layer 1
- プロセスへのメモリ割り当て機構。現代的に言えばページャである。
- Layer 2
- プロセス間通信機能。オペレーティングシステムとコンソールとの通信機能。
- Layer 3
- 全周辺機器の入出力管理。各種機器からの情報をバッファリングする機能も含まれる。
- Layer 4
- ユーザープログラムを処理する階層。そこに5つのプロセスが存在し、ユーザープログラムのコンパイル・実行・プリントアウトを行う。完了すると制御はスケジュールキューに戻され、開始されたばかりのプロセスや入出力でブロックされているプロセスを優先する。
- Layer 5
- ユーザー層(ダイクストラは「我々は実装していない」と述べている)
上位層が下位層にのみ依存するという制約を課したのは、(準形式手法的に)システムの挙動を推測しやすくし、システムを段階的に構築できるようにするためである。システムは Layer 0 から順に実装され、それぞれの層が提供する抽象化を順に試験していった。この形式手法的設計プロセスは大いに成功し、ダイクストラは次のように述べている。
我々は、論理的健全性が演繹的に証明できる方法で洗練されたマルチプログラミングシステムを設計可能であり、その実装が徹底的な評価に耐えることを見出した。評価中に見られた誤りは瑣末なコーディング上の誤りだけであり(500命令に1回の割合で発生した)、10分程度のマシンでの調査で個々の問題を検出でき、その対処も容易であった。[1]
このようにカーネルを階層化するという方式はMulticsのリングプロテクションモデルに似ている。その後のOSは何らかの階層化を導入していることが多く、例えば Windows NT や macOS がそうだが、階層の数はTHEシステムより少ない。
動作プラットフォームはオランダの Electrologica X8 コンピュータで、システム自体はアセンブリ言語で書かれている。このコンピュータは32キロワードの磁気コアメモリ(1ワードは27ビット[3])、LRU方式のバッキングストアを備えた512Kワードの磁気ドラムメモリ、紙テープリーダー・パンチャー、プリンターを備えていた。
脚注
- ^ a b Dijkstra, Edsger W. (1965-06-14), The structure of the 'THE'-multiprogramming system (EWD0196), E.W. Dijkstra Archive, Center for American History, University of Texas at Austin (original; transcription)
- ^ Dijkstra, E.W. (1968), “The structure of the 'THE'-multiprogramming system”, Communications of the ACM 11 (5): 341–346, doi:10.1145/363095.363143
- ^ a b c d e Silberschatz, Abraham; Peterson, James L. (May 1988), “13: Historical Perspective”, Operating System Concepts, p. 512
参考文献
- E. W. Dijkstra . EWD 126: 'The Multiprogramming System for the EL X8 THE (manuscript). 1965年6月14日 テキスト [1] PDF [2]
関連項目
「THE multiprogramming system」の例文・使い方・用例・文例
- 命題と論理演算子『AND』『OR』『IF THEN』『EXCEPT』『NOT』を結合するジョージ・ブールによって考案された組合せ手順の、または、命題と論理演算子『AND』『OR』『IF THEN』『EXCEPT』『NOT』を結合するジョージ・ブールによって考案された組合せ手順に関する
- 新顔の中では,KICK THE CAN CREW,w-inds.そしてRAG FAIRが白組(男性チーム)での出場だ。
- 「踊る大捜査線THE MOVIE 2―レインボーブリッジを封鎖せよ!」が特に人気で,実写の日本映画としてこれまでで最高の収益を得た。
- しかし,「プリンセス&プリンスON THE アイス」というタイトルのCD は,2月22日に発売されてからすでに1万5000枚以上を出荷している。
- 隠し砦(とりで)の三悪人 THE LAST PRINCESS
- 交渉人 THE MOVIE
- 5月に公開予定の映画「座(ざ)頭(とう)市(いち) THE LAST」に出演している。
- THE LAST MESSAGE 海猿
- 荒川アンダー ザ ブリッジ THE MOVIE
- 踊る大捜査線 THE FINAL 新たなる希望
- それらの映画の1本である2003年に公開された「踊る大捜査線 THE MOVIE 2 レインボーブリッジを封鎖せよ!」は,現在でも日本の実写映画の興行収入歴代1位である。
- THE multiprogramming systemのページへのリンク