Information Technology Reference
In-Depth Information
result was still horribly inecient. It was around this time that the CEO of IBM
famously predicted that there would only ever be a market for five computers
in the world. If computers still cost millions of dollars and could only be used
to run the tiny applications of the time by a single person at a time, he would
probably have been proven right!
1.3.3
Multi-user operating systems
The next step forward was sharing, introducing many the advantages, and chal-
lenges, that we see from operating systems today. If processor time is incredibly
valuable, restricting the system to one user at a time is incredibly wasteful.
The processor is idle while the program is being loaded and as the data in being
input or the results being output, even though there was usually a long line of
people waiting their turn to use the processor.
With batch operating systems , one program can be using the processor while
Denition: batch
operating systems
another is being loaded into memory. The batch operating system was installed
in the system's memory, and ran a simple loop: load, run, and unload each job
in turn. While one job was running, the operating system would set up the I/O
devices to do background transfers for the next/previous job using a process
called direct memory access (DMA). With DMA, the I/O device transfers its
Denition: direct memory
access (DMA)
data directly into memory at a location specified by the operating system. When
the I/O transfer completes, the hardware interrupts the processor, transferring
control to the operating system interrupt handler. The operating system starts
the next DMA transfer and then resumes execution of the application. The
interrupt appears to the application as as if nothing had happened, except for
some delay between one instruction and the next.
Batch operating systems were soon extended to run multiple applications at
once, that is, multitasking , or what is also sometimes called multiprogramming -
Denition: multitasking
.
Multiple programs were loaded into memory at the same time, each ready
Denition:
multiprogramming
to use the processor if for any reason the previous task needed to pause, for
example, to read some additional input or produce some output. Multitasking
improves processor eciency essentially to 100%; provided the queue of tasks
is long enough, and there are a sucient number of I/O devices to keep feeding
the processor, there is never a need for the processor to wait for work.
However, processor sharing raises the problem that programs need to be iso-
lated from one another, if only to protect against a bug in one program crashing
or corrupting another. During this period, computer designers added hardware
memory protection, as a way of reducing the overhead of fault isolation.
A practical challenge with batch computing, however, was how to debug
the operating system itself. Unlike an application program, a batch operating
system assumes it is in direct control of the hardware. New versions could only
be tested by stopping every application and rebooting the system, essentially
turning the computer back into a single user system. Needless to say, this was
Search WWH ::




Custom Search