All Topics  
OS/8

 

   Email Print
   Bookmark   Link






 

OS/8



 
 
OS/8 was the primary operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 used on the PDP-8
PDP-8

The PDP-8 was the first successful commercial minicomputer, produced by Digital Equipment Corporation in the 1960s. DEC introduced it on 22 March 1965, and sold more than 50,000 systems, the most of any computer up to that date....
 minicomputer
Minicomputer

A minicomputer is a class of multi-user computers that lies in the middle range of the computing spectrum, in between the largest multi-user systems and the smallest single-user systems ....
 developed by Digital Equipment Corporation
Digital Equipment Corporation

Digital Equipment Corporation was a pioneering United States company in the computer industry. It is often referred to within the computing industry as DEC ....
 of Maynard, Massachusetts
Massachusetts

The Commonwealth of Massachusetts is a U.S. state located in the New England region of the Northeastern United States United States. It borders Rhode Island and Connecticut to the south, New York to the west, and Vermont and New Hampshire to the north....
. OS/8 was originally called MS/8 and, for a brief time, PS/8 ("Programming System/8") before Digital settled on the name OS/8 in 1971.

A virtually identical version of OS/8, called OS/12, was later used with Digital's PDP-12
LINC

The LINC was a 12-bit, 2048-word computer. The LINC can be considered the first minicomputer and a foreruner to the personal computer.The LINC and other "MIT Group" machines were designed at Massachusetts Institute of Technology and eventually built by Digital Equipment Corporation ....
 computer.

provided a simple operating environment that was commensurate in complexity and scale with the PDP-8 computers on which it ran.






Discussion
Ask a question about 'OS/8'
Start a new discussion about 'OS/8'
Answer questions from other users
Full Discussion Forum



Encyclopedia


OS/8 was the primary operating system
Operating system

An operating system is an interface between hardware and applications; it is responsible for the management and coordination of activities and the sharing of the limited resources of the computer....
 used on the PDP-8
PDP-8

The PDP-8 was the first successful commercial minicomputer, produced by Digital Equipment Corporation in the 1960s. DEC introduced it on 22 March 1965, and sold more than 50,000 systems, the most of any computer up to that date....
 minicomputer
Minicomputer

A minicomputer is a class of multi-user computers that lies in the middle range of the computing spectrum, in between the largest multi-user systems and the smallest single-user systems ....
 developed by Digital Equipment Corporation
Digital Equipment Corporation

Digital Equipment Corporation was a pioneering United States company in the computer industry. It is often referred to within the computing industry as DEC ....
 of Maynard, Massachusetts
Massachusetts

The Commonwealth of Massachusetts is a U.S. state located in the New England region of the Northeastern United States United States. It borders Rhode Island and Connecticut to the south, New York to the west, and Vermont and New Hampshire to the north....
. OS/8 was originally called MS/8 and, for a brief time, PS/8 ("Programming System/8") before Digital settled on the name OS/8 in 1971.

A virtually identical version of OS/8, called OS/12, was later used with Digital's PDP-12
LINC

The LINC was a 12-bit, 2048-word computer. The LINC can be considered the first minicomputer and a foreruner to the personal computer.The LINC and other "MIT Group" machines were designed at Massachusetts Institute of Technology and eventually built by Digital Equipment Corporation ....
 computer.

Overview

OS/8 provided a simple operating environment that was commensurate in complexity and scale with the PDP-8 computers on which it ran. I/O was supported via a series of supplied drivers which used polled (not interrupt-driven) techniques. The device drivers had to be cleverly written as they could only occupy one or two memory pages of 128 12-bit
12-bit

Possibly the best-known 12-bit CPU is the PDP-8 and its relatives, produced in various incarnations from August 1963 to mid-1990. Many Analog-to-digital converters have a 12-bit resolution....
 words, and had to be able to run in any page in field 0. This often required considerable cleverness, such as the use of the OPR instruction (7XXX) for small negative constants.

