OS/8

Richard F. Lary developed a system called the Fully Upward Compatible Keyboard Monitor; and between a Wednesday and the following Friday, a prototype was up and running from DECtape. The original intention of this project was to build a programming environment for the PDP-8 that looked like TOPS-10 on the PDP-10. A year later, this was released as Programming System/8 (or PS/8), and then renamed OS/8 in 1971 because Eli Glaser (a salesman from Long Island) said he could sell more systems with an operating system than with a programming system, and because, by renaming the system, DEC could increase the price despite Nixon’s wage-price freeze.

OS/8, developed in parallel with P?S/8, became the main PDP-8 programming environment sold by DEC. The minimum configuration required was 8K words and a random-access device to hold the system. For some devices, OS/8 requires 12K. There are a large number of OS/8 versions that are not quite portable across various subsets of the PDP-8 family.

OS/8 V3D was renamed OS/78 (to match the VT78), and in followups to this distribution, support for Omnibus machines was no longer important. OS/78 V4 was developed for the DECmate I, and the name OS/278 used for the versions released with later DECmate machines. These have unnecessary incompatabilities with earlier versions of OS/8.

(Source: PDP-8 FAQ)

Notes

The Concise Command Language

Early versions of OS/8 had a very rudimentary command line interpreter with very few basic commands: GET, SAVE, RUN, ASSIGN, DEASSIGN, and ODT. With version 3 they added a more sophisticated overlay called CCL (Concise Command Language) that implemented many more commands. OS/8’s CCL was directly patterned after the CCL found on Digital’s PDP-10 systems running TOPS-10. In fact, much of the OS/8 software system was deliberately designed to mimic, as closely as possible, the TOPS-10 operating environment. (The CCL command language was later used on PDP-11 computers running RT-11, RSX-11, and RSTS/E, providing a similar user operating environment across all three architectures: PDP-8s, PDP-10s, and PDP-11s.)

The basic OS and CCL implemented many rather sophisticated commands, many of which still do not exist in modern command languages, not even in MS-DOS, Windows, or Unix-like operating systems.

For example, the COMPILE command would automatically find the right compiler for a given source file and start the compile/assemble/link cycle.

The ASSIGN and DEASSIGN commands allowed one to use logical device names in a program instead of physical names (as required in MS-DOS). For example, your program could write to device FLOP:AAA.TXT, and if you first did a “ASSIGN FLOP: RXA2:” then the file would be created on physical device RXA2 (the second floppy disk drive). VAX/VMS made considerable use of this very flexible feature.

The SET command was capable of setting many system options, albeit by the crude method of patching locations in the system binary code.

The BUILD command could reconfigure the OS on the fly, even adding device drivers, often without having to reboot the OS.

The OS can boot from a hard disk and present the command prompt in under half a second.

(Source: Wikipedia)

The OS/8 Filesystem

OS/8 supported a simple, flat file system on a variety of mass storage devices including:

Filenames on the PDP-8 took the form of FFFFFF.XX where “F” represents an uppercase, alphanumeric character of the filename and “X” represents an upper-case, alphanumeric character of the extension (filetype). Assembly language sources used the extension “.PA”; saved core-images (executable programs) used the extension “.SV”.

The contents of any given file was stored contiguously in a single “extent”. PIP included an option to compress (“squeeze”) the filesystem so all unallocated space was moved to a single extent at the end of the disk.

OS/8 volumes had a very limited maximum storage size (4096 blocks) and the RK05 (2.4MB) moving-head disk exceeded this size. Because of this, RK05 cartridges were divided into two partitions. For example the first RK05 on a system would be known as both RKA0: (SY:) and RKB0:. This division was commonly thought to mean “the upper surface” and “the lower surface” but this was incorrect; it in fact was “the outer cylinders” and “the inner cylinders”.

(Source: Wikipedia)

OS/8 CUSPs (Utility Programs)

The CUSPs (Commonly-Used System Programs, that is utilities) supplied with OS/8 included:

  • BUILD (the program to install a configured OS/8 system onto mass storage)
  • DIR (the directory-listing program)
  • EDIT (A line-oriented editor)
  • MACREL (A relocating assembler)
  • FLAP (An absolute assembler derived from RALF)
  • FORTRAN-II
  • FOTP (File-Oriented Transfer Program, an alternative to PIP)
  • PAL (The assembler)
  • PIP (the Peripheral Interchange Program, used to copy files)
  • PIP10 (a version of PIP used to copy files to from PDP-10 DECtapes)
  • RALF (Another relocating assembler for the FPP)
  • TECO (Text Editor and COrrector, a much-more-sophisticated editor)
  • CCL, the command line interpreter, was supplied in source form and could be extended by the user.

(Source: Wikipedia)

Programming languages

A single-user BASIC and several multi-user versions of BASIC were available as options. The single-user BASIC used several overlays to provide the full functionality of the language; when OS/8 was booted from a DECtape, a very noticeable delay occurred each time BASIC was required to switch overlays as they needed to be read from tape.

There was also a rather complete FORTRAN IV compiler available at extra cost. This compiler generated code for the optional FPP-8 floating-point processor, which was essentially a separate CPU, only sharing memory with the PDP-8 CPU. If you had the FPP-8 option installed, the FORTRAN runtime code would detect it and use the FPP-8 to run the main program code, and the PDP-8 CPU would run as an I/O processor. If you did not have the FPP-8, the runtime code would instead call an FPP-8 interpreter running on the PDP-8 CPU, so the program would still run, but at considerably reduced speed.

This FORTRAN IV compiler in version 1 had the interesting bug that DO loops counted incorrectly! DO loops would count 1,2,3,5,6,7, …! A quick patch was released to fix this.

(Source: Wikipedia)

Documents

[ICO] Name Last modified Size Description

[   ] AA-D319A-TA_os8DevExt.pdf 11-Jun-2002 22:49 2.0M
[   ] AA-H606A-TA_os8SysgenNotes.pdf 11-Jun-2002 23:11 1.3M
[   ] AA-H607A-TA_OS8_V3D_sysMan.pdf 17-Oct-2003 06:38 11M
[   ] AA-H608A-TA_os8teco_mar79.pdf 10-Dec-2003 03:36 5.7M
[   ] AA-H609A-TA_os8lang_mar79.pdf 10-Dec-2003 07:30 21M
[   ] AA-H610A-TA_os8errMsg_mar79.pdf 10-Dec-2003 05:19 1.5M
[   ] DEC-S8-LFSSA-A-D_F4swSupp.pdf 01-Feb-2003 02:24 4.4M
[   ] DEC-S8-OSRNA-B-D_os8v3DrelN.pdf 11-Jun-2002 22:57 477K
[   ] DEC-S8-OSSMB-A-D_OS8_v3ssup.pdf 17-Oct-2003 04:09 5.3M
[   ] OS8_Handbook_Apr1974.pdf 21-Apr-2003 02:15 38M
[   ] OS8_V3_Memos_1973.pdf 16-Aug-2006 03:10 6.5M

External Links

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks

Leave a Reply