unixhistory Simulation

Overview

A simulator (in this context) is a program that faithfully executes the instruction set (machine code) of a particular computer, while also simulating some or all of its peripheral devices. Simulators are a great way to debug new operating systems, but also very useful if you want to play with old ones...

Simulators are surprisingly straightforward; simulated terminals are mapped either to the real screen and keyboard, and/or to a telnet port, so that you can even log in remotely. Simulated printers normally just write to a file, and disks are done by having a 'container' file which has an image of the real disk (and is thus usually the same size as the real disk).

This is not the place for an extensive survey of simulators, so we'll restrict ourselves to simulators for machines that ran UNIX in various forms. If you've heard the talk or read the slides, you'll know that the first public UNIX ran on the PDP-11, and later versions ran on the VAX - so these are the ones of immediate interest.

SIMH

The most well known simulator of these machines (and a lot of others) is called SIMH. You can find it here, at
http://simh.trailing-edge.com/ (be careful not to omit the hyphen). There's a link to some software kits to run on various simulated machines, too.

UNIX software for simulators

These are usually disk or tape images which may have to be 'installed' just as you would on a real machine.

  • UNIX Sixth Edition (PDP-11).
  • UNIX Seventh Edition (PDP-11).
  • If you'd really like to try your hand at the challenge of 4.3BSD (a very important development in the history of UNIX), then start with a version is called 4.3 Quasijuarus. This is for a VAX, rather than a PDP-11. There are sites available that tell you how to set it up, but some of the links are broken, so here are some instructions, adapted from various pages elsewhere. To get started on it, go here.

Valid XHTML 1.1! Valid CSS! Facebook logo

This site is copyright © 2016 Bob Eager
Last updated: 14 Mar 2016