BBNとPDP-10
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/03/23 03:10 UTC 版)
全ての要望は通らなかったが、BBNは数台のPDP-10を購入し、ハードウェアによるページング機構を独自に開発することを決めた。同時に新機種で走らせるオペレーティングシステムについての議論も始まった。TOPS-10で動作する既存のソフトウェア資産を最小限の手間で継続利用できるようにするという強い要求があった。そのためOSを新規に開発するのではなく、TOPSにページング機構を組み込むという手法を取らなければならなくなり、これが最大の障害となった。またTOPSは開発者が望んでいた機能の多くをサポートしていなかった。結局OSを一から書き直し、TOPS-10のソフトウェアを最小限の手間で実行できるエミュレーションライブラリをその上に実装することになった。 ダニエル・マーフィーとダニエル・ボブローを擁する開発者チームは新システムの名称としてTENEX(10-エクステンド)を選択。完全な仮想メモリ機能を搭載しており、プログラムは仮想アドレス空間内で18ビットをフルに使った262144ワードにアクセスできるだけでなく、プログラム毎に別のアドレス空間が割り当てられて同時に利用できた。ページング機構がマッピングを制御し、必要なページをバッキングストアからコピーした。RAMとバッキングストアのマップを複数保持できるようにし、プログラム毎に1つずつ割り当てる改良が後にページング機構に加えられ、これが唯一の更新となった。ページング機構は最適化のためにアクセス時刻を保持していた。この結果ページング機構はかなり複雑なものとなり、フルサイズの19インチラック筐体1台を使い切った。 TENEXの特筆すべき機能の1つとしてユーザーフレンドリーなコマンドラインインタープリタがある。当時の一般的なシステムとは異なり、TENEXはあえて長いコマンド名を採用し、将来の拡張に備えた「ノイズワード」と呼ばれる部分を持っていた。例えばディレクトリ内のファイルをリスト表示するUNIXのlsコマンドは、TENEXではDIRECTORY (OF FILES)というコマンド名になっている。DIRECTORYはコマンド名で、(OF FILES)はコマンドの機能を明確にするためのノイズである。当然ユーザーはこれらの長いコマンドを好まないため、ユーザーが入力したコマンド名の一部を完全なコマンド名に置き換えることができるコマンド補完システムを備えていた。例えば、ユーザーがDIRと入力してエスケープキーを押すと、TENEXのコマンドラインインタプリタはDIRを完全なコマンドに置き換えた。インタープリタ側の工夫によりこの補完機能はファイル名にも使用できた。これにより人にも読みやすくて分かりやすい長いファイル名を使用できた。TENEXにはクエスチョンマーク(?)を入力することで呼び出せるヘルプ機能も搭載していた。その時点で入力済みのコマンド列から推測して、最も可能性が高い入力候補の一覧を表示し、元のコマンド列の?記号を候補と置き換えることができた。このコマンドライン補完とヘルプは、tcshのような現在のCLIでもそのまま使える。
※この「BBNとPDP-10」の解説は、「TENEX」の解説の一部です。
「BBNとPDP-10」を含む「TENEX」の記事については、「TENEX」の概要を参照ください。
- BBNとPDP-10のページへのリンク