The operating system is a collection of programs responsible for carrying out operations and managing all resources.
In this tutorial, we’ll discuss five popular variations of the operating systems: batch, distributed, time-sharing, network, real-time operating system.
Finally, we’ll present the core differences between the various operating systems.
2. Batch Operating System
In this operating system, there’s an operator who receives all the jobs. The operator, therefore, makes a group of jobs that requires similar types of resources. We refer to this group of jobs as a batch. Job includes programs, input data, and instructions:
Here, all the jobs run sequentially. Therefore, it means that the next job will start executing after completing the currently running job. Hence, there’s no context switching between the jobs. Moreover, the batch operating system runs all the jobs as a non-preemptive process.
It’s a non-interactive operating system. Hence, the user can’t give input on run time. Furthermore, the users don’t interact with the machine directly. Also, we need to write all the programs, input data, and instructions before starting the processing.
In this version, we write all the jobs on the punch cards and give them to the operator. Next, the operator sorts similar jobs, makes a batch and inserts them into the computer. Punch cards are made of cardboard. Although, advanced systems also use magnetic tapes instead of punch cards:
There’re various disadvantages of the batch operating system. Firstly, there’s a possibility of starvation. If a job takes too many resources and time for completion, other jobs in the queue may strive.
CPU utilization is significantly less in this kind of operating system. Here, a human inserts the punch cards into the computer, and the speed of the CPU is very high compared to the human being.
3. Distributed Operating System
In this variation of the operating system, multiple computers are connected via high-speed buses and share resources. In this way, we can perform various operations simultaneously. It’s also known as the loosely coupled system:
There’re various types of distributed operating systems (DOS): client-server, middleware, three-tire, and peer-to-peer system.
Now let’s look at the various applications of DOS. It’s used in telecommunication networks, parallel computation, networking operations, real-time process control.
Distributed operating systems are scalable hence increasing the processing power. Furthermore, resource sharing is one of the essential features of this OS. It allows the users to share the resources due to which decreases the workload from a single system.
Overcoming a single point of failure is also a significant advantage. Hence, if a system has some issue or breakdown, it’ll not affect the processing of other computers in the system.
One of the core problems for DOS is maintaining synchronization and concurrency. Scalability and flexibility are big advantages of DOS, but they can also lead to network latency, decreasing the system’s consistency.
4. Network Operating System
In a network operating system (NOS), different computers are connected over a network and share resources. Mostly, they’re connected over a wide area network (WAN). We primarily use NOS in networking devices such as routers, switches, or firewalls:
NOS can be of two types: peer-to-peer and client-server. The peer-to-peer NOS allows users to share the resources and files located in their computers. Moreover, it also provides access to shared resources on other computers. Furthermore, all the machines connected with the network have the same privileges to use resources:
In the client-server structure, there’s a central system. All other machines connected with the central system access and share resources. This structure provides better security. We use the client-server structure of NOS in data centers and cloud-based architectures:
Network operating systems are very scalable because we can add any device easily to the network. Each machine connected with NOS acts as an individual machine. Importantly, it’s a highly secure network. Additionally, it includes securities like user log in, hardware authentication, and restrictions on shared data.
In order to run NOS, we need servers that are costly and require maintenance at a regular time interval. The user also depends on a central location to perform operations on the network.
5. Time-sharing Operating System
The time-sharing operating system is an advanced version of a multi-programming batch system. Here, we share the processor’s time among multiple users simultaneously. In this operating system, we assign the CPU a certain amount of time to process a job from a user. After the time expires, the CPU starts processing the job of the following user.
Hence, it can run multiple programs simultaneously by switching jobs. In a time-sharing operating system, switching between the jobs is very fast due to which the user feels like all tasks are running simultaneously. The time that is allocated is known as time slice or quantum.
In this operating system, memory management should be adequate so that the process can rapidly be switched in and out within a given time slot. There’re three states for a user: running, ready, and waiting:
A time-sharing operating system provides various advantages. Firstly, a time-sharing operating system reduces the response time. Moreover, it also reduces the idle time of the CPU significantly during switching between different tasks. Additionally, it facilitates direct interaction between the user and the computer system.
There’re some disadvantages of a time-sharing operating system, such as reliability and high-speed data communication. Security is also a concern in this type of operating system.
6. Real-Time Operating System
We generally use a real-time operating system (RTOS) when memory has limitations, and decision-making should be fast. There’s no user GUI in this type of operating system. Moreover, the real-time operating system works with strict time-bound and deadlines. We use RTOS in embedded devices.
Task switching power in the real-time operating system is very high, due to which the users feel like all tasks are running at the same time. Furthermore, they’re light-weighted operating systems and provide fast responses to external events. Therefore, we can categorize real-time operating systems into three types: hard real-time operating system, soft real-time operating system, firm real-time operating system.
A hard RTOS assures completion of a given job with a prespecified time range. A soft RTOS provides relaxation in the time range to complete a given job. Like a hard RTOS, a firm RTOS strictly follows the time range. Missing a deadline has a more significant impact on a firm RTOS and can reduce the quality of the product.
RTOS are known for their quick real-time response, highly deterministic action to external events. Furthermore, they’re very different from the regular user operating systems like Windows and Linux. Another advantage is that RTOS are error-free and maximize the utilization of devices connected to the system. Examples of RTOS are MTS, Lynx, QNX.
RTOS uses complicated and complex layout principles. Moreover, they are expensive to deploy and perform minimal task switching.
7. Differences Between Various OS
In this section, we’ll discuss the core differences between the operating systems that follow a similar architecture and provide identical services.
Let’s first discuss the differences between batch and distributed OS:
There can be confusion between NOS and DOS as both share resources over a network. Let’s distinguish them and take a look at the core differences:
In this tutorial, we discussed five variations of the operating systems: batch, distributed, time-sharing, network, real-time operating system. We also presented the core differences between them.