Multi-programmed Systems
Multi-programming raises the CPU utilization by organizing jobs so that the CPU always has one to execute. The operating system keeps several tasks in memory concurrently, as shown in Figure drawn above. This set of jobs is a subset of jobs on the disk which are ready to run but cannot be loaded into memory due to the shortage of space. Since the various jobs which can be kept concurrently in memory is usually much smaller than the number of jobs which can be in the job pool; the operating system picks and executes one of the jobs in the memory. Ultimately the job has to wait for some of the task such as an I/O operation to get complete. In the non multi-programmed system, the CPU would sit idle (will not perform any work). In a multi- programmed system, the operating system simply switches to, and executes the other job. When that job requires waiting, the CPU simply switches to the other job and so on.
Figure of the Memory layout for a multi-programmed batch system
Figure drawn below explains the concept of multiprogramming by using an example system with two the processes, P1 and P2. The CPU is switched from P1 to P2 when P1 finishes its CPU burst and requires waiting for an event, and vice versa when P2 finishes it CPU burst and has to wait for an event again. This means that when one of the processes is using the CPU, the other is waiting for an event (like I/O to complete). This increases the usage of the CPU and I/O devices as well as throughput of the system. In our example taken below, P1 and P2 would finish their execution in 10 time units if no multiprogramming is used and in six time units if multiprogramming is taken in use.
Figure is an Illustration of the multiprogramming concept
All jobs which enter the system are kept in job pool. This pool comprises of all processes residing on the disk awaiting allocation of the main memory. If number of the jobs is ready to be brought into the memory, and there is not sufficient room for all of them, then the system should choose among them. This decision or judgement is called job scheduling. In addition if several jobs are ready to run at the same time, the system should choose among them.
Email based Operating System assignment help - homework help at Expertsmind
Are you searching Operating System expert for help with Multi-Programmed System questions? Multi-Programmed System topic is not easier to learn without external help? We at www.expertsmind.com offer finest service of operating system assignment help and operating system homework help. Live experts are available for 24x7 hours helping students in their Multi-Programmed System related problems. We provide step by step Multi-Programmed System question's answers with 100% plagiarism free content. We prepare quality content and notes for Multi-Programmed System topic under operating system theory and study material. These are avail for subscribed users and they can get advantages anytime.
Why Expertsmind for assignment help
- Higher degree holder and experienced tutors network
- Punctuality and responsibility of work
- Quality solution with 100% plagiarism free answers
- Time on Delivery
- Privacy of information and details
- Excellence in solving operating system questions in excels and word format.
- Best tutoring assistance 24x7 hours