Types of Operating System
An operating system is a set of programs that enables a user to operate and interact with a computer. Examples of operating systems are Linux distributions, windows, mac os, FreeBSD, etc. There are many types of operating systems. In this article, we will discuss various classifications of operating systems.
Types of Operating System
Batch Operating Systems
A batch operating system grabs all programs and data in the batch form and then processes them. The main aim of using a batch processing system is to decrease the setup time while submitting similar jobs to the CPU. Batch processing techniques were implemented in the hard disk and card readers as well. In this case, all jobs are saved on the hard disk to make the pool of jobs for their execution as a batch form.
A batch monitor is started for executing all pooled jobs, after reading them. These jobs are divided into groups, and finally, precede the same jobs in a similar batch. Now all batched jobs are ready for execution one by one, and due to this system enhances the system utilization while decreasing the turnaround time.
- In a batch system, all jobs are performed in repeating form without the user’s permission.
- Can feed input data in the batch processing system without using extra hardware components.
- Small-scale businesses can use batch processing systems for executing small tasks to their benefit.
- Forgiving rest to the system’s processors, your batch system is capable of working in offline mode.
- Batch processing system consumes less time for executing all jobs.
- Sharing of the batch system for multiple users is possible.
- The idle time of the batch system is much less.
- You can assign a specific time for the batch jobs so that when the computer is idle it starts processing the batch jobs.
- The batch systems can manage large repeated work easily.
- `Batch processing system's online sensors are often not available.
- Time-varying process characteristics.
- If anyone's job halts, then increase the workload for predicting time.
- Due to any mistake, any job can enter into an infinite loop.
- If your protection system is not well then, anyone's job can affect pending jobs.
- Computer operators must be trained to use batch systems.
- It is difficult to debug batch systems.
- Batch systems are sometimes costly.
- If some job takes too much time i.e. if an error occurs in the job then other jobs will wait for an unknown time.
- Payroll System
- Bank Invoice System
- Transactions Process
- Daily Report
- Research Segment
- Billing System
Time-sharing Operating Systems
Time-sharing is a logical extension of multiprogramming. The CPU executes multiple jobs by switching, among them, but the switches occur so frequently that the users can interact with each program while it is running. An interactive computer provides direct communication between the user and the system. The user gives instructions to the OS or a program directly, using hardware, and waits for results.
A time-shared operating system uses CPU scheduling and multiprogramming to provide each user with a small portion of a time-shared computer. Each user has at least one separate program in memory. When a process executes, it executes for only a short time before it either finishes or needs to perform input/output. In time-sharing operating systems several jobs must be kept simultaneously in memory, so the system must have memory management and protection.
- Each task gets an equal opportunity.
- Fewer chances of duplication of software.
- CPU idle time can be reduced.
- Reliability problem.
- One must have to take of the security and integrity of user programs and data.
- Data communication problem.
- Windows 2000 server
- Windows NT server
Distributed operating system
A distributed operating system allows the distribution of entire systems on a couple of center processors, and it serves multiple real-time products as well as multiple users. All processors are connected by valid communication mediums such as high-speed buses and telephone lines, and in which every processor contains its local memory along with other local processors.
The Distributed operating systems are also known as loosely coupled systems. They involve multiple computers, nodes, and sites. These components are linked to each other with LAN/WAN lines. A distributed OS is capable of sharing its computational capacity and I/O files while allowing virtual machine abstraction to users.
- A distributed operating system may share all resources from one site to another, increasing data availability across the entire system.
- It reduces the probability of data corruption because all data is replicated across all sites.
- The entire system operates independently of one another, and as a result, if one site crashes, the entire system does not halt.
- A distributed operating system is an open system since it may be accessed from both local and remote locations.
- It helps in the reduction of data processing time.
- Most distributed systems are made up of several nodes that interact to make them fault-tolerant. If a single machine fails, the system remains operational.
- The system must decide which jobs must be executed when they must be executed, and where they must be executed. A scheduler has limitations, which can lead to underutilized hardware and unpredictable runtimes.
- It is hard to implement adequate security in a distributed operating system since the nodes and connections must be secured.
- The database connected to a DOS is relatively complicated and hard to manage in contrast to a single-user system.
- The underlying software is extremely complex and is not understood very well compared to other systems.
- The more widely distributed a system is, the more communication latency can be expected. As a result, teams and developers must choose between availability, consistency, and latency.
- Gathering, processing, presenting, and monitoring hardware use metrics for big clusters can be a real issue.
Network operating systems
Network Operating System is an operating system that has special functions for connecting computers and devices into a local-area network or Inter-network. Some popular network operating systems are Windows NT/2000, Novell Netware, Linux, UNIX, Sun Solaris, and IBM OS/2. The network operating system which was first developed was Novell Netware, in 1983.
An operating system that provides connectivity among several autonomous computers is called a network operating system. A configuration for a network operating system is a collection of personal computers along with a common printer, server, and file server for archival storage, all tied together by a local network. There are two basic types of network operating systems, discussed as follows:
Peer-to-Peer Network Operating Systems: allow users to share network resources saved in a common, accessible network location. In this architecture, all devices are treated equally in terms of functionality. Peer-to-peer usually works best for small to medium LANs and is cheaper.
Client/Server Network Operating Systems: provide users with access to resources through a server. All functions and applications are unified under one file server that can be used to execute individual client actions regardless of physical location.
- Highly stable centralized servers
- Security concerns are handled through servers
- New technologies and hardware up-gradation are easily integrated into the system
- Server access is possible remotely from different locations and types of systems
- Servers are costly
- User has to depend on a central location for most operations
- Maintenance and updates are required regularly
Real-time Operating Systems
A real-time operating system (RTOS) is an operating system that runs multi-threaded applications and can meet real-time deadlines. Most RTOSes include a scheduler, resource management, and device drivers. Note that when we talk about “deadlines”, we do not necessarily mean “fast”. Instead, this means we can determine when certain tasks will execute before runtime.
An RTOS can be a powerful tool if you’re creating complex embedded programs. They help isolate tasks and give you the ability to run them concurrently. You can set prioritization levels of tasks in most RTOSes, which allow some tasks to interrupt and run before other tasks. This is known as “preemption.” If you need concurrency or are getting into deeper embedded concepts like IoT or machine learning, it's wise to add RTOSes and multi-threaded programming to your toolkit.
- Priority-Based Scheduling.
- Abstracting Timing Information.
- Promotes Team Development.
- Easier Testing.
- Code Reuse.
- Improved Efficiency.
- Idle Processing.
- Limited Tasks.
- Use Heavy System resources.
- Complex Algorithms.
- Device driver and interrupt signals.
- Thread Priority.
- Airline traffic control systems.
- Command Control Systems.
- Airlines reservation system.
- Heart Peacemaker.
- Network Multimedia Systems.
Embedded Operating Systems
An embedded operating system is a specialized OS for embedded systems. It aims to perform with certainty specific tasks regularly that help the device operate. An embedded operating system often has limited features and functions. The OS may perform only a single action that allows the device to work, but it must execute that action consistently and timely.
Embedded operating systems are built into Internet of Things devices. They are also part of many other devices and systems. In most cases, embedded hardware doesn't have much capacity and has fewer resources. So, the amount of processing power and memory is limited.
- The OS is often low-cost.
- The OS tends to use few resources, including minimal power.
- The performance is generally trouble-free.
- The OS can usually only run a single or very few applications.
- It is difficult to modify the OS once you establish a framework and build it into the device.
- Trouble-shooting the OS when there are issues can be difficult.
- Windows Mobile/CE (handheld Personal Data Assistants)
- Symbian (cell phones)
- Linux-based OSes.
Multiprogramming Operating System
A multiprogramming operating system runs multiple programs on a single processor computer. If a program waits for an I/O transfer, the other programs are ready to use the CPU. As a result, various jobs may share CPU time. However, the execution of their jobs is not defined to be in the same period. A multiprogramming OS is of the following two types:
Multitasking OS: Enables execution of multiple programs at the same time. The operating system accomplishes this by swapping each program in and out of memory one at a time. When a program is switched out of memory, it is temporarily saved on disk until it is required again.
Multiuser Operating System: This allows many users to share processing time on a powerful central computer from different terminals. The operating system accomplishes this by rapidly switching between terminals, each of which receives a limited amount of processor time on the central computer.
- It may help to run various jobs in a single application simultaneously.
- It helps to optimize the total job throughput of the computer.
- Various users may use the multiprogramming system at once.
- Short-time jobs are done quickly in comparison to long-time jobs.
- It may help to improve turnaround time for short-time tasks.
- It helps in improving CPU utilization and never gets idle.
- The resources are utilized smartly.
- It is highly complicated and sophisticated.
- The CPU scheduling is required.
- Memory management is needed in the operating system because all types of tasks are stored in the main memory.
- The harder task is to handle all processes and tasks.
- If it has a large number of jobs, then long-term jobs will require a long wait.
- Apps like office, chrome, etc.
- Microcomputers like MP/M, XENIX, and ESQview.
- Windows O/S
- UNIX O/S
Multiprocessor Operating System
Multiprocessor operating system utilizes multiple processors, which are connected to physical memory, computer buses, clocks, and peripheral devices (touchpad, joystick, etc.). The main objective of using a multiprocessor OS is to consume high computing power and increase the execution speed of the system.
The following are four major components, used in the Multiprocessor Operating System:
- CPU – capable of accessing memories as well as controlling the entire I/O tasks.
- Input Output Processor – The I/P processor can access direct memories, and every I/O processor has to be responsible for controlling all input and output tasks.
- Input/Output Devices – These devices are used for inserting the input commands, and producing output after processing.
- Memory Unit – Multiprocessor system uses two types of memory modules - shared memory and distributed shared memory.
- Great Reliability.
- Improve Throughput.
- Cost-Effective System.
- Parallel Processing.
- It is more expensive due to its large architecture.
- Its speed can get degraded due to failing any one processor.
- It has more time delay when the processor receives the message and takes appropriate action.
- It has big challenges related to skew and determinism.
- It needs context switching which can impact its performance.
Desktop Operating System
The control program which operates in the machine of a user is referred to as a desktop system. It is also called a Client Operating System. The client can be said as a computer in a network where the user performs some task or activity over the network. Such operating systems do not have complete control over the resources but use the network to access them.
These computer systems only use the network to execute tasks such as downloading a file from the network or browsing the internet. Desktop systems usually operate with a server computer that has complete control over the resources. The processing power remains in the hands of the server OS, which is developed in such a way that it can fulfill all the requirements of the client or the desktop operating system.
- Centralization of resources as all the resources are present at a common location.
- Better management of resources as the files are stored in a single place. This also avoids the redundancy of resources such as printers and scanners.
- Remote access to the server gives processing power to every user.
- High security as only the server needs to be secured from threats and attacks.
- The server can play different roles for the different
- Network congestion as multiple requests from the clients can block the network traffic.
- The architecture of request and response is not robust enough for heavy processing.
- If the server fails, all the desktop systems connected over the network fail.
- If the service interrupts, the task has to be started from scratch. For instance, if a desktop system requests a file download that gets interrupted, the file becomes corrupt, and the entire process needs to be carried out from the start.
- The operating system architecture is highly costly.
- A professional IT personnel is needed to manage and maintain such an operating environment.
- MAC OS
Mobile Operating System
A mobile operating system is an operating system that helps run application software on mobile devices. It is the same kind of software as the famous computer operating systems Linux and Windows, but they are light and simple to some extent. The operating systems found on smartphones include Symbian OS, IOS, BlackBerryOS, Windows Mobile, Palm WebOS, Android, and Maemo.
Android, WebOS, and Maemo are all derived from Linux. The iPhone OS originated from BSD and NeXTSTEP, which are related to Unix. It combines the power of a computer and the experience of a hand-held device. It typically contains a cellular built-in modem and SIM tray for telephony and internet connections.
- Convenience inoperability.
- It also includes open-source platforms.
- Gives notification ease.
- It also includes poor battery quality.
- Not sufficient computational power.
Clustered Operating System
Cluster systems are similar to parallel systems. Both use multiple CPUs. The primary difference is that clustered systems are made up of two or more independent systems linked together. They have independent computer systems and shared storage media, and all systems work together to complete all tasks. All cluster nodes use two different approaches to interact with one another, like a message-passing interface and a parallel virtual machine.
There are two clusters available to make a more efficient cluster. These are as follows:
Software Cluster: Allows all the systems to work together.
Hardware Cluster: Facilitates high-performance disk sharing among systems.
- High Availability
- Cost Efficiency
- Additional Scalability
- Fault Tolerance
- Processing Speed
- Required Resources
Oracle provides a Linux-based operating system that is clustered.
Handheld Operating Systems
Handheld systems include Personal Digital Assistants and connectivity to a network such as the Internet. They are usually of limited size due to which most handheld devices have a small amount of memory, include slow processors, and feature small display screens.
Many handheld devices have a memory in a range of KB to MB. As a result, the operating system and applications must manage memory efficiently. This includes returning all allocated memory to the memory manager once the memory is no longer being used. Not many handheld devices use virtual memory techniques, thus forcing program developers to work within the confinements of restricted physical memory.
Another issue programmers deal with while developing software for handheld devices is their small display screens. One approach for displaying the content on web pages is web clipping, where only a small subset of a web page is delivered and displayed on the handheld device. Some handheld devices may use wireless technology such as Bluetooth, Wi-Fi, and NFC.
- Less computational power.
- Inefficient battery.
Linux vs Windows vs MacOS
Microsoft established AI models that scan for possible threats continuously. It also features the biggest malware signature database for its OS to ensure its users are guarded against cyber scams and attacks and keeps your data well-protected.
Mac OS is known for its security provisions. Many of the newer Mac models even come embedded with the Apple T2 Security Chip. This chip fits is capable of securing the system even for the lowest levels of software. Its Secure Enclave coprocessor is the basis for secure booting, encrypted storage capabilities, Touch ID, etc.
Since it’s open-source, Linux distributions could be the most secure operating system. When you have hundreds of users analyzing the source code, vulnerabilities are easily tackled. Linux correctly estimates the benefits of having security policies that complement each other. This could be why a growing number of users and analysts are switching to Linux.
There's a myriad of application software choices in Windows. However, the lack of a unified store combined with the abundance of options can make some users feel overwhelmed, especially since there’s no guidance or support to walk them through it. PC gamers, as well as gaming developers and publishers, are also favoring Windows.
The macOS is dependent on Apple’s mesh of integrated software. Everything within the Apple enterprise is exclusive to this ecosystem.
Linux comes with a unified install setup system. Its smaller user base means fewer options. Yet, its open-source nature is opening up new possibilities. One of these is in the gaming industry.
Windows suffers more from security breaches and hackings. More people use Windows worldwide than any other operating system, which provides hackers with a massive pool of targets. With more users, there’s a wider collection of marks to choose from.
There are vulnerabilities in the MacOS that arise from time to time. Now since over 10% of the market share is Mac users. This is making cybercriminals take notice of this system.
Being open-source is both good as well as evil. Having that joint effort and cooperation makes some people feel their data might be exposed. Because anyone can access the Linux source code, some organizations are wary and a bit skeptical of its level of security.
64-bit OS vs 32-bit OS
A 64-bit processor is more capable than a 32-bit processor because it can handle more data at once. It can store more computational values, including memory addresses, which means it can access over 4 billion times the physical memory of a 32-bit processor.
A key difference is, 32-bit processors are perfectly capable of handling a limited amount of RAM (in Windows, 4GB or less), and 64-bit processors utilize relatively more. A major difference between 32-bit processors and 64-bit processors is the number of computations per second they perform, which affects the speed at which they can complete tasks.
Batch OS vs Time-sharing OS vs Distributed OS vs Network OS vs RTOS
A batch OS fetches all programs and data in the batch form then performs processing. The main goal of using a batch processing system is to decrease the setup time while submitting similar jobs to the CPU. Batch processing techniques were implemented in the hard disk and card readers as well. In this case, all jobs are saved on the hard disk for making the pool of jobs for their execution as a batch form. A batch monitor is started for executing all pooled jobs, after reading them. These jobs are divided into groups, and finally, precede the same jobs in a similar batch. Now all batched jobs are ready for execution one by one without wasting more time, and this system enhances the system utilization while reducing the turnaround time.
Time Sharing OS
Time-sharing is a logical extension of multiprogramming. The CPU executes multiple jobs by switching, but the switches occur so frequently that the users can interact with each program while it is running. An interactive system provides direct communication between the user and the system. The user gives instructions to the OS/program directly, using a hardware device, and waits for results. Accordingly, the response time should be short. A time-shared operating system uses CPU scheduling and multiprogramming to provide each user with a small portion of a time-shared computer. Each user has at least one separate program in memory. When a process executes, it typically executes for only a short time before it either finishes or needs to perform input/output.
A distributed system allows the distribution of entire systems on the couples of center processors, and it serves multiple real-time products as well as multiple users. All processors are connected by valid communication mediums such as high-speed buses and telephone lines, and in which every processor contains its local memory along with other local processors. Distributed operating systems are also known as loosely coupled systems. They involve multiple computers, nodes, and sites, and these components are linked to each other with LAN/WAN lines. A distributed os is capable of sharing its computational capacity and I/O files while allowing virtual machine abstraction to users.
Network Operating System has special functions for connecting computers and devices into a local-area network or Inter-network. Some popular network operating systems are Novell Netware, Linux, IBM OS/2, etc. The network operating system which was first developed is Novell Netware. There are two basic types of network operating systems, discussed as follows:
- Peer-to-Peer Network Operating Systems: allow users to share network resources saved in a common, accessible network location.
- Client/Server Network Operating Systems: provide users with access to resources through a server.
Real time OS
A real-time operating system (RTOS) is an operating system (often a lightweight OS) that runs multi-threaded applications and can meet real-time deadlines.
Most RTOSes include a scheduler, resource management, and device drivers. When talking about “deadlines”, “fast” is not the necessary implication. An RTOS can be a powerful tool if you’re creating complex embedded programs. They help you isolate tasks and give you the ability to run them concurrently. You can set prioritization levels of tasks in most RTOSes, which allow some tasks to interrupt and run before other tasks.
Unlock the secrets of operating systems with our free Operating System full course. Enroll now to get a comprehensive overview of operating systems.
- An operating system is a set of programs that enables a user to operate and interact with a computer.
- Examples of operating systems are Linux distros (Ubuntu, Arch, open use, etc.), Windows, Mac OS, FreeBSD), Android, IOS, etc.
- Operating systems based on their use cases are categorized as being of the following types:
- Batch OS
- Time-Sharing OS
- Distributed OS
- Network OS
- Real-Time OS
- Embedded OS
- Multiprogramming OS
- Multiprocessing OS
- Desktop OS
- Mobile OS
- Clustered OS