6 with this arrangement before taking away the cpu

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

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: 1. 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. In a 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. 3. 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.

Ask a homework question - tutors are online