BAN.AI パブリック Multics サーバーのログイン画面。 | |
| 開発者 | MIT、GE、ハネウェル、ベル研究所 |
|---|---|
| 書かれた | PL/I、アセンブリ言語[1] |
| 作業状態 | 成熟、最新、歴史的、エミュレーター利用可能 |
| ソースモデル | オープンソース |
| 初回リリース | 1969年 |
| 最新リリース | 12.8 / 2023年8月10日 |
| リポジトリ |
|
| 利用可能 | 英語 |
| プラットフォーム | GE-645、Honeywell 6000 シリーズマシン ( Honeywell 6180、Series-60/Level-68、DPS-8/M メインフレーム) |
| カーネルタイプ | モノリシックカーネル |
| 影響を受けた | Unix、GEORGE 3、ICL VME、PRIMOS、ドメイン/OS、Stratus VOS |
| デフォルトの ユーザーインターフェース | コマンドラインインターフェース |
| ライセンス | 元々はプロプライエタリであったが、 2007年からはフリーソフトウェアMulticsライセンスとなった[2] [3] |
| 先行 | 互換性のあるタイムシェアリングシステム |
| 公式サイト | マルチcs-wiki.swenson.org |
Multics (" MULTiplexed Information and Computing Service ") は、シングルレベルメモリの概念に基づいた、影響力のある初期のタイムシェアリング オペレーティングシステムです。[4] [5] Nathan Gregory は、Multics は「マイクロコンピュータからメインフレームまで、それ以降の現代のオペレーティングシステムすべてに影響を与えてきた」と書いています。[6]
Multics の最初の計画と開発は、1964 年にマサチューセッツ州ケンブリッジで開始されました。当初は、 MIT (フェルナンド コルバトとのプロジェクト MAC ) がゼネラル エレクトリックおよびベル研究所と共同で行ったプロジェクトでした。このプロジェクトは、このために特別に設計されたGE 645コンピュータ上で開発され、最初のコンピュータは 1967 年 1 月に MIT に納入されました。GE は、初期のタイムシェアリング システムである「Mark I」とともに以前の 635 システムを提供し、645 を Multics とともにより大規模な後継として提供することを意図していました。ベルは、短期間で実用的なシステムを提供できないことが明らかになったため、1969 年にプロジェクトから撤退しました。その後まもなく、GE はコンピュータ業界から完全に撤退することを決定し、1970 年に部門をHoneywellに売却しました。Honeywell は Multics を商業的に提供しましたが、成功は限定的でした。
Multics には、電話や電気のユーティリティと同様のコンピューティング ユーティリティをサポートできるように、高可用性を確保するための機能が多数あります。これを実現するために、モジュール式のハードウェア構造とソフトウェア アーキテクチャが使用されています。コンピューティング能力、メイン メモリ、ディスク ストレージなど、適切なリソースを追加するだけで、システムのサイズを拡張できます。ファイルごとに個別のアクセス制御リストがあるため、柔軟な情報共有が可能で、必要に応じて完全なプライバシーも確保できます。Multics には、エンジニアがシステムのパフォーマンスを分析できるようにする標準メカニズムが多数用意されているほか、適応型パフォーマンス最適化メカニズムも多数用意されています。
Multics は、欠点はあるものの、斬新で価値あるアイデアを数多く備えたため、コンピュータサイエンスに大きな影響を与えてきました。 [7] Multics がコンピュータ業界に与えた最も永続的な影響は、Unix の誕生を促したことです。Unix は Multics の多くの機能を継承しながらも、より安価なハードウェアで実行できるようになりました。Unix は Bell で開発され、Multics チームが最初は PDP -7、最終的にはPDP-11 という小型マシンを使用して研究を継続できるようにしました。
斬新なアイデア

