UNIX第6版を動かす

PDP-11の使用を望むべくもない今日、UNIX第6版を実際に動かすにはエミュレーターを利用することになる。 もっともてっとりばやいのは各種のUNIX上に、 Supnik氏作のものをインストールすることである。 pdp11というコマンドがPDP-11エミュレーター本体である。

このエミュレーター用の往年のソフトウェアキットも各種用意されており、 PDP-11用のUNIX第6版も含まれている。 具体的な利用法はエミュレーターのソース中のsimh_swre.txtに記述がある。

とにかくやってみる

% pdp11↓

PDP-11 simulator V3.7-0
sim> set cpu 11/45↓
Disabling XQ
sim> att rk0 unix0_v6_rk.dsk↓
sim> att rk1 unix1_v6_rk.dsk↓
sim> att rk2 unix2_v6_rk.dsk↓
sim> att rk3 unix3_v6_rk.dsk↓
sim> att tm0 dump.tap↓
sim> boot rk0↓
@unix↓

login:
# ls -l↓
total 299
drwxr-xr-x  2 bin      1040 Jan  1  1970 bin
drwxr-xr-x  2 bin       352 Jan  1  1970 dev
drwxr-xr-x  2 bin       304 Aug 20 12:35 etc
-rwxrwxrwx  1 root    28874 Aug 20 12:32 hpunix
drwxr-xr-x  2 bin       336 Jan  1  1970 lib
drwxr-xr-x 17 bin       272 Jan  1  1970 mnt
drwxr-xr-x  2 bin        32 Jan  1  1970 mnt2
-rw-rw-rw-  1 root    28636 Aug 20 12:32 rkunix
-rwxr-xr-x  1 bin     28636 Aug 20 11:38 rkunix.40
-rwxrwxrwx  1 root    28820 Aug 20 12:32 rpunix
drwxrwxrwx  2 bin       144 Aug 20 12:35 tmp
-rwxr-xr-x  1 bin     28472 Aug 20 12:01 unix
drwxr-xr-x 14 bin       224 Aug 20 12:21 usr
drwxr-xr-x  2 bin        32 Jan  1  1970 usr2
-rwxrwxr-x  1 root      512 Aug 20 12:20 usrs
# sync↓
# <Ctrl-E>
Simulation stopped, PC: 034322 (CMP #7322,R2)
sim> quit↓
Goodbye
%
リスト中、italicで示した文字が入力、は改行である。 <Ctrl-E>はコントロールキーを押しながらe。

UNIX第6版にはhaltもshutdownもない。 sync後いきなりマシンをシャットダウンしていた。 そういうものだとわかっていてもあまり心臓によろしくない。

カーネルのソースコード上では、 「@unix」から「login:」のあいだに「mem=xxxxx」と表示されるはずなのだが、 実際には表示されない。 謎解きはのちほど。

このUNIX第6版のパッケージにはカーネルのソースコードがついてこないので再構築して楽しむことができない。 他のパッケージから探してきてファイルシステムに組み込む必要がある。

このほかエミュレーターにはいろいろな種類があって、 さまざまな長所短所があるらしいのだが、筆者は特にこだわらないので、 適当に使いやすいものを使えばよい、というくらいの気分である。

もうちょっと本格的に

世の中には奇特な人がいるものである。

UNIX第6版のディストリビューションのテープイメージから エミュレーター上にインストールをおこない、 ついでに2000年問題を修正してしまう詳細な手順きをまとめたパッケージが存在する。 ついでにディストリビューションから欠落しているmanコマンドを補うなど、 稀にみる充実ぶりである。

必要な情報が全部書いてあるわけではなく、 一部は当時のドキュメントを自分で参照する必要があるなど、 楽しみを損ねないための工夫もなされている。 UNIX第6版の世界で実際に暮してみたい人には絶好の入門となるだろう。


戻る