第 1 版 UNIX リポジトリへようこそ。ここには、PDP-11 シミュレータ上で 1e UNIX を実行できるようにするカーネル ソース コードとユーザーランド バイナリがあります。
特に断りのない限り、ファイル名とディレクトリ名はこのリポジトリを指します。
Simh シミュレーターのソース コードをここからダウンロードします: http://simh.trailing-edge.com/。必ずバージョン 3.8-0 以降をダウンロードしてください。以前のバージョンが動作するにはパッチが必要です。
Simh をどこかで解凍します。 Simh の BIN/ ディレクトリを最上位に作成します。 BIN/ ディレクトリに pdp11 シミュレータを作成するには、make pdp11 を実行します。 BIN/pdp11 実行可能ファイルを tools/ ディレクトリにコピーします。
第 1 版の最上位ディレクトリに戻ります。メイクをしてください。これにより、いくつかのことが行われます。 tools/mkfs、tools/ml、tools/apout/apout をビルドします。これらのツールは、1e UNIX 用のファイルシステムとカーネルを構築するために必要です。いくつかの必要なパッチを含むカーネル ソースを作成し、カーネルをアセンブルして、イメージ ディレクトリにインストールされるブート可能な Simh メモリ イメージを構築します。最後に、make は rf0.dsk、rk0.dsk、およびテープ イメージを構築し、これらをイメージ ディレクトリにインストールします。 「make clean」を実行して、images/ ディレクトリと build/ ディレクトリを削除することもできます。 「make clobber」は、images/、build/、および tools/ ディレクトリを消去します。
./simh.cfg を実行すると、pdp11 シミュレーターが起動します。これが表示されるはずです:
PDP-11 シミュレータ V3.8-0 ./simh2.cfg> #!tools/pdp11 不明なコマンド CR の無効化 XQ の無効化 RF: メモリ内のファイルのバッファリング TC0: 16b フォーマット、メモリ内のファイルのバッファリング ポート 5555 (ソケット 7) でリッスン
「login:」プロンプトが表示されます。
root に続けて と入力します。 # プロンプトが表示されるはずです。
ls -l コマンドを入力します。次のようなものが表示されるはずです。
合計 6 43 sdrwr- 2 root 620 Jan 1 00:00:00 bin 42 sdrwr- 2 root 250 Jan 1 00:00:00 dev 104 sdrwr- 2 root 110 Jan 1 00:00:00 etc 114 sdrwr- 2 root 50 1月1日 00:00:00 tmp 41 sdrwr- 7 root 70 1月1日00:00:00 usr
ディレクトリを変更するには、chdir (例: chdir /usr) を使用します。インストールされているエディターは「ed」のみです。 ed チュートリアルは、notes/edtut.txt にあります。
複数回ログインするには、ローカルホストのポート 5555 に Telnet で接続します。システムは 8 つのリモート ログインを許可するように設定されています。
システムをシャットダウンするには、ctrl-E を押してシミュレータを停止し、q を押して終了します。シャットダウン前にシステムを同期する必要はありません。
第 1 版 UNIX のマニュアルは、https://www.bell-labs.com/usr/dmr/www/1stEdman.html および http://www.bitsavers.org/pdf/bellLabs/unix/UNIX_ProgrammersManual_Nov71 から入手できます。 .pdf
第 1 版 UNIX の内部に関するドキュメントの一部は、http://www.bitsavers.org/pdf/bellLabs/unix/PreliminaryUnixImplementationDocument_Jun72.pdf から入手できます。
PDP-11/20 アーキテクチャとその周辺機器の詳細については、http://www.bitsavers.org/pdf/dec/pdp11/handbooks/PDP1120_Handbook_1972.pdf http://www.bitsavers.org/pdf/ を参照してください。 dec/pdp11/handbooks/PDP11_PeripheralsHbk_1972.pdf
第 2 版 UNIX の C コンパイラもインストールされて動作しますが、この言語は C の非常に初期の方言です。現時点でこの言語に最も近いリファレンスはこれですが、おそらく 2 年遅すぎます: https:/ /www.bell-labs.com/usr/dmr/www/cman74.pdf
ユーザーランドのバイナリは、UNIX の第 1 版と第 2 版の間の時期のものです。 2e マニュアルも役に立つかもしれません: http://www.bitsavers.org/pdf/bellLabs/unix/Unix_2nd_Edition_Manual_Jun72.pdf
Pages/ - PreliminaryUnixImplementation ドキュメントから OCR されたページを再構築/ - OCR されたページから asm ファイルとして再構築されたカーネル ソース patches/ - 再構築されるパッチ / カーネルを実行するためのファイル fs/ - 使用されるユーザーランドのバイナリとファイルmake rf0.dsk および rk0.dsk src/ - ユーザーランドのソース コード: 利用可能なツールはあまりありません/ - を構築するためのツールとスクリプトカーネルとファイルシステム build/ - ビルド領域: パッチが適用されたカーネル ファイル、パッチが適用されたファイルシステム イメージ/ - Simh シミュレータによって使用される最終的なディスクおよびテープ イメージ misc/ - その他。ファイル、例: KE11A の Simh パッチ サポート Notes/ - 1e UNIX を再び実行するために行われた作業に関するメモ diffs/ - Pages/* と James Markevitch によって行われた高品質 OCR との違い。ヘッダーとフッターが含まれます。