Page 27 - DCAP507_SYSTEM_SOFTWARE
P. 27
Unit 2: Evolution of Operating System
represent programs (both source and object forms) and data. Data files may be numeric, alphabetic, Notes
or alphanumeric. Files may be free-form, such as text files, or may be rigidly formatted. In
general, a file is a sequence of bits, bytes, lines, or records whose meaning is defined by its
creator and user. The operating system implements the abstract concept of a file by managing
mass-storage devices, such as tapes and disks. Files are normally organized into logical clusters,
or directories, which make them easier to locate and access. Since multiple users have access to
files, it is desirable to control by whom and in what ways files may be accessed. Batch systems
are appropriate for executing large jobs that need little interaction. The user can submit jobs and
return later for the results; it is not necessary for the user to wait while the job is processed.
Interactive jobs tend to be composed of many short actions, where the results of the next command
may be unpredictable. The user submits the command and then waits for the results. Accordingly,
the response time should be short-on the order of seconds at most.
An interactive system is used when a short response time is required. Early computers with a
single user were interactive systems. That is, the entire system was at the immediate disposal of
the programmer/operator. This situation allowed the programmer great flexibility and freedom
in program testing and development. But, as we saw, this arrangement resulted in substantial
idle time while the CPU waited for some action to be taken by the programmer/operator.
Because of the high cost of these early computers, idle CPU time was undesirable. Batch operating
systems were developed to avoid this problem. Batch systems improved system utilization for
the owners of the computer systems.
Time-sharing systems were developed to provide interactive use of a computer system at a
reasonable cost. A time-shared operating system uses CPU scheduling and multiprogramming
to provide each user with a small portion of a time-shared computer.
Each user has at least one separate program in memory. A program that is loaded into memory
and is executing is commonly referred to as a process. When a process executes, it typically
executes for only a short time before it either finishes or needs to perform I/O. I/O may be
interactive; that is, output is to a display for the user and input is from a user keyboard.
Since interactive I/O typically runs at people speeds, it may take a long time to complete. Input,
for example, may be bounded by the user's typing speed; five characters per second is fairly fast
for people, but is incredibly slow for computers. Rather than let the CPU sit idle when this
interactive input takes place, the operating system will rapidly switch the CPU to the program
of some other user.
A time-shared operating system allows the many users to share the computer simultaneously.
Since each action or command in a time-shared system tends to be short, only a little CPU time
is needed for each user. As the system switches rapidly from one user to the next, each user is
given the impression that she has her own computer, whereas actually one computer is being
shared among many users.
The idea of time-sharing was demonstrated as early as 1960, but since time-shared systems are
difficult and expensive to build, they did not become common until the early 1970s. As the
popularity of time-sharing has grown, researchers have attempted to merge batch and time-
shared systems. Many computer systems that were designed as primarily batch systems have
been modified to create a time-sharing subsystem.
Example: IBM's OS/360, a batch system, was modified to support the time-sharing option
(TSO).
At the same time, time-sharing systems have often added a batch subsystem. Today, most
systems provide both batch processing and time sharing, although their basic design and use
tends to be one or the other type.
LOVELY PROFESSIONAL UNIVERSITY 21