This article throws light upon the five main types of operating systems. The types are: 1. Batch Processing 2. Multi-Programming 3. Interactive Processing 4. Time Sharing 5. Real-Time Processing.

Type # 1. Batch Processing:

It is desirable to hold programs until a reasonable size batch of programs can be processed. In batch processing, data to be processed is accumulated over a period of time. The accumulated batch is processed periodically. This method i.e. batch processing is very efficient, but its use means that there is always a processing delay.

Since the speed of the CPU in executing programs is far greater than the speed of moat input/ output units, the CPU will remain idle for a large fraction of the total time between input and output, when processing one program at a time. Batch processing, hence, is an improvement over the single-job submission and frequently increases the number of programs executed by 50% or more.

Type # 2. Multi-Programming:

The technique for having the computer handle several programs concurrently is known as multi­programming or parallel processing. The programs are placed in different sections of memory (Fig. 36.34). The computer can switch the CPU from one program to another. This task is incor­porated into the overall operating system, usually called the supervisor, monitor (IBM) or the executive (ICL).

Principle of a Multi-Programming System

In Fig. 36.34 the main memory is divided into partitions. The first partition is reserved for the supervisor, which has to remain in main memory all the time. The other three partitions (in this instance) each hold a program, A, B and C. Although there are more than two programs in main memory, only one is ever being executed at any point in time. Program B is currently being executed and Program C is passing some results to disk.

Program A has completed its work and is being replaced by Program D from the entry queue. Note that a second disk is illustrated to hold the results of each program in separate areas. The transfer monitor (a part of the supervisor partition) is reserved permanently to organize the transfer of these queued results from the disk to the line printer. It is also used to build up the entry queue on disk, which has been input from a card reader (Program F in the diagram).

Comparison between Batch Processing and Multi-programming:

1. Multi-programming is using complex operating systems whereas the operating system is simple in batch processing.

2. In multi-programming two or more programs remain in central memory at one time whereas there is only one program in memory at one time in batch processing.

3. Magnetic tapes, disks or drums are used as secondary storage devices in batch processing whereas only magnetic disks are employed in multi-programming because of random access.

Type # 3. Interactive Processing:

Interactive processing refers to a direct link between the user and the computer. In this type of processing, the user enters his data through a terminal and receives results directly. Such immediate interaction between the user and the computer is the single greatest advantage of this type of processing. As a comparison, in traditional batch processing, the user codes his program, punches it, gives it to CPU for processing etc., whereas in interactive processing, all intermediate handling is eliminated. Here the user types his program segments which are entered into computer’s storage and displayed on his terminal simultaneously.

Once the program has entered into the computer, it can be compiled, tested and executed at the terminal. Thus a procedure that was extended over several days in the batch processing is reduced to a matter of minutes or hours in the interactive processing. In most of the micro-computer installations the interactive processing is adopted. The terms Time Sharing, real time processing’s, etc., are related to interactive processing.

Type # 4. Time Sharing:

Time sharing is the concurrent use of a single computer system by many users, each of which has an input/output device and can access the same computer at the same time. The computer gives each user a small, but frequently repeated, slice of the time, so that each user gets almost imme­diate response. Each user operates independently without an awareness of the use of the facility by others.

Time sharing is popular for universities and for certain types of scientific and engineering computation, but it is quite limited for commercial data processing use. Time sharing may be viewed as an extension of multiprogramming in which the computer works on several programs concurrently, going from one to another for the purpose of maximizing the use of the system hardware.

Users of a time-sharing system communicate with their computer via visual display terminal which is connected to the computer by land or telephone lines. In this way, they have a direct means of communicating with the central processor.

Time sharing systems have many, even hundreds, of terminals linked up to the central processor at the same time. The basic idea behind time-sharing system is to allow all programs to have a brief share of the central processor in turn.

The time-sharing supervisor (resident in main memory all the time) gives each job a short period of time during which it is in sole control of the processor. In time sharing systems, a transfer monitor is required to coordinate the flow of information between the terminals and the disk storage. It is resident in the central memory and works in conjunction with the time-sharing supervisor which is responsible for the overall operation of the time-sharing system.

Fig. 36.35 illustrates these concepts and shows;

Terminal l’s program being swapped out,

Terminal N’s program being swapped in, whilst,

Terminal 2’s program is currently being executed.

Concept of a Time-Sharing System

Type # 5. Real-Time Processing:

In real-time processing, each transaction is processed as soon as it is received. There is no waiting to accumulate a batch of transactions. Real-time processing is used especially in situations such as a computerized reservation system where an immediate response is required.

As compared to time-sharing:

(i) Real time processing is devoted mainly for one application whereas time-sharing has many different applications.

(ii) User can make enquiries only in real-time processing whereas in time-sharing, user can write and modify programs.

The expression Real-time is applied to any system which produces an almost immediate response as a result of inputting data. The essential feature is that the input data must be processed quickly enough so that further action can then be promptly taken on the results. Real time system is able to receive continuously changing data from outside sources and to process that sufficiently quickly to be capable of influencing the sources of data (e.g., air traffic control).

Two examples of systems which operate in real-time are:

(i) Process control systems as in nuclear reactor plants and steel mills, and

(ii) Transaction systems such as airline reservations.

Real time systems cannot break down without causing some disruption. This is one difference between real time and time sharing; the latter should not fail, but if it does, the outcome is never disastrous. In many instances, real time systems are duplicated so that, in the event of a break-down, back­up facilities are immediately available. The term on-line refers to a system in which all necessary devices are immediately accessible (on line) to the computer.

As soon as the user enters his input data, it is processed immediately. If the output results are returned quickly enough to be useful in some current activity, a real-time environment is created. The major disadvantage of on-line and real time systems is that of complexity and hence cost. The overwhelming advantage of on-line and real-time systems, however, is that of timeliness.