Skip to main content

Multi Programming Operating System

 Multi programming system

·         Multi programming operating system allows multiple users to execute multiple programs using a single CPU concurrently i.e. at the same time.

·         In multiprogramming several process are kept in the main memory and CPU execute all these processes concurrently. It means, the CPU immediately switches from one process to next that are ready to get executed

·         In such an operating system when one process start process start performing the instructions from several programs at the same time.

·         Rather, it means that there are number program available to CPU and that portion of one is executed, then segment of another and so on

 

 

 


                              memory layout in multi programming system

 

 

·         In case of multiprogramming the various jobs residing in the main memory, can be in one of the following three stages

1.       Running : CPU is being used by the program

2.       Blocked : performing I/O operation

3.       Ready : waiting for CPU to be assigned to it

·         The various example of multiprogramming operation system are windows NT,OS/2, UNIX.

·         A typical scenario of jobs in multiprogramming system . at a particular instance of time , program A is not utilizing CPU as it is busy writing output data on the disk.


       single user operating system  

2.      Multi user operating system 

3.       Batch processing operating system

4.      Multi programming operating system 

5.     Multi tasking operating system 

6.       Multiprocessing operating system

7.       Time sharing operating system

8.     Real time system  

programming

The various feature required by multi programming system are:

1.        large memory

·         For a multi programming to work satisfactorily, large main memory is required to accommodate a good number of user programs along with operator system.

 

2.       Memory protection

·         Computer designed for multi programming must provide some type memory protection mechanism to prevent a programing one memory partition from changing information or instruction of a program in another memory partition.

 

3.       job status preservation

·         in multiprogramming when one running job is blocked before I/O operation ,the CPU is taken away from that job is given to some another job later on when that job has finished its I/O operation, it need to be resumed with its execution.

 

4.       Proper job mix

·         A proper mix of I/O-bound and CPU-bound processes is required so that the operation of CPU and I/O devices are balanced.

·         If all the loaded jobs need I/O At the same time  , the CPU will be adle.

                                             

                                                           jobs in multi programming system

 Advantages and disadvantages of multi programming

Advantages of multi programming:

1.       Increased throughput. Throughput increased by utilising the idle-time of CPU for running other program that are already present in the main memory.

2.       Lowered response time. Response time is lowered by recognising the priority of job as it enters the system and by processing jobs on a priority basis.

3.       Ability to assign priorities to job.  Most multi programming systems have scheme for setting  priorities for rotating programs. They specify when the CPU will rotating programs. They specify when the CPU will rotate to anther program, and which program it will rotate to.

Disadvantages of multi programming

1.       Multi programming is implemented through an operating system, which is a program that requires space in primary storage since it must be executed by the CPU. The operating system overhead os greater with multi programming that with batch processing.

2.       Jobs may have different sizes, therefore memory management is needed to accommodate them in memory .

3.       Many jobs may be ready to run on the CPU, which means that CPU scheduling is required.

 

 

One of the requirement of multi programming is the given below:

1.       CPU scheduling

·         In a multi programming system ,often  there will be situations in wich two or more jons will be in the ready state, waiting for CPU to be allocated for execution.

·         In such a case, the operating system must bdecide to which process or jobs should CPU be allocated..

·         For this a CPU scheduler select the processes and uses different CPU scheduling algorithm.

Comments

Popular posts from this blog

Multi Level Queue Scheduling (MLQ)

  Multi Level Queue Scheduling (MLQ) ·          Multilevel queue scheduling classifies the processes according to their types for example, a multilevel queue scheduling algorithm makes a common. ·          In this scheduling ready queue is divided into various queue that are called sub queues. A subqueue is a distinct operational queue ·          The process are permanently assigned to subqueues, generally based on some property of the process such as memory size,priority or process type ·          Each subqueue has its process sucheduling algorithm. For example interactive process at the foreground may use round robin scheduling while batch jobs at the background may use the FCFS method ·          For example, consider a system with four different queues 1.   ...

Virtual Machine Architecture

  Virtual Machine Architecture A virtual machine can exist as a standalone machine or it can exist within a vApp. A virtual machine is a software computer that, like a physical computer, runs an operating system and applications. The virtual machine consists of a set of specification and configuration files and is backed by the physical resources of a host. Every virtual machine has virtual devices that provide the same functionality as physical hardware are more portable, more secure, and easier to manage. Virtual machines can be standalone, or they can exist within a vApp. A vApp is compound object composed of one or more virtual machines as well as one or more networks. 1.    Monolithic architecture 2.     Layerd archtecture . 3.     Virtual machine architecture 4.       Exokernel architecture 5.      Client server architecture   6.       Micro kernel architecture The following figure ...

Distributed system

  Distributed system ·           A distributed system is a collection of processor located in geographical dispersal physical location. ·           In this system, the workhold is distributed or divided between two or more computers that are linked together by communication network . that is the different processors communicate using communication links, such as telephone lines and buses3 ·           The various processors do not share memory, clock ,or peripheral devices instead each processors has its local memory. ·           The purpose of distributed system is to provide an efficient and convenient environment for sharing of resources. ·           Some example of distributed operating system are amoeba, angle, chorus, much, alpha kernel. ·   ...

Micro kernel architecture

  Micro kernel  architecture What is Kernel? A kernel is an important part of an OS that manages system resources. It also acts as a bridge between the software and hardware of the computer. It is one of the first program which is loaded on start-up after the bootloader. The Kernel is also responsible for offering secure access to the machine's hardware for various programs. It also decides when and how long a certain application uses specific hardware. What is Microkernel? Microkernel  is a software or code which contains the required minimum amount of functions, data, and features to implement an operating system. It provides a minimal number of mechanisms, which is good enough to run the most basic functions of an operating system. It allows other parts of the operating system to be implemented as it does not impose a lot of policies. Microkernels and their user environments are usually implemented in the C++ or C programming languages with a little bit of assembly. Ho...

Layered Operating System

  Layered Operating System Layered Structure is a type of system structure in which the different services of the  operating system  are split into various layers, where each layer has a specific well-defined task to perform . It was created to improve the pre-existing structures like the Monolithic structure ( UNIX ) and the Simple structure ( MS-DOS ). Example –  The Windows NT operating system uses this layered approach as a part of it . Design Analysis : The whole Operating System is separated into several layers ( from 0 to n ) as the diagram shows. Each of the layers must have its own specific function to perform. There are some rules in the implementation of the layers as follows. The outermost layer must be the User Interface layer. The innermost layer must be the Hardware layer. A particular layer can access all the layers present below it but it cannot access the layers present above it. That is layer n-1 can access all the layers from n-2 to 0 but it canno...