Evolution of Operating Systems

 

There are some of the most widely used types of Operating System

(a) Simple Batch System
(b) Multiprogramming Batch System
(c) Multiprocessor System
(d) Desktop System
(e) Distributed Operating System
(f) Clustered System
(g) Realtime Operating System
(h) Handheld System

Simple Batch System

* In this type of system, there is no direct interaction between user and the computer.
* The user has to submit a job (written on cards or tape) to a computer operator, then computer operator places a batch of several jobs on an input device.
* Jobs are batched together by type of languages and requirement.,then a special program, the monitor, manages the execution of each program in the batch.
* The monitor is always in the main memory and available for execution.

 

Following are some disadvantages of this type of system :

* No interaction between user and computer.

* No mechanism to priorities the processes.

Multiprogramming Batch Systems

* In this the operating system picks up and begins to execute one of the jobs from memory.
* Once this job needs an I/O operation operating system switches to another job (CPU and OS always busy).
* Jobs in the memory are always less than the number of jobs on disk(Job Pool).
* If several jobs are ready to run at the same time, then the system chooses which one to run through the process of CPU Scheduling.
* In Non-multiprogrammed system, there are moments when CPU sits idle and does not do any work.
* In Multiprogramming system, CPU will never be idle and keeps on processing.

Time-Sharing Systems are very similar to Multiprogramming batch systems. In fact time sharing  systems are an extension of multiprogramming systems.

In time sharing systems the prime focus is on minimizing the response time, while in multiprogramming the prime focus is to maximize the CPU usage.