1. Overview

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:

o1

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:

batch operating system

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:

distributed operting system

There’re various types of distributed operating systems (DOS): client-server, middleware, three-tire, and peer-to-peer system.

A distributed operating system comprises workstations, database servers, computer nodes, networks, terminals, and file servers.

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

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:

peer 2 peer nos

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:

o2

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:

timesharing operating system

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:

Batch OS

Time-sharing OS

Resources are allocated to a job and deallocated after completion of the job.

Resources are allocated to a job for a certain amount of time and reallocated to the new jobs after the specified time is over.

No user intervention possible during the processing of the job.

User can intervene in the job while it’s in the processing stage.

Starvation can exist if a job takes longer time to complete.

Starvation can’t exist as the OS automatically switch the job after a certain amount of time.

Less user friendly.

More user friendly.

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:

Network OS

Distributed OS

Connects multiple computers on a network to share resources.

Joins multiple computers over a bus and make them work as a single computer.

Runs on a server, and every device that’s connected with network can have their own individual operating system.

Each machine connected to the network bus must have same operating system.

Easy to install and economical.

Very costly and complex to install.

Helps to share the user credentials as well as manages data, and security related resources.

Shares the resources to run a task.

Less reliable because every device is connected with the main server. In case of failure of the central server, all processes will stop working.

More reliable because there’s nothing like central system. In case of failure of a device, processing will not stop.

8. Conclusion

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.


« 上一篇: 核心与CPU的区别