|
TOPS-20は、ディジタル・イクイップメント・コーポレーション(DEC)によるPDP-10向けの2番目のオペレーティングシステムである。PDP-10をTOPS-10で使っていたハッカー(少なくともITSやWAITSに移行していなかったユーザー)には大歓迎で迎えられた。TOPS-20の起源は、Bolt, Beranek and Newman社のTENEXオペレーティングシステム(1969年)であり、特製のページング機構を使用していた。このシステムは名前の類似しているTOPS-10とはほとんど全く関係なかったが、PA1050 TOPS-10モニターコール・エミュレーションファシリティが同梱されていて、これを使用するとTOPS-10用実行ファイルを(全部ではないが)ほとんど修正なしで動作させることができた。DEC自身のポリシーとして、DECのソフトウェアが必要とした場合を除いて PA1050 がアップデートされることはなかった。 == TENEX == 1960年代、BBNはDARPA主導の多くのLISPベースの人工知能プロジェクトに参加していた。その多くは当時としては大容量のメモリを必要とした。その解決策のひとつとしてLISP言語にページングソフトウェアを追加し、ある時点で必要とされないメモリをディスクに追い出し、必要になったときにメモリに戻すという方式が考えられた。マサチューセッツ工科大学(MIT)の Daniel L. Murphy はBBNに入社する前にPDP-1上でそのようなシステムを開発していた。初期のDECマシンは18ビットワードで、アドレス空間は 262Kワードまで可能だった。それらのマシンのメモリは高価な磁気コアメモリで、その容量は必要量には全く足りなかったのである。つまり、磁気コアメモリ容量は262Kワードよりずっと小さかったので、アドレス指定に使用する18ビットワードには全く使われないビット群があった。ページング機構はそのアドレスの内の使われていないビット群に磁気ドラムメモリ上のブロックのテーブルへのキーを埋め込んで使用した。磁気ドラムメモリはページングの「バッキングストア」として機能し、ソフトウェアは必要なページをフェッチして使用する。 1964年、DECはPDP-6を発表した。DECはMIT人工知能研究所と関係が深く、LISPハッカー達の様々な要望がこのマシンに取り入れられた。BBNもこのマシンをAI研究用に購入することを検討したが、BBNはDECに Murphy のページング機構を直接システムのハードウェアとして組み込むことを要望した。そのようなハードウェアを追加すれば全プログラムが透過的にページングの恩恵を受け、プログラミングがもっと簡単になる。DECは最初は興味を持ったが、1966年にPDP-6系列の開発を止めて18ビットと新たな16ビットの系列に専念することを発表した。PDP-6は高価で複雑であり、そのせいもあってあまり売れなかったのである。 しかし、DECが後にPDP-10と呼ばれるマシンで再度 36ビットの市場に参入することが明らかになるまで長くはかからなかった。BBNはページング機構導入についてのDECとの話し合いを再開し、新しいCPUの名前が KA10 であることを知った。DECはページングにはあまり興味が無かった。話し合いの成果として、メモリ領域を2つに分割し、プログラムをプロテクトされた領域とユーザー領域に分割できるようにした。さらにDECはマシンのコストを可能な限り削減するため、コアメモリ容量を16Kワードとし、レジスタ (コンピュータ)をRAM上に配置することで性能向上を図った。 それにも関わらずBBNは何台かのPDP-10を購入し、ハードウェアによる独自のページング機構を開発することを決めた。同時にどのようなオペレーティングシステムをこの新しいマシンで動作させるかが議論された。TOPS-10上の既存のソフトウェア資産を最小限の努力で引き続き使用可能にするという大前提があった。このため、TOPS-10にページング機能を組み込むことが必要となり、それが最大の問題となった。同時にTOPS-10は開発者が要望しているいくつかの機能をサポートしていなかった。最終的に彼らは全く新しいシステムを開発し、TOPS-10ソフトウェアを実行するためのエミュレーションライブラリをその上に構築することになった。 この新しいシステムはTENEXと呼ばれるようになり、完全な仮想記憶システムを含んでいた。すなわち、すべてのプログラムが同時に262Kワードのアドレス空間にアクセスできるようになっていた。ページング機構によりマッピングが制御され、必要なページがバッキングストアからコピーされた。後に必要となった修正は、ページング機構がRAMとバッキングストアの間のマッピングを何組か保持し、各プログラムがその内の1つずつを使用するようにしたことである。性能を最適化するため、ページング機構はアクセス時刻情報を保持した。結果としてページング機構はかなり複雑化し、大きな19インチラック筐体を1つ使い切ったのである。 TENEXの特筆すべき機能の1つとしてユーザー指向のコマンドラインインタプリタがある。当時の一般的なシステムとは異なり、TENEXは意図的に長いコマンド名を使用し、将来の拡張に備えて「ノイズワード」と呼ばれる部分も持っていた。例えば、UNIXでディレクトリ内のファイルをリスト表示する ls コマンドがあるが、TENEXでは DIRECTORY (OF FILES) というコマンド名になっている。ここで、"DIRECTORY" がコマンド名で、"(OF FILES)" がコマンドを明確化するためのノイズワードである。もちろん、ユーザーは長いコマンド名を入力したがらないので、TENEX は ''escape recognition''システムを使用して短いキー入力からコマンド名に拡張するようにした。例えば、ユーザーが DIR と入力してエスケープキーを押下すると、TENEXのコマンドラインインタプリタは DIR を完全なコマンド名に置き換えたのである。コマンドラインインタプリタの努力により、同様の機構がファイル名にも働いた。これによって人間が読んで理解できる長いファイル名が使えるようになった。TENEXにはクエスチョンマークを入力することで呼び出されるヘルプ機能もあった。その時点の入力にマッチするコマンド群のリストを表示し、抜け出すとクエスチョンマークも消去される。TENEXは小さなPDP-10市場でかなり人気を呼び、外部ページング機構の開発はそれ自体が小さなビジネスとなった。1970年代初期、DECはPDP-10の新たなプロセッサ KI10 の開発を開始した。BBNは再度DECに接触し、完全なページング機構のサポートを打診したが、DECはもっと単純なシステムを採用することにした。この計画は失敗だった。当時TENEXはPDP-10上で最も人気のあるオペレーティングシステムであり、新しいマシンではこれが動作しなかったのである。DECsystem-10と呼ばれたTOPS-10搭載システムにはいかなる種類の仮想記憶システムもなかった。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「TOPS-20」の詳細全文を読む スポンサード リンク
|