This preview shows page 1. Sign up to view the full content.
Unformatted text preview: es its output
operation, it will be in the ready state waiting for the CPU. Thus in
multiprogramming, the CPU will never be idle as long as there is always some job
to execute. Note that although many jobs may be in ready and blocked states, only
one job can be running at any instant.
The area occupied by each job residing simultaneously in the main memory is
known as a memory partition. The actual number of partitions, and hence jobs,
allowed in the main memory at any given time varies depending upon the
operating system in use. Moreover, those jobs awaiting entry into main memory
are queued on a fast secondary storage device such as a magnetic disk. The first
job from this queue will be loaded into the main memory as soon as any one of the
jobs already occupying the main memory is completed and the corresponding
memory partition becomes free.
Requirements of Multiprogramming Systems
Multiprogramming systems have better throughput than uniprogramming systems
because the CPU idle time is drastically reduced. However, multiprogramming
systems are fairly sophisticated because they require the following additional
hardware and software features:
Large memory. For multiprogramming to work satisfactorily, large main
memory is required to accommodate a good number of user programs along with
the operating system.
2. Memory protection. Computers designed for multiprogramming must provide
some type of memory protection mechanism to prevent a job in one memory partition from changing information or instruction of a job in another memory
partition. For example, in Figure 14.4 we would not want job A to inadvertently
destroy something in the completely independent job B or job C.
multiprogramming system this is achieved by the memory protection feature, a
combination of hardware and software, which prevents one job from addressing
beyond the limits to its own allocated memory area.
Job status preservation. In multiprogramming, when a running job gets
blocked for I/O processing the CPU is taken away from this job and is given to
another job that is ready for execution. At a later time the former job will be
allocated the CPU to continue i...
View Full Document
This document was uploaded on 04/07/2014.
- Spring '14