Multics は、データ アクセス用に単一レベルのストアを実装し、ファイル( Multics ではセグメントと呼ばれる) とプロセス メモリの明確な区別を廃止しています。プロセスのメモリは、そのアドレス空間にマップされたセグメントのみで構成されます。プロセスは、それらのセグメントを読み書きするために、通常の中央処理装置(CPU) 命令を使用するだけで、オペレーティング システムはすべての変更がディスクに保存されていることを確認します。POSIX 用語では、すべてのファイルが ed であるかのように扱われます。ただし、Multics には、 Unixにあるような、マップされたファイルを保持するために使用されるメモリとは別のプロセス メモリの概念はありません。システム内のすべてのメモリは、ファイル システムに表示されるセグメントの一部です。これには、プロセスの一時的なスクラッチ メモリ、カーネル スタックなどが含まれます。
mmap()
Multics ハードウェアにはセグメントの内容に 18 ビットのワード アドレスがあるため、セグメントは 256キロワード(1 MB強 ) に制限されます。これより大きいファイルは「マルチセグメント ファイル」と呼ばれ、処理方法が異なります。当時は 1 MB のメモリが法外に高価だったため、実際には 256 キロワードの制限に遭遇することはほとんどありませんでした。
Multics のもう 1 つの主要な新しいアイデアは、動的リンクです。これは、実行中のプロセスが外部ルーチンを含むセグメントをそのアドレス空間に追加することで、外部ルーチンを使用できるようにするものです。これにより、アプリケーションは常に最新バージョンの外部ルーチンを使用できます。これらのルーチンは他のセグメントに保持され、プロセスが最初にそれらのセグメントで実行を開始しようとしたときにのみ動的にリンクされるからです。異なるプロセスは異なる検索ルールを使用できるため、異なるユーザーは異なるバージョンの外部ルーチンを使用することになります。同様に重要なのは、Multics のセキュリティ機能を適切に設定することで、他のセグメントのコードが別のプロセスで維持されているデータ構造にアクセスできることです。Multics の動的リンクには特別なダイナミック リンク ライブラリ (DLL) は必要ありません。プログラムは、アクセス権を持つ任意の実行可能セグメントに動的にリンクできます。
したがって、部分的にデーモンとして(別のプロセスで) 実行されているアプリケーションと対話するには、ユーザーのプロセスは、動的にリンクされたコード セグメント (デーモンに関連付けられた操作を実装したコード セグメント) に対して通常のプロシージャ呼び出し命令を実行するだけです。その後、そのセグメントのコードは、デーモンで保持および使用されているデータを変更できます。要求を開始するために必要なアクションが完了すると、単純なプロシージャ リターン命令によって、ユーザーのプロセスの制御がユーザーのコードに戻ります。
Multics は、極めて積極的なオンライン再構成もサポートしています。つまり、中央処理装置、メモリ バンク、ディスク ドライブなどを追加したり削除したりしても、システムは動作し続けます。初期のソフトウェア開発のほとんどが行われた MIT システムでは、オフ時間にマルチプロセッサシステムを 2 つの別々のシステムに分割し、2 つ目の稼働システムを形成するのに十分なコンポーネントを段階的に削除し、残りのコンポーネントは元のログイン ユーザー用に引き続き実行したままにしておくのが一般的でした。システム ソフトウェア開発テストは 2 つ目のシステムで実行し、その後、2 つ目のシステムのコンポーネントをメイン ユーザー システムに再度追加しました。システムをシャットダウンする必要はありませんでした。Multics は複数の CPU をサポートしており、最も初期のマルチプロセッサ システムの 1 つです。
Multicsは、最初から安全なシステムとして設計された最初の主要なオペレーティングシステムです。 [8]それにもかかわらず、Multicsの初期のバージョンは繰り返しセキュリティが侵害されました。[9]これにより、システムのセキュリティをさらに強化する作業が続き、現代のセキュリティエンジニアリング手法が先駆けて登場しました。第2世代のハードウェアベースが採用されると、侵入は非常にまれになりました。リング指向のセキュリティ、つまりマスターモードの概念を多層的に改良したハードウェアサポートが採用されています。[要出典] 1973年、米国空軍タイガーチームプロジェクトは、コードワードZARFを使用してMulticsのセキュリティをテストしました。 1997年5月28日、米国国家安全保障局は、このコードワードZARFの使用を機密解除しました。
Multicsは階層型ファイルシステムを提供した最初のオペレーティングシステムであり[ 10] [11]、ファイル名の長さと構文はほぼ任意です。特定のファイルまたはディレクトリには複数の名前(通常は長い形式と短い形式)を付けることができ、ディレクトリ間のシンボリックリンクもサポートされています。Multicsは、各セキュリティリングごとに別々のスタックを持つ、現在では標準となっているプロセスごとの スタックの概念[論争中-議論]をカーネルで初めて使用しました。また、コマンドプロセッサを通常のユーザーコードとして実装した最初のオペレーティングシステムでもあり、このアイデアは後にUnixシェルで使用されました。また、Multicsは、 ALGOLの拡張バージョンであるESPOLで書かれたBurroughs MCPシステムに倣って、高級言語(Multics PL/I)で書かれた最初のオペレーティングシステムの1つでもあります[1] [12]。
Multics をセキュア コンピューティング環境に導入したことで、革新的なサポート アプリケーションの開発も促進されました。1975 年、MITRE 社の Morrie Gasser 氏は、機密情報を処理する空軍データ サービス センター (AFDSC) などの施設のパスワード要件に対応するために、発音可能なランダム ワード ジェネレーターを開発しました。推測可能なパスワードを回避するために、AFDSC はパスワードを割り当てることを決定しましたが、手動で割り当てるには管理上のオーバーヘッドが大きすぎるという結論に達しました。そのため、ランダム ワード ジェネレーターが研究され、PL/I で開発されました。このシステムは、音素に基づくのではなく、音素セグメント (英語の 2 次近似) やその他の規則を使用して発音可能性とランダム性を高め、他のアプローチに対して統計的にモデル化されました。[13]このジェネレーターの派生が、プロジェクト ガーディアン中に Multics に追加されました。[14]
プロジェクトの歴史
1964 年、Multics は当初36 ビットシステムであるGE-645メインフレーム用に開発されました。Multics を含む GE のコンピュータ事業は 1970 年に Honeywell に引き継がれ、1973 年頃には、保護リングのハードウェア サポートなどのセキュリティ強化が行われたHoneywell 6180マシンで Multics がサポートされました。
ベル研究所は1969年にプロジェクトから撤退したが、そこで働いていた人々の一部はUnixシステムの開発に携わった。Multicsの開発はMITとゼネラル・エレクトリックで継続された。1975年のMITではMulticsの使用は減少し、1976年になっても以前のレベルには回復しなかった。[15] [16]最終的にMITは価格を大幅に引き下げることで、1978年にユーザーをMulticsに呼び戻すことに成功した。[17]
1974 年、ハネウェルは空軍 (MIT を下請け業者として) と開発契約を結び、 Multics のセキュリティ カーネルを開発しました。この契約では、スーパーバイザーの特定のコンポーネントをリング 0 から移動することで、Multics のハードコアのサイズを縮小しました。セキュリティ評価を実施した後の最初のステップの 1 つは、AIM (アクセス分離メカニズム) と呼ばれる Multics 内のマルチレベル セキュリティフレームワークの実装でした。これにより、 Multics が既に備えていた既存の任意アクセス制御を補完できる強制アクセス制御が提供されました。 [18]その結果生まれたガーディアン プロジェクトは 1976 年に終了するまで実行されました。ほとんどの変更は Multics に追加されませんでしたが、提案されたセキュア フロント エンド プロセッサなどのプロジェクトの一部は、ハネウェルによって SCOMP (セキュア通信プロセッサ) として製品化されました。[19] SCOMP とその STOP オペレーティング システムは、最終的に XTS-200 および XTS-300 を経て、現在のセキュア オペレーティング システムであるXTS-400に進化しました。[20]
Honeywell は 1985 年までシステム開発を続けました。大学、業界、政府機関の約 80 の数百万ドル規模のサイトがインストールされました。フランスの大学システムには 1980 年代初頭に複数のインストールがありました。Honeywell が Multics のサポートを中止した後、ユーザーは Unix などの他のシステムに移行しました。
1985 年、Multics は、 NSAの一部門である国立コンピュータ セキュリティ センター(NCSC)のTrusted Computer System Evaluation Criteria (信頼できるコンピュータ システム評価基準) に基づいて、B2 レベルの安全なオペレーティング システムとして認定されました。このレベルまで評価された最初のオペレーティング システムでした。
Multicsは1975年から2000年まで、ヨーロッパではGroupe Bull、米国ではBull HN Information Systems Inc.によって配布されていました。2006年にBull SASは、 MulticsバージョンMR10.2、MR11.0、MR12.0、MR12.1、MR12.2、MR12.3、MR12.4、MR12.5のソースコードをフリーソフトウェアライセンスの下でリリースしました。[21]
ハネウェルのハードウェア上でネイティブに動作していた最後のMulticsインストールは、2000年10月30日にカナダのノバスコシア州ハリファックスにあるカナダ国防省でシャットダウンされました。 [22]
現在の状況
2006年にBull HNは1992年のMulticsの最終リリースであるMR12.5のソースコードをMITにリリースした。[23] TCP/IPなどの一部のオプション部分を除いて、システムの大部分は現在フリーソフトウェアとして利用可能である。[24]
2014年、Multicsは、MulticianのHarry ReedとCharles Anthonyによって作成されたエミュレータを使用して、現在のハードウェア上で正常に実行されました。[25]エミュレータの1.0リリースは2017年現在利用可能です[アップデート]。[26] Multicsのリリース12.6fはエミュレータの1.0リリースに付随しており、コマンドラインの呼び出しやビデオシステムを使用した編集など、いくつかの新機能が追加されています。[27]
コマンド
以下は、Multicsコマンドラインインターフェースでサポートされている一般的なコンピューティングタスク用のプログラムとコマンドのリストです。[28] [29] [30 ]
ファイルとディレクトリのアクセスコマンド
- change_wdir ( cwd ) -作業ディレクトリを変更する
- create_dir ( cd ) - ディレクトリを作成する
- コピー( cp ) - ファイルをコピーする
- リスト( ls ) - ファイルとディレクトリを一覧表示する
- print ( pr ) - テキストファイルの内容を印刷する
- print_wdir ( pwd ) -作業ディレクトリを印刷する
- 移動( mv ) - ファイルまたはディレクトリを別のディレクトリに移動する
- 名前の変更( rn ) - ファイルを移動せずに名前を変更する
テキストエディタ
- edm - シンプルなラインエディタ
- emacs -マルチcs Emacs
- テコ
ドキュメントフォーマッタ
- 流出( rf )
コンパイラ、アセンブラ、インタープリタ
メール
- メール(ml)
- メールを読む( rdm )
- メールを送信( sdm )
オンラインドキュメント
スクリプト
データ処理
- gcos ( gc ) - GCOSプログラムを実行するシミュレーター
- ソート、マージ- テキストファイルとバイナリファイルのソートとマージ
ログインセッション
アクティブ機能
Multicsシェル言語は、コマンドに似ていますが文字列値を返す「アクティブ関数」をサポートしています。アクティブ関数は、アクティブ関数名とアクティブ関数への引数を角括弧[と]で囲むことで呼び出されます。アクティブ関数によって返された文字列は、アクティブ関数の呼び出しの代わりにコマンドに代入されます。たとえば、コマンドecho [working_dir]が処理されると、アクティブ関数working_dirが実行され、作業ディレクトリのフルパスが返されます。このフルパスがコマンドに代入され、echoコマンドが作業ディレクトリを出力します。
一部のプログラムはコマンドとしてもアクティブ関数としても動作することができます。コマンドとして実行されるとその結果が印刷され、アクティブ関数として実行されるとその結果が文字列として返されます。[30]
一般的なアクティブ関数は次のとおりです。
- ceil - 引数以上の最小の整数を返す
- floor - 引数以下の最大の整数を返します
- home_dir ( hd ) -ホームディレクトリを返す
- ltrim
- トリム
- trunc - 引数の整数部分を返します
- working_dir ( wd ) -作業ディレクトリを返す
過去を振り返る
Unixの初期の時代を扱った本の著者であるピーター・H・サルス[32]は、「Multicsでは、より多用途で柔軟なオペレーティングシステムを目指したが、惨めに失敗した」という見解を述べた。[33]しかし、この見解は、Multicsの技術革新の多くが現代の商用コンピューティングシステムで使用されているため、コンピューティングコミュニティでは信用されていないと言われている。[7] [より良い情報源が必要]
当時は大きすぎて複雑すぎると揶揄されていたシステムである Multics の常駐カーネルは、135 KB のコードでした。[要出典]最初のMIT GE-645には 512 キロワード (2 MiB) のメモリがあり、当時としては非常に大きな量であり、カーネルは Multics メイン メモリの適度な部分を使用していました。
オペレーティング システムと複雑な PL/Iコンパイラ、ユーザー コマンド、サブルーチン ライブラリを含むシステム全体は、約 1500 個のソース モジュールで構成されています。これらのモジュールはそれぞれ平均約 200 行のソース コードで構成され、合計で約 4.5 MiB のプロシージャ コードにコンパイルされます。これは当時の基準では非常に大きなサイズでした。
Multics コンパイラは、通常、 CPU パフォーマンスよりもコード密度を重視して最適化します。たとえば、短い標準コード シーケンスには演算子と呼ばれる小さなサブルーチンを使用します。これにより、オブジェクト コード サイズを最新のシステムと比較することはあまり役に立ちません。高価なメイン メモリを備えたマルチユーザーシステムである Multics では、高いコード密度が適切な最適化の選択肢となります。
商用製品の歴史の中で、Honeywell Information Systems (HIS) (後のHoneywell-Bull) の営業およびマーケティング スタッフは、Honeywell の他のコンピュータ ラインであるGCOS を実行するDPS 6のビジネス ケースの作成に慣れており、その方が快適だと社内でよく言われていました。DPS-6 と GCOS は、在庫、会計、ワード プロセッシング、銀行などの垂直市場アプリケーション向けの、評価が高く信頼性の高いプラットフォームであり、かなりの顧客ベースがありました。対照的に、Multics の柔軟性が日常的なタスクにも十分に対応できることは、当時は理解しにくく、その機能は一般に当時のビジネス アナリストのスキルの範囲外でした。[要出典]この断絶の範囲は、CNO/CSC の Paul Stachour が語った逸話によって具体化されました。
1983 年にアメリカン・テレフォン・アンド・テレグラフが社名を AT&T に変更したとき、ハネウェルの法務部門の職員がやって来て、マルチシアの職員に、すべてのコンピュータ化された文書で名前を変更する手配をしてくれるかどうか尋ねました。いつプロセスが完了するかを尋ねられたマルチシアの職員は、「完了しました」と答えました。職員は、何百、おそらく何千もの文書を更新する必要があると繰り返しました。マルチシアの職員は、職員が話している間にグローバル検索と置換を実行し、タスクは実際に完了したと説明しました。[引用が必要]
他のプロジェクトへの影響
ユニックス
Multicsの設計と機能はUnixオペレーティングシステムに影響を与えました。Unixはもともと2人のMulticsプログラマー、ケン・トンプソンとデニス・リッチーによって書かれました。[34] MulticsのUnixへの影響は、階層ファイルシステム、リダイレクト、シェル、一部のコマンドの命名など、多くの領域で明らかです。しかし、内部の設計思想はまったく異なり、システムを小さくシンプルに保つことに重点が置かれており、当時の限られたコンピュータハードウェアに対する高いリソース要求が原因でMulticsに見られる欠陥のいくつかを修正しました。
Unix (元々はUnics )という名前自体がMulticsの語呂合わせです。UnixのUは Multics の多重化ではなく、ユニプレックス化を表しているという噂があり、設計者が Multics の複雑さを拒絶し、より小型のコンピュータ向けにもっと単純で実用的なアプローチを選んだことをさらに強調しています。(Garfinkel と Abelson [35]は別の由来を挙げています。ベル研究所の Peter Neumann がプロトタイプのデモを見て、「去勢された Multics」という意味で UNICS (「eunuchs」と発音) という語呂合わせの名前を提案したそうですが、Dennis Ritchie はこれを否定したと言われています。[36] )
ケン・トンプソンは、2007 年のピーター・サイベルとのインタビュー[34]の書き起こしの中で、Multics について「過剰設計で過剰に構築され、すべてが過剰でした。ほとんど使えない状態でした。彼ら [マサチューセッツ工科大学] は今でも Multics が大成功だったと主張していますが、明らかにそうではありませんでした」と述べています。Multics が Unix に与えた影響について、トンプソンは「私が実際に Multics を気に入って取り入れたのは、階層型ファイル システムとシェル (別のプロセスで置き換えることができる独立したプロセス) です」と述べています。
デニス・リッチーはUNIXの設計はCTSSの影響を受けたと書いている。[37]
その他のオペレーティングシステム
Prime Computer のオペレーティング システムであるPRIMOSは、同社の創設者であるWilliam Poduskaによって「靴箱に入った Multics」と呼ばれていました。Poduska は後にApollo Computerを設立し、同社の AEGIS およびそれ以降のDomain/OSオペレーティング システムは「マッチ箱に入った Multics」とも呼ばれ、Multics の設計をネットワーク グラフィックス ワークステーション環境に拡張しました。
Stratus Computer (現在のStratus Technologies ) のStratus VOSオペレーティング システムは、Multics の影響を強く受けており、その外部ユーザー インターフェイスと内部構造はどちらも、以前のプロジェクトと多くの点でよく似ています。Multics の高信頼性、高可用性、およびセキュリティ機能は、Stratus VOS で拡張され、安全で信頼性の高いトランザクション処理をサポートする新しいフォールト トレラントコンピュータ システムラインをサポートします。Stratus VOS は、Multics に最も近い後継製品であり、現在も積極的に開発および実稼働で使用されています。
ゼネラルモーターズのControl Data Corporation STAR-100コンピュータ用のマルチコンソールタイムシェアリングシステム(MCTS) は、Multics をベースとしていました。
システムのあるレベルのコードが別のレベルのリソースにアクセスする能力を制限する Multics の保護アーキテクチャは、 ICLのVMEオペレーティング システムのセキュリティ機能の基礎として採用されました。
エディンバラ多重アクセス システム( EMAS) は、Multics で使用される 1 レベル ストアの概念を特に利用し、ファイルをメモリにマッピングすることによってのみファイルへのアクセスを提供します。すべてのメモリ空間はセグメントに関連付けられています。
参照
- タイムシェアリングシステムの進化
- ピーター・J・デニング
- ジャック・B・デニス
- ロバート・ファノ– MITのプロジェクトMACのディレクター(1963年~1968年)
- ロバート・M・グラハム(コンピュータ科学者)
- JCR リックライダー– MIT の MAC プロジェクト ディレクター (1968–1971)
- ピーター・G・ノイマン
- エリオット・オーガニック
- ルイ・プーザン- Multics で使用されるコマンド言語に「シェル」という用語を導入しました。
- ジェローム・H・サルツァー
- ロジャー・R・シェル
- グレンダ・シュローダー– 最初のコマンドライン ユーザーインターフェース シェルを実装し、プーザンとクリスマンとともに最初の電子メールシステムを提案した。
- ヴィクター・A・ヴィソツキー
参考文献
- ^ ab RA Freiburghouse、「The Multics PL/1 Compiler」、General Electric Company、マサチューセッツ州ケンブリッジ、1969 年。
- ^ 「Multics License (Multics) - Open Source Initiative」。opensource.org。2008年2月5日。 2018年4月11日閲覧。
- ^ 「Multicsに関する神話」www.multicians.org 。 2018年4月11日閲覧。
- ^ Dennis M. Ritchie、「Unix タイムシェアリング システムの進化」、Communications of the ACM、第 17 巻、1984 年、365-375 ページ。
- ^ Dan Murphy (1996) [1989]. 「TOPS-20の起源と開発」
- ^ グレゴリー、ネイサン(2018年5月)。The Tym Before。Lulu.com。66ページ。ISBN 9781387824755. 2020年3月29日閲覧。
- ^ ab 「Multicsに関する神話」www.multicians.org . 2018年4月11日閲覧。
- ^ Saltzer, Jerome H. (1974 年 2 月)。「Multics における情報共有の保護と制御」(PDF)。Multics 入門」、MAC TR-123 (レポート)。マサチューセッツ州ケンブリッジ: マサチューセッツ工科大学および Honeywell Information Systems Inc. pp. 2–41。2022年3 月 16 日閲覧。
- ^ Tom Van Vleck (2002)。「空軍はいかにしてMultics Securityを破ったか」
- ^ 「Multics Glossary -F-」www.multicians.org . 2018年4月11日閲覧。
- ^ RC Daley と PG Neumann、「二次記憶装置用の汎用ファイルシステム」、AFIPS '65 (秋季、パート I) 1965 年 11 月 30 日~12 月 1 日の議事録
- ^ Brian Kernighan が Unix の起源について語る LWN.net。2022 年。
- ^ 「発音可能なパスワード用のランダムワードジェネレーター」(PDF)。マサチューセッツ州ベッドフォード:米国空軍システム司令部電子システム部門。1975年11月。ESD-TR-75-97。2022年4月8日時点のオリジナルよりアーカイブ(PDF) 。 2021年3月8日閲覧。
- ^ Van Vleck, Tom. 「パスワードジェネレーター」 。 2021年3月8日閲覧。
- ^ 「Report of the President」(PDF)。マサチューセッツ工科大学紀要。111 (4): 355。 1975年12月。 2022年4月13日時点のオリジナル(PDF)からアーカイブ。 2022年4月12日閲覧。Honeywell
6180システムで運用されているMulticsサービスの利用は減少し、15パーセントの減少となった。
- ^ 「Report of the President」(PDF)。マサチューセッツ工科大学紀要。112 (4): 392。 1976年11月。 2022年4月13日時点のオリジナル(PDF)からアーカイブ。 2022年4月12日閲覧。...
資金を獲得できなかったいくつかのMulticsプロジェクトの終焉。
- ^ 「大統領と首相の報告書」(PDF)。マサチューセッツ工科大学。1978年。450ページ。2022年4月13日時点のオリジナル(PDF)からアーカイブ。 2022年4月12日閲覧。
しかし、この新しい価格設定は多くの人にとって非常に魅力的であることが証明され、Multicsのユーザーと使用量が大幅に増加しました。
- ^ 「 Multicsデータセキュリティ」。multicians.org 。
- ^ Fraim, Lester J. (1983 年 7 月)。「Scomp: マルチレベル セキュリティ問題の解決策」。コンピュータ16 ( 7): 26–34。doi : 10.1109 /MC.1983.1654440。
- ^ 「STOP OS™ バージョン 7.3.1 セキュリティ ターゲット」(PDF)。Common Criteria。
- ^ “Multics”. stuff.mit.edu . 2022年7月25日閲覧。
- ^ 「Multics History Dates」 。 2015 年9 月 13 日閲覧。
DND-H のシャットダウン (10/30/00 17:08Z)
- ^ Van Vleck, Tom. 「Open Source for Multics」. Multicians.org . 2016年4月11日閲覧。
- ^ Anthony, Charles. 「(email) Re: [dps8m-developers] Multiprocessor and/or networked Multics」. Sourceforge.net . 2016年4月11日閲覧。
- ^ 「RingZero - Multics reborn」. WikidotCom . 2015年4月11日閲覧。
- ^ 「Multics Simulator」 。 2017年7月9日閲覧。
- ^ 「Multicsのインストール」。2020年5月19日閲覧。
- ^ Honeywell Bull, Inc. (1985年2月). Multicsコマンドとアクティブ関数(AG92-06) (PDF) . 2023年3月30日閲覧。
- ^ 「Unix と Multics」。
- ^ ab 「Multics コマンド」。
- ^ Multics C ユーザーズガイド(PDF) . Honeywell Bull. 1987年11月. 2024年3月26日閲覧。
- ^ Salus, Peter H. (1994). UNIX の四半世紀(1995 年 1 月版訂正再版). マサチューセッツ州レディング: Addison-Wesley Pub. Co. ISBN 978-0-201-54777-1。
- ^ Ward, Mark (2009 年 8 月 20 日)。「Unix の 40 年」。BBCニュース。2010 年4 月 27 日閲覧。ピーター・サルスの言葉を引用します。
- ^ ab Peter Seibel. Coders at Work : Reflections on the Craft of Programming. APress Publications、2007年。ISBN 978-1-4302-1948-4
- ^ ガーフィンケル、シムソン、アベルソン、ハロルド。情報社会の設計者:MIT コンピュータサイエンス研究所の 35 年間。MIT プレス、1999 年。ISBN 978-0262071963
- ^ Karn, Phil (1981 年 10 月 28 日). 「Unix の起源」.ニュースグループ: fa.unix-wizards. Usenet: 4743@Aucbvax.UUCP . 2014 年4 月 11 日閲覧。
- ^ Ritchie, Dennis M. (1977). The Unix Time-sharing System: A Retrospective (PDF) . Tenth Hawaii International Conference on the System Sciences.
UNIX は本質的に MIT の CTSS システムの現代的実装であると言えるでしょう。
さらに読む
文献には、Multics とそのさまざまなコンポーネントに関する多数の論文が含まれています。かなり完全なリストは、Multics 参考文献ページと、2 番目のより簡潔な 1994 年 Multics 参考文献 (テキスト形式) で参照できます。最も重要で有益なものを以下にリストします。
- FJ Corbató、VA Vyssotsky 著の『Multics システムの概要と導入』( AFIPS 1965) は、このシステムの優れた入門書です。
- FJ Corbató、CT Clingen、JH Saltzer著『Multics – The First Seven Years』(AFIPS、1972 年)は、初期の取り組みからかなりの期間使用して改良を重ねた上で書かれた優れたレビューです。
- JJ Donovan、S. Madnick 著『Operating Systems』は、オペレーティング システムに関する基礎的な読み物です。
- JJ Donovan の「Systems Programming」は、システム プログラミングとオペレーティング システムへの優れた入門書です。
技術的な詳細
- Jerome H. Saltzer著『Introduction to Multics』 (MIT Project MAC、1974 年) は、実際のユーザー向けに書かれた、かなり長いシステム入門書です。
- Elliott I. Organick 著の『The Multics System: An Examination of Its Structure』(MIT Press、1972 年)は、このシステムに関する標準的な著作ですが、これは初期のバージョンを文書化したものであり、そこに記載されている機能の一部は実際のシステムには登場しませんでした。
- VA Vyssotsky、FJ Corbató、RM Graham 著「Structure of the Multics Supervisor (AFIPS 1965)」では、Multics カーネルの基本的な内部構造について説明しています。
- Jerome H. Saltzer の「多重化コンピュータ システムにおけるトラフィック制御」 (MIT Project MAC、1966 年 6 月) は、カーネル スタックの切り替えというアイデアを最初に説明したもので、コンピュータ サイエンスの古典的な論文の 1 つです。
- RC Daley、PG Neumann、「A General Purpose File System for Secondary Storage (AFIPS、1965)」では、アクセス制御やバックアップ メカニズムを含むファイル システムについて説明しています。
- RJ Feiertag、EI Organick、「Multics 入出力システム」。I/O 実装の下位レベルについて説明します。
- A. Bensoussan、CT Clingen、RC Daley 著『The Multics Virtual Memory: Concepts and Design』( ACM SOSP、1969 年) では、Multics メモリ システムについて詳しく説明しています。
- Paul Green 著「Multics 仮想メモリ - チュートリアルと考察」は、 Multics ストレージ システムを詳細に説明した優れた書籍です。
- Roger R. Schell 著「モジュラー コンピュータ システムにおける動的再構成(MIT Project MAC、1971)」では再構成のメカニズムについて説明しています。
安全
- Paul A. Karger、Roger R. Schell 共著『Multics セキュリティ評価: 脆弱性分析』 (空軍電子システム部門、1974 年) では、「タイガー チーム」による Multics セキュリティに対する典型的な攻撃について説明しています。
- Jerome H. Saltzer、Michael D. Schroeder 共著の「The Protection of Information in Computer Systems」 ( IEEE議事録、1975 年 9 月)では、セキュリティ アップグレードの第 1 ラウンドの基礎について説明されており、これもまた古典的な論文です。
- MD Schroeder、DD Clark、JH Saltzer、DH Wells。Multicsカーネル設計プロジェクトの最終報告書(MIT LCS、1978) では、さらに改良されたバージョンを作成するために追加されたセキュリティ アップグレードについて説明しています。
- Paul A. Karger、Roger R. Schell 共著『Thirty Years Later: Lessons from the Multics Security Evaluation』 (IBM、2002 年) は、今日の厳しい環境で実際に導入されているセキュリティと、数十年前に実証されたセキュリティを比較した興味深い回顧録です。この論文では、Multics は 2002 年に市販されていたほとんどのシステムよりもかなり強力なセキュリティを提供したと結論づけています。
外部リンク
- multicians.orgは多くの資料が掲載された総合的なサイトです
- Multics 論文オンライン
- Multics 用語集
- 神話では、Multics に関する数多くの神話について詳しく論じています。その中には、Multics が失敗した、大きくて遅い、といった神話や、いくつかの理解できる誤解などが含まれています。
- Multics セキュリティ
- Unix と Multics
- Multics の一般情報と FAQ Multics の影響を受ける他のソフトウェア システムの広範な概要が含まれています
- GE Large Systems / Honeywell / Bull 600/6000 シリーズ メインフレーム コンピュータ用のオープン ソース エミュレーター
- Honeywell, Inc.、MULTICS 記録、1965 ~ 1982 年。ミネソタ大学、チャールズ バベッジ研究所。Multics 開発記録には、第 2 版の MULTICS システム プログラマーズ マニュアル、特にセキュリティに関する手順、アプリケーション、および問題を説明する MULTICS 技術速報、および技術論文や論文提案を含む返送された「コメント要求フォーム」が含まれます。
- 現在の Multics 開発ホームページ
- MIT の公式歴史的ソースコード アーカイブ
- 米国議会図書館のWeb アーカイブにあるさまざまな Multics 情報へのリンク ページ(2001 年 11 月 30 日アーカイブ)
- Wayback Machineの Stratus Computer の Multics リポジトリ(2002-02-19 アーカイブ)
- マインツ大学のMultics
- スキャンされたさまざまなMulticsマニュアル
- Wayback Machineの Multicians.org とオペレーティング システムの歴史(2021-01-14 アーカイブ)、Multicians.org の批評的なレビューと Multics の簡潔な歴史。
