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

Defination of OS(operating system) and its concepts

    What do you mean by operating system?     Definition :  An operating system is a program that act as an interface between the user of a computer and the                                      Computer hardware. Operating system is a first program that gets loaded into the memory through a process called booting. Concepts of operating system : ·                       The purpose of operating system is to provide an environment in which a user can execute program in a convenient and efficient manner. ·                       Operating system is an integrated set of program that ma...

Multi user Operating System

  Multi user operating system ·           In a multi-user operating system, multiple number of user can access different resources of a computer at a same time. ·           The access is provided using a network that consists of various personal computer attached to a mainframe computer system.                                                              diagram of multi -user operating system       ·           The various personal computer can send and receive information to mainframe computer system. ·           The example    of multi-user OS are UNIX, windows 2000,novell netware.            sing...

Batch Processing Operating System

  Batch processing system ·           Batch processing is one of the oldest method    of running the programs ·           The computer in the past were very large in size and their I/O devices were very different from those that are used today. The job processing was not interactive as it is today. ·           The user did not interact directly with computer system.   ·           The process scheduling , memory management, file management and I/Omanagement functions are quite simple in batch processing system   1.         Process scheduling (i.e. allocation strategy for a processor is typically in order of their arrival i.e. first come first served(FCFS)basis.   2.         Memory management  is done by divi...

Scheduler

  Scheduler   Scheduling Objectives Here, are important objectives of Process scheduling Maximize the number of interactive users within acceptable response times. Achieve a balance between response and utilization. Avoid indefinite postponement and enforce priorities. It also should give reference to the processes holding the key resources  Process Scheduling handles the selection of a process for the processor on the basis of a scheduling algorithm and also the removal of a process from the processor. It is an important part of multiprogramming in operating system. Process scheduling involves short-term scheduling, medium-term scheduling and long-term scheduling. Details about these are given as follows − Long-Term Scheduling Long-term scheduling involves selecting the processes from the storage pool in the secondary memory and loading them into the ready queue in the main memory for execution. This is handled by the long-term scheduler or job scheduler. The long-term s...

Exokernel architecture

Exokernel architecture Most of us know what kernels are and how do they work to make programmers’ lives easier. But, how many of us know what exokernels are? I hope you will be able to get a brief introduction on this terminology through this blog. Let’s start with a brief introduction on kernel. What is a kernel? A kernel is the foundational layer of an operating system that functions at a basic level, communicating with hardware and managing resources, such as CPU and the memory. It works as an interface between the user application and the hardware. There   are two main types of kernel 1. Micro kernel 2. Monolithic Kernel 1.  Monolithic architecture 2.      Layerd archtecture . 3.       Virtual machine architecture 4.       Exokernel architecture 5.      Client server architecture   6.       Micro kernel architecture Now let’s head into our main focus. What is an Exokern...