Page 11 - DCAP403_Operating System
P. 11
Operating System
Notes and he was already deriving the primitive conception of an operating system from the principles
of the Universal Turing machine.
Later machines came with libraries of support code, which would be linked to the user’s program
to assist in operations such as input and output. This was the genesis of the modern-day operating
system. However, machines still ran a single job at a time; at Cambridge University in England
the job queue was at one time a washing line from which tapes were hung with different colored
clothes-pegs to indicate job-priority.
As machines became more powerful, the time needed for a run of a program diminished and
the time to hand off the equipment became very large by comparison. Accounting for and
paying for machine usage moved on from checking the wall clock to automatic logging by the
computer. Run queues evolved from a literal queue of people at the door, to a heap of media on a
jobs-waiting table, or batches of punch-cards stacked one on top of the other in the reader, until
the machine itself was able to select and sequence which magnetic tape drives were online. Where
program developers had originally had access to run their own jobs on the machine, they were
supplanted by dedicated machine operators who looked after the well-being and maintenance
of the machine and were less and less concerned with implementing tasks manually. When
commercially available computer centers were faced with the implications of data lost through
tampering or operational errors, equipment vendors were put under pressure to enhance the
runtime libraries to prevent misuse of system resources. Automated monitoring was needed not
just for CPU usage but for counting pages printed, cards punched, cards read, disk storage used
and for signaling when operator intervention was required by jobs such as changing magnetic
tapes.
All these features were building up towards the repertoire of a fully capable operating system.
Eventually the runtime libraries became an amalgamated program that was started before the
first customer job and could read in the customer job, control its execution, clean up after it,
record its usage, and immediately go on to process the next job. Significantly, it became possible
for programmers to use symbolic program-code instead of having to hand-encode binary
images, once task-switching allowed a computer to perform translation of a program into binary
form before running it. These resident background programs, capable of managing multistep
processes, were often called monitors or monitor-programs before the term operating system
established itself.
An underlying program offering basic hardware-management, software-scheduling and
resource-monitoring may seem a remote ancestor to the user-oriented operating systems of
the personal computing era. But there has been a shift in meaning. With the era of commercial
computing, more and more “secondary” software was bundled in the operating system package,
leading eventually to the perception of an operating system as a complete user-system with
utilities, applications (such as text editors and file managers) and configuration tools, and having
an integrated graphical user interface. The true descendant of the early operating systems is
what we now call the “kernel”. In technical and development circles the old restricted sense of an
operating system persists because of the continued active development of embedded operating
systems for all kinds of devices with a data-processing component, from hand-held gadgets up
to industrial robots and real-time control-systems, which do not run user-applications at the
front-end. An embedded operating system in a device today is not so far removed as one might
think from its ancestor of the 1950s.
1.3 Supervisor and User Mode
Single user mode is a mode in which a multiuser computer operating system boots into a single
superuser. It is mainly used for maintenance of multi-user environments such as network
servers. Some tasks may require exclusive access to shared resources, for example running fsck
on a network share. This mode may also be used for security purposes – network services are
4 LOVELY PROFESSIONAL UNIVERSITY