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
   22   23   24   25   26   27   28   29   30   31   32