History and Goals, Evolution of multi-user systems page 2 ,operating sytem

History and Goals, Evolution of multi-user systems page 2 ,operating sytem



 Multi-Programmed System: A group of jobs that are ready to be executed is called job pool. Since there is ma than we job that can be executed, it is possible for the operating system to make a dec about which job to acute rund. That decision korps CPU utilization as high as possible

In general, it is not possible for a single user to keep CPU or I/O devices busy at all Multiprogramming allows the system to increase CPU utilization by ensuring that the CPU always has a job to execute.

The CPU has a pool of jobs When the currently executing job has to wait (if it is performing some I/O), it is removed from the CPU. Another job is selected and the CPU now esit. This process ensures that CPU is always executing a job if there is a job to execute In co-multiprogrammed system, if a job had to wait for an I/O operation, CPU would also have to wait until 1/O was finished.

U requires sophisticated data structures to implement multiprogramming, CPU must be able to decide which job is to be executed next. Some jobs will fit into memory coce. Some jobs may have to remain on disk. The operating system must be able to performsome sort of scheduling on the jobs in job pool. It determines which jobs will stay on the disk and which ones will be loaded into memory. The operating system must have some form of memory management. Memory management is used to keep track of which jobs are stored. where and how much space is available.


Sometimes, there may be many jobs that can run at any one time. The interaction between jobs must be controlled. In general, one job should not be able to manipulate the data or program code of another job. 1.3.3 Time Sharing

Time sharing

In batch system, the user cannot interact with the job when it is being executed. It means that all possible problems must be anticipated beforehand as the user cannot make corrections during execution. It becomes very difficult when a program has to go through many phases such as compilation, linking etc. It may be difficult to define what to do if a particular phase fails. Another problem is the debugging of a program. All debugging is static. The only information to find out is why the program is giving incorrect output at various stages of execution.


Time sharing was introduced to make computer systems more interactive. CPU is the most important resource that is shared. Each job gets CPU for a small amount of time. When the allotted time period for a job is used, the next job in line is allocated CPU.


The switching between jobs occurs very frequently. It allows the user to interact with the job as it is running. Operating system should enable the user to interact with jobs that are executing. The communication usually occurs via keyboard. The user gets a prompt to enter commands. The user must know the status of the job in order to enter relevant commands. The output of a job is usually presented on a monitor.


Generally, the commands given by the user take very little time to execute. The control returns to command line after finishing a command. It displays a prompt to indicate that the system is ready to execute another command.


Time Sharing Systems or timeshare point system

Time sharing system is a multi-user, multi-process and interactive system. It allows multiple users to share computer simultaneously. It is used when several users are linked through communication networks to a single computer. The computer first works on one user's task for a fraction of time. It then goes to the next user's task. It is accomplished through time slicing. Each task gets a time slice in round robin fashion. The task continues until the time slice ends. The task stops when the given time slice is finished and waits for another time slice.


The computer operates very quickly and can distribute time slices to various tasks. The computer rapidly switches back and forth among different tasks. Time sharing systems use CPU scheduling and multiprogramming to provide each user with a small portion of time shared computer. The CPU can be allocated to a job only if that job is currently in memory.


A time sharing system is very complex. It is more complex than a multiprogrammed system. It must be able to have several jobs ready in memory simultaneously. It requires some form of memory management and protection. Jobs must be swapped in and out in a reasonable time. may be achieved by using virtual memory. Virtual memory is a technique that allows the execution of a job that may not be completely in the memory.

processing systems

Post a Comment

Previous Post Next Post