Types of Operating System
Types of Operating System are Mainframe OS, Network OS, Embedded OS, Multiprocessor OS, Real-Time OS, and Distributed Operating System.
Types of Operating system are:
1. Mainframe Operating Systems
- Batch Operating System
- Time-Sharing Operating Systems(Multitasking OS)
2. Network Operating Systems
3. Distributed Operating System
4. Multiprocessor Operating Systems
5. Real-Time Operating Systems(RTOS)
6. Embedded Operating System
Operating systems are there from the very first computer generation and they keep evolving with time. Some of the important types of operating systems which are most commonly used are:
1. Mainframe OS:
A mainframe operating system is networking software infrastructure that allows a mainframe computer to run programs, connect linked machines, and process complex numerical and data-driven tasks.
a. Batch Operating System
This type of operating system does not interact with the computer directly. There is an operator who takes similar jobs having the same requirement and groups them into batches. It is the responsibility of the operator to sort jobs with similar needs.
Advantages of Batch Operating System:
- It is very difficult to guess or know the time required by any job to complete. Processors of the batch systems knows how long the job would be when it is in a queue.
- Multiple users can share the batch systems.
- The idle time batch system is very less.
- It is easy to manage large work repeatedly in batch systems.
Disadvantages of Batch Operating System:
- The computer operators should be well known with batch systems. Batch systems are hard to debug.
- It is sometimes costly.
- The other jobs will have to wait for an unknown time if any job fails.
Examples of Batch based Operating System: Payroll System, Bank Statements etc.
b. Time-Sharing Operating System
Each task has given some time to execute so that all the tasks work smoothly. Each user gets the time of CPU as they use a single system. These systems are also known as Multitasking Systems. The task can be from a single user or from different users also. The time that each task gets to execute is called quantum. After this time interval is over OS switches over to the next task.
Advantages of Time-Sharing OS:
- Each task gets an equal opportunity.
- Less chances of duplication of software.
- CPU idle time can be reduced.
Disadvantages of Time-Sharing OS:
- Reliability problem.
- One must have to take care of the security and integrity of user programs and data.
- Data communication problem.
Examples of Time-Sharing OSs are: Multics, Unix etc.
2. Network Operating System
These systems run on a server and provides the capability to manage data, users, groups, security, applications, and other networking functions. These type of operating systems allows shared access of files, printers, security, applications, and other networking functions over a small private network. One more important aspect of Network Operating Systems is that all the users are well aware of the underlying configuration, of all other users within the network, their individual connections, etc. and that’s why these computers are popularly known as tightly coupled systems.
Advantages of Network Operating System:
- Highly stable centralized servers.
- Security concerns are handled through servers.
- New technologies and hardware up-gradation are easily integrated into the system.
- Server access are possible remotely from different locations and types of systems.
Disadvantages of Network Operating System:
- Servers are costly.
- User has to depend on a central location for most operations.
- Maintenance and updates are required regularly.
Examples: Microsoft Windows Server 2003, Microsoft Windows Server 2008, UNIX, Linux, Mac OS X, Novell NetWare, and BSD etc.
3. Distributed Operating System
These types of an operating system is a recent advancement in the world of computer technology and are being widely accepted all over the world and, that too, with a great pace. Various autonomous interconnected computers communicate with each other using a shared communication network. Independent systems possess their own memory unit and CPU. These are referred to as loosely coupled systems or distributed systems. These systems processors differ in sizes and functions.
The major benefit of working with these types of an operating system is that it is always possible that one user can access the files or software which are not actually present on his system but on some other system connected within this network i.e., remote access is enabled within the devices connected in that network.
Advantages of Distributed Operating System:
- Failure of one will not affect the other network communication, as all systems are independent of each other.
- Electronic mail increases the data exchange speed.
- Since resources are being shared, computation is highly fast and durable.
- The load on the host computer reduces.
- These systems are easily scalable as many systems can be easily added to the network.
- Delay in data processing reduces.
Disadvantages of a Distributed Operating System:
- Failure of the main network will stop the entire communication.
- To establish distributed systems, the language which are used are not well defined yet.
- These types of systems are not readily available as they are very expensive. Not only that the underlying software is highly complex and not understood well yet.
- Examples of Distributed Operating System are- LOCUS, AMOEBA etc.
4. Multiprocessing systems
The term multiprocessing is introduced around modern times when they started to use more than one processor in a single computer (Remember the terms like dual-core, quad-core, octa-core processor). These processors share some things in common like memory, peripherals, etc. By sharing the memory and peripherals they are able to execute different tasks simultaneously.
In general, Multiprogramming takes place in a system where it has a single processor. Multitasking: single processor or sometimes multiprocessor Multiprocessing: multiprocessor.
5. Real-Time Operating System
A real-time system is defined as a data processing system in which the time interval required to process and respond to inputs is so small that it controls the environment. The time taken by the system to respond to an input and display of required updated information is termed as the response time. So in this method, the response time is very less as compared to online processing.
Real-time systems are used when there are rigid time requirements on the operation of a processor or the flow of data and real-time systems can be used as a control device in a dedicated application. A real-time operating system must have well-defined, fixed time constraints, otherwise, the system will fail.
For example, Scientific experiments, medical imaging systems, industrial control systems, weapon systems, robots, air traffic control systems, etc.
Advantages of Real-Time Operating System:
- Maximum Consumption
- Task Shifting
- Error Free
- 24-7 systems
Disadvantages of a Real-Time Operating System:
- Limited Tasks
- Use heavy system resources
- Complex Algorithms
There are two types of real-time operating systems:
- Hard real-time systems
- Soft real-time systems
Hard real-time systems:
Hard real-time systems guarantee that critical tasks complete on time. In hard real-time systems, secondary storage is limited or missing and the data is stored in ROM. In these systems, virtual memory is almost never found.
Soft real-time systems:
Soft real-time systems are less restrictive. A critical real-time task gets priority over other tasks and retains the priority until it completes. Soft real-time systems have limited utility than hard real-time systems. For example, multimedia, virtual reality, Advanced Scientific Projects like undersea exploration and planetary rovers, etc.
6. Embedded system
An embedded operating system (OS) is a specialized operating system designed to perform a specific task for a device that is not a computer
Some additional systems:
a. Multiprogramming systems
The concept of multiprogramming is that more than one program that is to be executed by the processor is loaded into the memory.
Say we have 2 programs loaded into the memory. The first program that is loaded is getting executed. At one point of time, it requires input from the user or waiting for some data. During the waiting time, the CPU is idle. Instead of wasting time, the CPU will now begin to execute the second program. Meanwhile, the first program once it receives the required data, will again get the CPU time and get executed blocking or pausing the execution of the second program. After the completion of the first program, the second program is executed from where it was paused. The concept was introduced to maximize CPU usage.
b. Parallel Operating System
Parallel operating systems are used to interface multiple networked computers to complete tasks in parallel.
The architecture of the software is often a UNIX-based platform, which allows it to coordinate distributed loads between multiple computers in a network.
Parallel operating systems are able to use software to manage all of the different resources of the computers running in parallels, such as memory, caches, storage space, and processing power.
Parallel operating systems also allow a user to directly interface with all of the computers in the network.
A parallel operating system works by dividing sets of calculations into smaller parts and distributing them between the machines on a network. To facilitate communication between the processor cores and memory arrays, routing software has to either share its memory by assigning the same address space to all of the networked computers or distribute its memory by assigning different address spaces to each processing core.
c. Multitasking systems
Both the memory and CPU time is shared among the tasks It performs multiple tasks concurrently. It gives an illusion that all the processes or tasks are performed simultaneously. For example, on your desktop you can listen to music, download things simultaneously. The concept is that the CPU time is shared equally among the processes or tasks. Again take an example that 3 tasks are loaded into the main memory. Consider that the time allocated for each program is 5 microseconds. Now the first task is executed. After 5 microseconds irrespective of whether the task gets completed or not it gets switched to the second task. Similarly, after 5 seconds it goes to the third task. Thus the CPU time is shared equally among the tasks.
You may also like: Concepts of Uniprogramming, Multiprogramming, and Parallel Programming