unixhistory Mini-UNIX

Overview

Mini-UNIX runs on a DEC PDP-11/10, 11/20 or 11/40 with at least the following equipment:

  • 28KW (56kB) of memory; parity not used.
  • RK05 disk (preferably two) or other supported disk (e.g. RP03 or RP04).
  • Console typewriter.
  • Clock: KW11-L or KW11-P.

Mini-UNIX is a simplified version of the full Sixth Edition UNIX system. It does not include these features:

  • Separate instruction and data spaces on hardware that supports these.
  • Group access permissions, or indeed anything to do with groups.
  • Timer-interrupt sampling and interprocess monitoring for debugging and measurement.
  • Unbuffered physical record I/O.

Note that Mini-UNIX does not require a memory management unit.

The system is normally distributed on 9 track magnetic tape, or RK05 disk packs. The following equipment may be supported:

  • Communications controllers such as DL11, DC11 or DH11.
  • Full duplex 96-character ASCII terminals.
  • RP03, RP04 disks.
  • 9-track tape, or extra disk for system backup.

The memory and disk space specified is enough to run and maintain Mini-UNIX. More will be required to keep all source on-line, or to handle a large number of users, big databases, diversified complements of devices, or large programs. Mini-UNIX does swapping to provide multi-programming support. The resident code of Mini-UNIX occupies 12-16kW (24-32kB) depending on configuration. The system as distributed occupies 12kW (24kB) of memory, allowing 16kW (32kB) of memory for user programs. Some editing of source code is required to add new disk, tape or communication device drivers, as the system will likely expand beyond 12kW (24kB). Keep in mind that the C compiler requires a minimum of 12kW (24kB) of memory to run.

An 11/10, 11/20 or 11/40 is not advisable for heavy floating point work, as Mini-UNIX on this hardware uses interpreted 11/45 floating point.

There is a memo describing Mini-UNIX here.

More details can be found in the document Mini-UNIX Summary. This is included in the documentation ZIP file. All other documents mentioned can be found in the same place.

Notation

To avoid confusion, any typed input is shown in red, and output is in black. In addition, input and output is shown in a fixed width font.

Mini-UNIX, the PDP-11, and SIMH

Mini-UNIX is designed to run on the PDP-11 machine architecture. You may be lucky enough (like me) to own a real PDP-11 (or several), but most people will need to run this on a simulator. One of the most well known simulators is called SIMH. You can find it here, at http://simh.trailing-edge.com/ (be careful not to omit the hyphen).

Getting started

A ready-to-run disk image is not provided, for two reasons:

  1. Installation from tape gives a more authentic experience.
  2. There may be a requirement to install to a bigger disk (e.g. RP04).

The instructions describe installation to an RK05; adjust as necessary, using the Setting up Mini-UNIX document as a guide.

These instructions all assume that you are using SIMH, rather than some other simulator or even a real machine. Adapt the instructions accordingly if you are not using SIMH. It is also assumed that you are using a UNIX-like environment (BSD, Linux, Cygwin or similar).

You will need the following to get Mini-UNIX up and running:

  • A copy of the unzip utility to unpack some of the files.
  • A working copy of SIMH for the PDP-11.
  • An 'installation tape'. Normally, this will be just a file (a tape image) which has to be connected to SIMH so that it looks like a tape to the simulated machine. A particular file format is required. The Mini-UNIX installation tape is supplied in this format, and can be downloaded here; it will need to be un-ZIPped.
  • A set of initialisation files for SIMH and Mini-UNIX; these can be downloaded here; again, this will need to be un-ZIPped.

The disk image

The initial disk image created by the installation process will be an RK05. There is no need to carry out any preparation, as the image file will be created automatically.

Installation

The actual installation takes place in two stages:

  1. Stage 1 - boot from the installation tape and copy the disk image to the simulated disk.
  2. Stage 2 - boot from the simulated disk.

At each stage, the simulator has to be set up correctly. The easiest way to do this is to give it an initialisation file, which simply contains some necessary simulator commands. You can download copies of suitable files here, in a ZIP file called munix-initfiles.zip. These set up the devices tm0 (the tape drive) and rk0 (the first RK05 drive). Note that these files, as supplied, assume that the installation tape image is in a file called munix.tap, and that the installation disk image is in a file called system.dsk. Edit these if required; in particular, change the disk and tape image file names if required. It will be noticed that a second RK05 drive, rk1, is attached to the file source.dsk, and a third drive, rk2, is attached to the file doc.dsk; these will be needed later.

Stage 1 - booting the installation tape and copying the disk image

We are now ready to boot the simulated machine for the first time. The procedure is essentially the same as that described in the document Setting up Mini-UNIX, with some minor changes and simplifications.

The purpose of this first stage is to boot a minimal utility program from the tape, and then use that to copy a boot block to the simulated disk. After that, the same program is used again to copy the main disk image to the simulated disk. procedure is as follows; note that the name of the initialisation file has to be given to the simulator, and we start by using the one called setup.ini:

          $ pdp11 setup.ini
          PDP-11 simulator V3.11-0
          Disabling CR
          Disabling XQ
          RK: creating new file
          RK: creating new file
          RK: creating new file
          sim>

The messages may vary slightly, depending on your system. The initialisation file automatically attaches the simulated tape and disk devices. It also deposits the 6 word bootstrap program into memory for you. All you need to do is start that program:

          sim>run 100000

At this point the program will copy a utility program from the tape into memory, and then enter an endless loop. After a second or two, halt this by stopping the simulation with Ctrl-E:

          ^E
          sim>

Now start the utility program by starting the simulation at memory address 0; the response will be a prompt in the form of an = character:

          sim>run 0
          =

The = prompt is from a standalone utility program; it has a number of commands, each of which performs a copy operation between two particular devices. We want to copy from a tm tape drive to an rk disk drive, so we use the tmrk command. We need to copy the single block at tape offset 100 to disk offset 0; this is the boot block.

          =tmrk
          disk offset
          0
          tape offset
          100
          count
          1
          =
Now we need to copy the 3999 blocks from tape offset 101 to disk offset 1; this is the disk image.
          =tmrk
          disk offset
          1
          tape offset
          101
          count
          3999
          =^E
          sim>quit

Note that the simulation was finally stopped by typing Ctrl-E, and that the quit command was used to exit the simulator program.

Stage 2 - booting Mini-UNIX from the simulated disk

We now need to boot from disk, using the initialisation file pdp11.ini. Happily, this is the default name used by SIMH, so its name can be omitted. There is also no need to key in a boot program, or indeed to start at a special address; we can just boot from the disk. Once this is done, a prompt of a single @ character appears, and we type in the name of the unix kernel file, rkmx. It is then possible to log in as user root; initially, no password is required.

          $ pdp11
          PDP-11 simulator V3.11-0
          Disabling CR
          Disabling XQ
          sim>boot rk
          @rkmx

          RESTRICTED RIGHTS

          USE, DUPLICATION OR DISCLOSURE IS SUBJECT TO
          RESTRICTIONS STATED IN YOUR CONTRACT WITH
          WESTERN ELECTRIC COMPANY, INC.


          ;login: root
          #

After this, you are on your own! It is suggested that you proceed by working through the rest of the document Setting up Mini-UNIX. The first thing you will probably need to do is to rebuild the system to include the tm driver, which is associated with the devices /dev/mt0, /dev/mt1, etc.


Valid XHTML 1.1! Valid CSS! Facebook logo

This site is copyright © 2019 Bob Eager
Last updated: 31 Dec 2019