Monday, 22 March 2021

Multiprogramming OS

  • Multiprogramming operating system has ability to execute multiple programs with using of only one processor machine
  • when two or more programs are residing in memory at the same time then sharing the processor is referred.
  • multiprogramming assumes a single shared processor.
  • multiprogramming increase CPU utilization by organizing jobs so that the CPU always has one to execute.
  • the operating system keeps several job in memory at a time.
  • this set of jobs in a subset of the job pool.
  • the operating system picks and being to execute one of the job in the memory.
  • multiprogramming operating system monitors the state of all active programs and system resources using memory management program to ensures that the CPU is never idle unless there are no jobs

  • Example:-
  • -Windows O/S
  • -UNIX O/S



  • JOB:-In systems using multiprogramming a program loaded to memory and ready to execute is called a  job. 

 Execute another job while waiting for I/O:- The simple idea is to always have one job execute on the CPU by changing job when an I/O request is made.

States:- in a multiprogramming system , a job can be in one of three state.

Running
The job is currently executing on the CPU. At any time, at most one job can be in this state.
Ready
The job is ready to run but currently not selected to do so.
Waiting
The job is blocked from running on the CPU while waiting for an I/O request to be completed.

Advantages

  • High and efficient CPU utilization.
  • User feels that many programs are allotted CPU almost simultaneously.
  • Resources are utilized smartly.
  • Less response time.
  • Short time jobs are done fastest compare to long time jobs.
  • Multiple users can use multiprogramming system at once.
  • It can help to improve turnaround time for short jobs.
  • It reduces total read time that is required to execute a job.
  • Multiprogramming system helps to optimize total job throughput of computer.
  • Multiprogramming system can monitor fastest as entire tasks run in parallel.

Disadvantages

  • CPU scheduling is required.
  • To accommodate many jobs in memory, memory management is required.
  • If, it contains massive load of jobs then its long time jobs have to need long waiting time.
  • Harder task is to manage of all processes and jobs.
  • It is highly complex and sophisticated.

 

7 comments:

My Feelings for death

 Kyu hoti hai kisi ki death, I don't know but why. M aaj tak nhi samjh pae ki ensan ki death kyu hoti hai. Kisi se bhi pucho to ye jawab...