Jump to UNIX history continues…

Inputoutput control systems


The firstprograms directly controlled all of the computer’s resources, including inputand output devices. Each individual program had to include code to control andoperate each and every input and/or output device used.

One of thefirst consolidations was placing common input/output (I/O) routines into acommon library that could be shared by all programmers. I/O was separated fromprocessing.

Thesefirst rudimentary operating systems were called an Input Output Control Systemor IOCS.

Computersremained single user devices, with main memory divided into an IOCS and a usersection. The user section consisted of program, data, and unused memory.

The userremained responsible for both set up and tear down.

Set upincluded loading data and program, by front panel switches, punched card,magnetic tapes, paper tapes, disk packs, drum drives, and other early I/O andstorage devices. Paper might be loaded into printers, blank cards into cardpunch mahcines, and blank or formatted tape into tape drives, or other outputdevices readied.

Tear downwould include unmounting tapes, drives, and other media.

The veryexpensive early computers sat idle during both set up and tear down.

This wasteled to the introduction of less expensive I/O computers. While one I/O computerwas being set up or torn down, another I/O computer could be communicating areadied job with the main computer.

Someinstallations might have several different I/O computers connected to a singlemain computer to keep the expensive main computer in use. This led to theconcept of multiple I/O channels.

Monitors


Ascomputers spread from the research labs and military uses into the businessworld, the accountants wanted to keep more accurate counts of time than merewall clock time.

This ledto the concept of the monitor. Routines were added to record the startand end times of work using computer clock time. Routines were added to I/Olibrary to keep track of which devices were used and for how long.

With thedevelopment of the Input Output Control System, these time keeping routineswere centralized.

You willnotice that the word monitor appears in the name of some operating systems,such as FORTRAN Monitor System. Even decades later many programmers still referto the operating system as the monitor.

Animportant motivation for the creation of a monitor was more accurate billing.The monitor could keep track of actual use of I/O devices and record runtimerather than clock time.

Foraccurate time keeping the monitor had to keep track of when a program stoppedrunning, regardless of whether it was a normal end of the program or some kindof abnormal termination (such as aa crash).

Themonitor reported the end of a program run or error conditions to a computeroperator, who could load the next job waiting, rerun a job, or take otheractions. The monitor also notified the computer operator of the need to load orunload various I/O devices (such as changing tapes, loading paper into theprinter, etc.).