1. Batch Operating Systems
This type of processing is done in programs with large computing time without the need for user interaction or participation. Some examples of such programs include payroll, forecasts, statistical analysis and programs with a large number of scientific calculations.
Users are not required to wait while the job is being processed. They can send their programs to the operators and return later to pick them up.
But it has two major disadvantages:
(i) Non-interactive environment
(ii) Off-line debugging
2. Multiprogramming Operating System
The multiprogramming operating systems compared to the batch operating systems are quite sophisticated. Multiprogramming has significant potential to improve system performance and resource utilization with very small differences.
The different forms of multiprogramming operating system are multitasking, multiprocessor and multi-user operating systems. In this section, we will briefly discuss the main features and functions of these systems.
Multitasking Operating Systems:
A state of execution of a program is called a process or task. A multi-tasking operating system supports two or more active processes simultaneously.
The multiprogramming operating system is an operating system that, in addition to supporting multiple concurrent processes (several processes in execution states simultaneously) allows the instruction and data of two or more separate processes to reside in the primary memory simultaneously.
The multitasking operation is one of the mechanisms that the multiprogramming operating system uses to manage all the resources related to the computer such as the CPU, memory and I / O devices.
Multi-user operating system:
It allows simultaneous access to a computer system through two or more terminals. Although it is often associated with multiprogramming, the multi-user operating system does not imply multiprogramming or multitasking.
A dedicated transaction processing system such as the railway reservation system that supports hundreds of terminals under the control of a single program is an example of a multi-user operating system.
The multiprocessor operation without multi-user support can be found in the operating system of some advanced personal computers and real systems.
Time Sharing System:
It is a form of multi-programmed operating system, which operates. In an interactive mode with a quick response time. The user writes a request to the computer through a keyboard. The computer processes it and a response is displayed (if any) in the user’s terminal.
A timeshare system allows many users to simultaneously share the resources of the computer. Since every action or command in a timeshare system takes a very small fraction of time, it only takes a little bit of CPU time for each user. As the CPU changes rapidly from one user to another, each user has the impression that he has his own computer, while in reality, it is a shared computer among many uses.
It is another form of operating system that is used in environments where a large number of events, mostly external to computer systems, must be accepted and processed in a short time or within certain deadlines. Examples of such applications are flight control, real-time simulations, etc. Real-time systems are also frequently used in military applications.
In the real-time system, each process is assigned a certain level of priority according to the relative importance of the event’s processes. The processor is usually assigned to the highest priority process among those that are ready to run.
The highest priority process generally anticipates the execution of lower priority processes. This form of programming, called preferential programming based on priority, is used by most systems in real time.
3. Network Operating System:
A network operating system is a collection of software and associated protocols that allow a set of stand-alone computers that are interconnected by a network of computers to be used together conveniently and cost-effectively.
In a network operating system, users are aware of the existence of multiple computers and can log in to remote machines and copy files from one machine to another.
Some of the typical features of network operating systems that may be different from distributed operating systems (discussed in the next section) are the following:
- Each computer has its own private operating system instead of running part of a global operating system of the entire system.
- Each user usually works on their own system; the use of a different system requires some kind of remote login, instead of the operating system dynamically allocating processes to the CPUs.
- Users usually know where each of their files is stored and must move them from one system to another with explicit file transfer commands instead of the operating system managing the file placement.
4. Distributed Operating System
A distributed operating system is one that sees its users as an ordinary centralized operating system but runs on several independent CPUs. The key concept here is transparency.
In other words, the use of multiple processors must be invisible to the user. Another way of expressing the same idea is to say that the user sees the system as a virtual uniprocessor but not as a collection of different machines.
In a truly distributed system, users do not know where their programs are running or where their files reside; All must be handled automatically and efficiently by the operating system.
Distributed operating systems have many aspects in common with centralized ones, but they also differ in certain aspects.
The distributed operating system, for example, often allows programs to run on multiple processors at the same time, which requires more complex processor programming.
Fault tolerance is another area in which the distributed operating systems are different. Distributed systems are considered more reliable than uniprocessor-based systems.
They work even if part of the hardware does not work properly. This additional feature supported by the distributed operating system has huge implications for the operating system.