Thursday, September 29, 2005

Digital Archeology: Ancient UNIX

This is the first of a series of posts entitled Digital Archeology where I will be discussing interesting projects or amusing anecdotes involving the early days of computing. This story begins in 1969 in a small computer room at AT&T Bell Labs in Murray Hill New Jersey. Two ground breaking programmers have just created a new time-sharing operating system they have called UNIX. UNIX is unique in that the two developers, Ken Thompson and Dennis Ritchie, are describing this as the first "portable" operating system because they have written UNIX in a new language called C, invented by Ritchie himself. The minicomputer that this new operating system first came to life on was a DEC PDP-7.

Lets now travel 28 years forward in time to 2005 to see where I'm going with this. One of the best ways to experience what it was like for the early digital pioneers is to spend some time at the keyboard of one of these old machines. However, if you don't have the space to put three or four refrigerator size boxes in your living room or basement (the older DEC PDP models are still available on eBay if you have a moving van available for pickup), you can experience the next best thing through software emulation.

There are many software emulators that run on Windows or the Mac that create exact replicas of older original computer systems. The Apple I, Apple II, Sinclair ZX81, Atari 800, and some early DEC PDP models are some of my favorites. A simple google search for emulators will bring up hundreds of links for what is becomming a popular hobby for many vintage hackers like myself... more on this in another post.

The simh emulator (from the Computer History Simulation Project) is an open source effort that provides faithful emulation of many old computers including the PDP-11. If you were not aware, UNIX experienced its greatest growth in the 1970's and early 1980's on the PDP-11 with versions such as BSD (Berkley Systems Distribution). As a matter of fact, I got my first taste of UNIX on a PDP-11 in college.

Several dedicated enthusiasts have been sifting through tape archives and have resurrected a number of old disk images. These have been transfered to emulation software readable image files and are available on the web (see links on the simh site). Caldera has licensed several versions of old UNIX source code in the public domain.

I worked with UNIX V5 which I found fascinating in its simplicity as well as how little UNIX today has changed from this early version. The source code is till online in this version, as are sub directories titled "ken" and "dhr" containing early beta versions of several popular UNIX utilities, presumably left there in the early seventies by Thompson and Ritchie themselves!

Logging into this ancient system and navigating around the file system is a fascinating walk through time. The OS was small, yet still powerful. The UNIX source code includes original comments, and anyone with an interest in the origin of both the C language or UNIX itself will find this an absorbing journey into the past.