Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Degree of multiprogramming definition

What is the degree of multiprogramming in OS? Is it the number of processes in the ready queue or the number of processes in the memory?

like image 590
anilkumar kasaragadda Avatar asked Jan 29 '23 05:01

anilkumar kasaragadda


2 Answers

In a multiprogramming-capable system, jobs to be executed are loaded into a pool. Some number of those jobs are loaded into main memory, and one is selected from the pool for execution by the CPU. If at some point the program in progress terminates or requires the services of a peripheral device, the control of the CPU is given to the next job in the pool.

An important concept in multiprogramming is the degree of multiprogramming. The degree of multiprogramming describes the maximum number of processes that a single-processor system can accommodate efficiently.

These are some of the factors affecting the degree of multiprogramming:

  • The primary factor is the amount of memory available to be allocated to executing processes. If the amount of memory is too limited, the degree of multiprogramming will be limited because fewer processes will fit in memory.
  • Operating system - The means by which resources are allocated to processes. If the operating system can not allocate resources to executing processes in a fair and orderly fashion, the system will waste time in reallocation, or process execution could enter into a deadlock state as programs wait for allocated resources to be freed by other blocked processes.

  • Other factors affecting the degree of multiprogramming are program I/O needs, program CPU needs, and memory and disk access speed.

Hope this answers you. :)

If not, You can get it in more detail here: http://www.tcnj.edu/~coburn/os

like image 95
Madhav Avatar answered Jan 31 '23 19:01

Madhav


For a system with a single CPU core, there will never be more than one process running at a time, whereas a multicore system can run multiple processes at one time. If there are more processes than cores, excess processes will have to wait until a core is free and can be rescheduled. The number of processes currently in memory is known as the degree of multiprogramming.

Excerpt from: Operating System Concepts, 10th Edition, Abraham Silberschatz

like image 38
snr Avatar answered Jan 31 '23 17:01

snr