The memory-resident "footprint" of OS/8 was only 256 words; 128 words at the top of Field 0 and 128 words at the top of Field 1. The rest of the operating system (the USR, "User Service Routines") was swapped in and out of memory transparently (with regard to the user's program) as needed.

The Concise Command Language

Early versions of OS/8 had a very rudimentary command line interpreter
Command line interpreter

A command-line interpreter is a computer program that reads lines of text entered by a user and interprets them in the context of a given operating system or programming language....
 with very few basic commands
Command (computing)

In computing, a command is a directive to a computer program acting as an interpreter of some kind, in order to perform a specific task. Most commonly a command is a directive to some kind of command line interface, such as a shell ....
: 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
PDP-10

The PDP-10 was a mainframe computer manufactured by Digital Equipment Corporation from the late 1960s on; the name stands for "Programmed Data Processor model 10"....
 systems running TOPS-10
TOPS-10

The TOPS-10 System was a computer operating system from Digital Equipment Corporation for the PDP-10 mainframe computer launched in 1967. TOPS-10 evolved from the earlier "Monitor" software for the PDP-6 and -10 computers; this was renamed TOPS-10 in 1970....
. 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
PDP-11

The PDP-11 was a series of 16-bit minicomputers sold by Digital Equipment Corporation from 1970 into the 1990s. Though not explicitly conceived as successor to DEC's PDP-8 computer in the Programmed Data Processor series of computers , the PDP-11 replaced the PDP-8 in many Real-time computing....
 computers running RT-11
RT-11

RT-11 was a small, single-user real-time operating system for the Digital Equipment Corporation PDP-11 family of 16-bit computers. RT-11 was first implemented in 1970 and was widely used for real-time computing systems, process control, and data acquisition across the full line of PDP-11 computers....
, RSX-11
RSX-11

RSX-11 is a family of real-time operating systems mainly for PDP-11 computers created by Digital Equipment Corporation , common in the late 1970s and early 1980s....
, and RSTS/E
RSTS/E

RSTS is a multi-user time-sharing operating system, developed by Digital Equipment Corporation , for the PDP-11 series of 16-bit minicomputers....
, 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
MS-DOS

MS-DOS is an operating system commercialized by Microsoft. It was the most commonly used member of the DOS family of operating systems and was the main operating system for personal computers during the 1980s....
, Windows
Microsoft Windows

Microsoft Windows is a series of software operating systems and graphical user interfaces produced by Microsoft. Microsoft first introduced an operating environment named Windows in November 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces ....
, or Unix-like
Unix-like

A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
 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
VAX

VAX was an instruction set architecture developed by Digital Equipment Corporation in the mid-1970s. A 32-bit complex instruction set computer ISA, it was designed to extend or replace DEC's various Programmed Data Processor ISAs....
/VMS
OpenVMS

OpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is the name of a high-end computer server operating system that runs on the VAX and DEC Alpha families of computers, developed by Digital Equipment Corporation of Maynard, Massachusetts, Massachusetts , and most recently on Hewlett-Packard systems built around the In...
 made considerable use of this very flexible feature.

The SET command was capable of setting many 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 driver
Device driver

In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....
s, often without having to reboot the OS.

The OS can boot from a hard disk and present the command prompt
Command line interface

A command-line interface is a mechanism for interacting with a computer operating system or software by typing commands to perform specific tasks....
 in under half a second.

The OS/8 Filesystem

OS/8 supported a simple, flat file system
File system

In computing, a file system is a method for store and organize computer files and the data they contain to make it easy to find and access them....
 on a variety of mass storage
Mass storage

In computing, mass storage refers to the storage of large amounts of information in a persisting and machine-readable fashion. Data storage device for mass storage include hard disks, floppy disks, flash memory, optical discs, magneto-optical discs, magnetic tape, drum memory, punched tape and holographic memory ....
 devices including:
  • TU56 DECtape
    DECtape

    DECtape, originally called Microtape, was a magnetic tape data storage medium used with many Digital Equipment Corporation computers, including the PDP-6, PDP-8, LINC-8, PDP-10, PDP-11, PDP-12, and the PDP-15....
    s
  • DF32 32KB fixed-head disks
    Disk storage

    Disk storage is a general category of a computer storage mechanisms, in which data is recorded on planar, round and rotating surfaces . A disk drive is a peripheral device used to record and retrieve information....
  • RF08 256KB fixed-head disks
    Disk storage

    Disk storage is a general category of a computer storage mechanisms, in which data is recorded on planar, round and rotating surfaces . A disk drive is a peripheral device used to record and retrieve information....
  • RK01/02/03/04/05 cartridge disk drives
    Disk storage

    Disk storage is a general category of a computer storage mechanisms, in which data is recorded on planar, round and rotating surfaces . A disk drive is a peripheral device used to record and retrieve information....
  • RX01/02 floppy disk
    Floppy disk

    A floppy disk is a data storage medium that is composed of a disk of thin, flexible magnetic storage medium encased in a square or rectangle plastic shell....
    ette drives


Filenames
Computer file

A computer file is a block of arbitrary information, or resource for storing information, which is available to a computer program and is usually based on some kind of durable computer storage....
 on the PDP-8 took the form of FFFFFF.XX where "F" represents an uppercase, alphanumeric
Alphanumeric

Alphanumeric is a portmanteau of alphabetic and numeric and is used to describe the collection of Latin alphabet and Arabic numerals used by much of western society....
 character of the filename and "X" represents an upper-case, alphanumeric character of the extension (filetype). Assembly language
Assembly language

An assembly language is a low-level language for programming computers. It implements a symbolic representation of the numeric machine codes and other constants needed to program a particular CPU architecture....
 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".

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
    Peripheral Interchange Program

    Peripheral Interchange Program was a utility to transfer files on and between devices on Digital Equipment Corporation's computers. It was first implemented on the PDP-6 architecture by Harrison "Dit" Morse early in the 1960s....
     (the Peripheral Interchange Program, used to copy files)
  • PIP10
    Peripheral Interchange Program

    Peripheral Interchange Program was a utility to transfer files on and between devices on Digital Equipment Corporation's computers. It was first implemented on the PDP-6 architecture by Harrison "Dit" Morse early in the 1960s....
     (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

    TECO is a text editor originally developed at the Massachusetts Institute of Technology in the 1960s, after which it was modified by 'just about everybody'....
     (Text Editor and COrrector, a much-more-sophisticated editor)
  • CCL, the command line interpreter
    Command line interpreter

    A command-line interpreter is a computer program that reads lines of text entered by a user and interprets them in the context of a given operating system or programming language....
    , was supplied in source form and could be extended by the user.


Programming languages

A single-user BASIC
BASIC

In computer programming, BASIC is a family of high-level programming languages. The Dartmouth BASIC was designed in 1964 by John George Kemeny and Thomas Eugene Kurtz at Dartmouth College in New Hampshire, United States to provide computer access to non-science students....
 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
Fortran

Fortran is a general-purpose programming language, procedural programming language, imperative programming language programming language that is especially suited to numerical analysis and scientific computing....
 compiler
Compiler

A compiler is a computer program that transforms source code written in a programming language into another computer language . The most common reason for wanting to transform source code is to create an executable program....
 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.

OS/8 Trivia

  • OS/8 did no time-keeping, but if told the date, it would willingly store that date as part of the directory information maintained for each file in the filesystem. The OS/8 calendar originally spanned only the 8 years from 1970 through 1977, but it was later extended with a special release of the OS (version 3D) to incorporate the idea of an 8-year sliding "window". The Y2K problem
    Year 2000 problem

    The Year 2000 problem was a notable computer bug resulting from the practice in early computer program design of representing the year with two digits....
     arrived very early for PDP-8 programmers!

    The sliding window had to be implemented in a very clever way, as there was absolutely no more room in the system data area for extra year bits. The clever programmers at DEC realized that every copy of OS/8 had a HLT
    HLT

    In computer science and more specifically the x86 architecture, HLT is an assembly language instruction which halts the CPU until the next external interrupt is fired....
     instruction at a particular address in the memory-resident code (the HLT
    HLT

    In computer science and more specifically the x86 architecture, HLT is an assembly language instruction which halts the CPU until the next external interrupt is fired....
     was the last resort if the system could not read in an overlay from disk). The HLT
    HLT

    In computer science and more specifically the x86 architecture, HLT is an assembly language instruction which halts the CPU until the next external interrupt is fired....
     instruction had a particular bit in it that could be set without affecting the operation of the instruction. So they redefined that bit to mean "use the sliding date window algorithm" for calculating dates.
  • The archetypical bootstrap routine for a PDP-8 with RK05 mass storage was as follows:
30/ 6743 (Initiate a disk read of the boot block) 31/ 5031 (Jump to location 31) Load Address 30 Press CLEAR (Cleared all disk registers) Press CONTinue (start at address 30)
This would read block 0000 of RKO5 disk 0 to address 0000 of field 0. Addresses 30 and 31 of that boot block would overlay those instructions with the sequence: 30: "skip on disk done", 31: "JMP 30", which would cause the CPU to wait for the operation to complete, then continue on in the bootstrap.
  • OS/8 CCL implemented the famous TECO
    Text Editor and Corrector

    TECO is a text editor originally developed at the Massachusetts Institute of Technology in the 1960s, after which it was modified by 'just about everybody'....
     ".MAKE LOVE
    Text Editor and Corrector

    TECO is a text editor originally developed at the Massachusetts Institute of Technology in the 1960s, after which it was modified by 'just about everybody'....
    " joke.
  • ALL of OS/8 was described in a single, rather-thick "OS/8 Handbook". There were separate guides for writing device drivers and such.
  • To economize on the size of the memory-resident device tables, OS/8 hashed the device names from four characters down to two, by adding the two words. So device names were not unique — your could type "RKB0:" or the word-swapped "B0RK:" and the system did not care. In practice this was not a noticeable problem.
  • OS/8 was capable of running with absolutely no changes, "virtualized" under RTS8, a real-time multi-tasking OS. RTS8 provided interrupt-driven virtualized device handlers under OS/8.