Today, We are going to run Unix 1st edition which is released in 1972. Yes! you read that right. We are going to try the Unix as it was back in 1972. You don't need to buy the old hardware to run it or you don't need to build it from source either. A Unix professional named Brian Bennett has created a docker image which is based on the Unix 1st Edition June 1972 source repository. So, we can easily run the good old Unix 1st edition as it was back in 1972 within few minutes.
In this brief guide, I will show you how to run Unix 1st edition using Docker on any Unix-like operating systems.
Run Unix 1st Edition (1972) Using Docker
First, you need to install Docker on your system. Refer the following guides to install Docker on RPM and DEB based systems.
After installing Docker, run the following command to download and run the docker image.
$ docker run --rm -it bahamat/unix-1st-ed
The above command will pull a docker image which will run UNIX, 1st edition on a PDP-11 simulator. For those wondering, PDP-11 was a 16-bit minicomputer sold by Digital Equipment Corporation (DEC) from 1970s to 1990s. Here is the picture of a PDP-11 mini computer.
In the above picture, Dennis Ritchie and Ken Thompson (sitting) are working together at a PDP-11 mini computer. Even though it was referred as mini computer, the actual weight of this computer was around 45 kg.
After a few minutes, you will be dropped into a :login: prompt. At login prompt, type "root" without quotes and hit ENTER.
Unable to find image 'bahamat/unix-1st-ed:latest' locally latest: Pulling from bahamat/unix-1st-ed bbe1c4256df3: Pull complete 911d09728ffd: Pull complete 615765bc0d9f: Pull complete a3ed95caeb02: Pull complete c3fdfa5622d0: Pull complete Digest: sha256:ea44c2f898c3a35cb31fec9f6ebe3caf15ca51ae156b38ec6d68cbd703d40d0e Status: Downloaded newer image for bahamat/unix-1st-ed:latest PDP-11 simulator V3.9-0 ./simh.cfg> #!tools/pdp11 Unknown command Disabling CR Disabling XQ RF: buffering file in memory TC: creating new file TC0: 16b format, buffering file in memory Listening on port 5555 (socket 7) :login: root root #
Done! We are now in 1972-era Unix operating system. Cool, yeah? You can now explore some of old Unix commands. Please note that BASH wasn't invented until 1989, so it doesn't has BASH or any other modern shells. So, Some of BASH functionalities will not work in Unix 1st edition. For instance, command auto-completion by pressing TAB key will not work. You can't also use backspace to delete the mistyped commands, or you can't use arrow keys to see the previous commands.
However, some commands that we use today will work. For instance, we can use ls, date, find, chmod, du, echo, mail, rm, rmdir, and more. To know the list of available commands back then, type:
ls bin
Type ls -l to see the list of available directories in this edition.
To change to a directory, use chdir command.
chdir /bin
Also, refer the manual of Unix, 1st edition in the link given at the end of this guide to know more about the Unix commands.
To stop the simulation, type CTRL+E. And then type "q" to return back to your host OS terminal.
Simulation stopped, PC: 007332 (MOV (SP)+,25244) sim> q Goodbye RF: writing buffer to file
And, that's all for now. Hope this was useful. More good stuffs to come. Stay tuned!
Cheers!
Resources: