Real live 20 year old Unix!

Last updated December 18, 2002

At there is not only a portable PDP11 emulator, but also a disk dump of a real 7th Edition Unix system. What is missing is instructions for people unfamiliar with a PDP11 to proceed. I've never even seen a PDP11 but I've figured it out by trial and error. What follows is a walkthrough of a session, assuming you're in a directory to which you've just downloaded the two files linked above. On a Unix box, of course (Linux in my case.)

My input is in bold face. The notation ^D means I typed Control-D.

The disk image is not quite complete. There is no /tmp directory, nor is there a home directory for the historic userid dmr, so I made them. Then I quit out of the single user shell to bring the system up in multiuser mode, logged in as dmr, and compiled and ran a short C program. ^E escapes to the emulator control prompt.

markus% mkdir test
markus% cd test
markus% unzip ../
markus% unzip ../
markus% mkdir BIN
markus% make
markus% BIN/pdp11

PDP-11 simulator V2.10-0
sim> set cpu 18b
sim> set tto 7b
sim> attach rl unix_v7_rl.dsk
sim> boot rl
New Boot, known devices are hp ht rk rl rp tm vt 
: rl(0,0)rl2unix
mem = 177856
# cat /etc/passwd
# mkdir /usr/dmr
# chown dmr /usr/dmr
# chgrp 3 /usr/dmr
# mkdir /tmp
# chmod 777 /tmp
# ^D
Restricted rights: Use, duplication, or disclosure
is subject to restrictions stated in your contract with
Western Electric Company, Inc.
Thu Sep 22 05:51:05 EDT 1988

login: dmr
$ ed hello.c
   printf("Hello World!\n");
$ cc hello.c
$ a.out
Hello World!
$ sync
$ sync
$ ^E
Simulation stopped, PC: 016552 (JSR PC,2440)
sim> quit
Since the emulator is continually updated and occasionally moved around, the download links and walkthrough on this page may not be quite accurate. They worked on the date given at the top on a Redhat 8.0 Linux system. Note that the "ancient" versions of Unix are now available under a true open-source licence, and the disk image linked here contains partial system source code.

Back to the 7th Edition Unix page