TENEX
TENEXは小さなPDP-10市場でかなりの人気を呼び、外部ページング機構の開発はそれ自体が1つのビジネスとなった。1970年代初期にDECはPDP-10のプロセッサを新しいKI10にアップグレードする作業を開始した。BBNは再びDECに問い合わせ、間接ページテーブルに対応した完全なページング機構のサポートを求めたが、DECはよりシンプルな単一レベルのページング機構を採用した。この妥協はシステムの販売に悪影響を与えた。TENEXはPDP-10で動作するサードパーティー製のOSとして当時最も人気があったが、新しくて高速なKI-10では動作しなかった。
この問題に対処するため、DECのPDP-10担当セールスマネージャはBBNからTENEXの権利を買い取り、新機種に移植するプロジェクトを立ち上げた。マーフィーはBBNからDECに転職して移植プロジェクトを支援した。主な作業はBBNのハードウェアによるページング機構をソフトウェアとKI10の単純なハードウェアでエミュレーションすることだった。PDP-6とKI-10の性能差がこれを可能にした。また移植の際には新しいバッキングストアデバイスをサポートするためにたくさんのデバイスドライバを新たに開発しなければならなかった。
新TENEXがリリースされるとDECはKI-10の低コスト版であるKL-10の開発を開始した。その頃スタンフォード大学のAIプログラマー達(多くはMIT卒業生)は元のKA-10を10倍高速にしたPDP-10を独自に開発していた。
このプロジェクトはFoonlyに進化した。DECもこのプロジェクトを訪問し、彼らのアイデアの多くがKL10プロジェクトにも取り入れられた。同じ年にIBMも仮想メモリを採用した新たなマシンを発表し、仮想メモリのサポートは必須条件となりつつあった。最終的にKLはシステムにいくつかの大きな変更を統合することになり、コスト削減は全く実現しなかった。新しいDECSYSTEM-20はオペレーティングシステムとしてTENEXを最初から標準搭載した。
KL-10プロセッサに追加された新機能は少なかった。モデルBというハードで動作する際に仮想メモリのアドレス空間を拡張できる、ページャーのマイクロコードに対する修正(エクステンドアドレッシング)が最も大きな変更だった。アドレス長は30ビットで、物理メモリの18ビットを超えるアドレスを指定できたが、仮想メモリ空間は23ビットまでしかサポートされなかった。下位互換性を保つため、オリジナルの18ビットの空間を利用するプログラムはコードを変更することなく利用できた。
オペレーティングシステムの社内でのコード名は当初VIROS (VIRtual memory Operating System)だった。顧客から問い合わせが来るようになり、VIROSというプロジェクトの存在を完全否定するため、DECはコードネームを SNARK に変更した。