March 1, 2002

Simh: Touching the history of computing

Author: JT Smith

- By Russell C. Pavlicek -

Do you like museums? Now you can download an impressive computer
museum onto your desktop for free. Recently, we've looked at resurrecting old hardware with Open Source software and running PC operating systems in an emulator. Today we come full circle and look at running old operating systems on simulators.

There is a relatively unsung simulator package available called
"simh". Simh is actually a
series of programs that emulate various classic hardware
architectures. These architectures include:

  • Data General Nova
  • Data General Eclipse
  • Digital Equipment Corporation PDP-1
  • Digital Equipment Corporation PDP-4
  • Digital Equipment Corporation PDP-7
  • Digital Equipment Corporation PDP-8

  • Digital Equipment Corporation PDP-9
  • Digital Equipment Corporation PDP-10
  • Digital Equipment Corporation PDP-11
  • Digital Equipment Corporation PDP-15
  • Digital Equipment Corporation VAX (in development)
  • IBM 1401
  • IBM System 3
  • IBM 1130
  • Hewlett-Packard HP 2100
  • Honeywell H316
  • MITS Altair 8800

Unix V5 for PDP-11

The packages appear to be under a BSD-ish license (but I'd suggest you
consult a lawyer if you need to be sure of such things). The source code
is included, so the simulators can be built on many platforms with C
compilers. The project homepage lists successes in various Linux, Unix,
Macintosh, and Windows platforms.

Many of these packages are the work of Robert Supnik, one of the technical
giants behind the now defunct Digital Equipment Corporation.
Supnik and Max Burnet co-wrote a paper called Preserving
Computing's Past: Restoration and Simulation
for Digital Technical
Journal (available at
http://simh.trailing-edge.com/
in PDF format).

Operating systems

While these hardware simulators are quite interesting for what they are,
they are of limited use without some software to use on them. Mr. Supnik and company managed to talk the copyright owners of some of the more popular vintage operating systems into providing disk images licensed for personal use.

These operating systems include:

  • RDOS V7.5 for the Nova
  • Mapped RDOS 7.5 for the Eclipse
  • Lisp for the PDP-1
  • SIM8 for the PDP-7
  • ESI-X for the PDP-8
  • FOCAL69 for the PDP-8
  • OS/8 for the PDP-8
  • TSS/8 for the PDP-8
  • TOPS-10 and TOPS-20 for the PDP-10
  • RT-11 V4 for the PDP-11
  • RT-11 V5.3 for the PDP-11
  • RSTS/E V7 for PDP-11
  • Unix V5 with sources
  • Unix V6 with sources
  • Unix V7 with sources
  • FOCAL15 for the PDP-15
  • Advanced Software System for the PDP-15
  • Diagnostics and SPS assembler for the IBM 1401
  • Three single-card programs or "koans" for the IBM 1401
  • Paper-tape BASIC for the HP 2100
  • CP/M and DOS for the MITS Altair 8800
  • System 3 Model 10 SCP

If you are an old goat like me, this list brings back memories. For me,
the vivid memories of managing RSTS/E V7 in college came flooding back.
We also had a PDP-8 running OS/8 and a PDP-11 running RT-11. And I still
remember where the Altair sat in the engineering lab.

Unix aficionados might very well find the PDP-11 Unix versions of
interest. As I checked out these systems, it was amazing to see how
primitive they appear. Many of the commands that are routine in modern
Unix-like systems are notably absent in these early versions. Even the
"man" command is not present in the disk image of Unix V5, so you will
have to survive by memory or by wits. The "man" command does appear in
Unix V7, but there does not appear to be a "more" command, so the pages
just flow out without pagination.

Performance

Being hardware simulators, it does take a fair number of CPU cycles to run
the simh programs. But, then again, most of the actual machines being
simulated did not have the processing power of a modern PDA. So the
performance of the simulated machines appear to be excellent.

When I first tried the PDP-11 simulator years ago, I ran RSTS/E on a
Pentium 90. It seemed about as spry as the PDP-11/34a that I used to
manage in college. On my 1 GHz Athlon Linux box, the PDP-11 simulator
appears to run faster than any PDP-11 in history. Its speed would have
taken my breath away 20 years ago.

The simh kit includes decent documentation for booting the various
operating system images. The syntax usually involves defining a few
virtual devices to the simulator and then booting. For example, the
commands for booting the Unix V5 system under the PDP-11 simulator look
like:

sim> set cpu 18b
sim> att rk0 unix_v5_rk.dsk
sim> boot rk
@unix

That's all it takes to get this time machine started. From that point
on, you will find yourself running an operating system you might have last
used 20 years ago. Or, maybe an operating system you've heard about but
never had the chance to use before.

RT-11 V5.3Why is this important?

The significance of this software cannot be overstated. This represents a
significant portion of the history of the computer industry. These are
the systems that powered academia, powered industry, and even powered the
Free Software movement.

Yes, one of these architectures, the PDP-10, was the system on which ITS
(the Incompatible Timesharing System) was written. ITS was crafted in the
MIT Artificial Intelligence Lab, which included a number of talented
individuals, including one Richard Stallman. Stallman's own
account
indicates that his experiences with ITS influenced his later
work on the GNU Project. While no version of ITS is available for use
with the PDP-10 simulator, there is an ITS Web site that has some files available for download.

Conclusion on simh

Running these simulators and operating systems are an excellent reminder
of our roots to those of us old enough to have experienced these systems
first hand. But for those of us who are too young to have seen these
machines in action, running these simulators should be a requirement. In
fact, I don't know how a college or university could grant a computer
science degree to someone who hasn't had to experience some of these
systems.

In the era when storage was expensive, memory was small, and CPU power was
very limited, we needed to keep our programs small and tight. Unless
you've experienced a little of it first hand, you won't have a good sense
of where we came from. Or, for that matter, where the Y2K crisis came
from.

So do yourself a favor this weekend. Remind yourself where we've been in
computing. Or experience for the first time, if you've never been there
before. But do it. You'll be better off for the time spent.

Category:

  • Unix
Click Here!