Types of Operating Systems
Different Types of Operating System
Operating systems (OS) are the backbone of modern computer systems, enabling the management and execution of various tasks and applications. They serve as an interface between the hardware and software components, facilitating communication and resource allocation.
In this article, we will explore different types of operating systems and their characteristics.
Different Types of Operating Systems
Different kinds of operating systems are available some of the important ones are –
- Batch System
- Distributed Operating System
- Time Sharing System
- Desktop System
- Multiprocessor System
- Clustered System
- Realtime Operating System
- Handheld System
As we all know that a computer has lots of inbuilt power and mathematical computing available. The operating system manages all the power provided by the computing system and performs basic tasks like managing different files, processes and UI rendering thus, you can call an operating system as the as the basic unit which is responsible to perform all the task.
For different kinds of computers different types of OSes are suitable we will discuss most important ones detail below –
Batch System:
- Definition: A batch system is an operating system that processes a set of similar tasks or jobs in a batch mode without any user interaction.
- Characteristics: It executes jobs one after another, without requiring user intervention for each task.
- Usage: Batch systems are commonly used in scenarios where a large number of similar tasks need to be processed efficiently, such as payroll processing or large-scale data processing.
Distributed Operating System:
- Definition: A distributed operating system is a system that runs on multiple interconnected computers and enables them to work together as a single cohesive unit.
- Characteristics: It allows resource sharing, load balancing, and fault tolerance across multiple machines in a network.
- Usage: Distributed operating systems are used in distributed computing environments where multiple computers collaborate on a task, such as in cloud computing or distributed databases.
Time Sharing System:
- Definition: A time-sharing system, also known as a multitasking system, allows multiple users to concurrently share the resources of a single computer.
- Characteristics: It divides the CPU time among multiple users, providing each user with the illusion of having their own computer.
- Usage: Time-sharing systems are commonly used in scenarios where multiple users need to access and utilize a computer’s resources simultaneously, such as in interactive computing or server environments.
Desktop System:
- Definition: A desktop system refers to an operating system designed for personal computers or workstations used by individual users.
- Characteristics: It provides a graphical user interface (GUI) and a range of applications for general-purpose computing tasks.
- Usage: Desktop systems are widely used by individuals for tasks such as web browsing, document processing, multimedia consumption, and software development.
- Consider an example of a very good football team like FC Barcelona it has a lot firepower in terms of players like Messi Suarez pique Iniesta and others.
- Now any great football team maybe FC Barcelona needs a manager so that all its players which may perform attacking functions are defending mid fielding, to be coordinated. Here is where the role of a football manager comes as he coordinates or together to form best.
- You can say the same for an Operating System Operating systems combines all the computing provided by the system harmoniously so that efficient work is taking place.
- A personal computer needs OS that focusses more on UI Rendering, ease of use and more suitable for accessing Internet
- A supercomputer like a server needs to only focus on speed of execution and faster processing and thus has different requirements.
- A storage computer like ones used for Google Drive or Dropbox needs to be better in compression technologies and delivering memory units to user faster.
Prime Course Trailer
Related Banners
Get PrepInsta Prime & get Access to all 200+ courses offered by PrepInsta in One Subscription
Consider going to a McDonald’s outlet
- When used to order do you directly speak to the person whose cooking your burger no right !!!
- You speak to cashing manager who takes your order then takes the money and then send the order to today cooking team
- The Cooking team, which then prepare your order, and uses its intelligence to sort different type of Orders so some orders, only have fries and are directly provided to the fries person and some orders which are only vegetarian orders he directly provides it to the vegetarian counter
Thus two words – Intermediate person(Cashing Manager) and Intelligence.
Similarly, in a batch operating systems the communication does not happen with the computing power or the computer directly the OS uses its intelligence to sort different types of jobs coming and group them together based on jobs which may have similar characteristics like requirement of a similar input or a similar resource.
And the system after grouping processes into batches sends to the CPU.
Highlights –
- Uses intelligence to group processes which are similar in terms of size or I/O required or file needed access to.
- No direct communication between Computer and the User, OS acts as intermediate.
Advantages
- Can use AI to guess approximate time that a process will queue. (By analysing requirements of Process)
- Supports mutli-user.
- Less Idle time for system
Disadvantages
- In case of failure of execution of any job the other jobs in the queue will have to wait
- Since most of batch operating systems used artificial intelligence does it is very important for us to train them with the large data set so that they can perform in an efficient manner
- From coders perspective it might become a Nightmare if you’ve to find out what’s the error in the system
- Not Fail safe, loss of main resource batcher may put whole system to shutdown.
Distributed systems are also known as loosely coupled systems very popular these days and they have a lot advantages over other types of operating systems which is because distributed systems are basically and interconnection of possibly thousands of different computers with different computing powers that are scalable.
These work together and communicate one another using different kinds of communication networks to pass one information amongst another.
You can understand this has one operating system but multiple computing systems connected to one OS.
Advantages
- These are scalable as we can add more computers to the system without putting the system down and can increase decrease computer power of any single unit of computing device X in the system.
- Due to connectivity, a computing unit may ask another computing unit for a resource like file, software, anti virus etc which it doesn’t posses but other computing unit in the system may posses.
- Load sharing is possible, i.e. if one unit has high load, it may release some of its process to other units of computing with lesser loads.
- System is fail-safe, loss of one or more unit of computing doesn’t put the whole network down
Disadvantages
- If communication network breaks down at the main handling system, then loss of whole network is caused.
- Costly to maintain.
Let us consider n processes which may be from one user or multiple users now as the name suggest time sharing operating systems each process gets a fixed amount of computing time in the system this time is known as Quantum once this Quantum is over the operating system hands over the computing power to a different process.
With time sharing concept of multitasking has also arrived. Consider this example – on your personal system you are listening to music as well as you are trying to open a Google document stored locally. Now in case of traditional systems if the file has some error and the file is not able to open this system may get blocked and even your mP3 file that you are listening music from may stop.
But in time-sharing systems, the system tries to open your erroneous Google document for a quantum of time. Once this quantum of time is complete the computing power is given back to the audio player for its own Quantum and the computing which is required for the music to play for the next few seconds is complete and then the system may try again to open that Google document in this keeps on Executive till the computer decides after multiple tries and giving multiple quantum of processing that the file will not open.
Advantages
- Fair time given to each process
- CPU time is more efficiently utilised.
- Multitasking for small systems made possible.
Disadvantages
- Not much scalable.
- Process priority not given
- Communication of events not there.
Desktop operating systems are the operating systems that we use on a daily basis some us may be using Microsoft based operating system for maybe MAC(Apple) based operating system Linux and others.
The CPU utilisation of the system is not the most important concern the CPU may even sit idle for a lot of amount of time because the user may not perform a lot of actions on the computer. Rather these operating systems have the sole purpose of making the life of the user more easier by being more responsive rendering more beautiful UI and mostly work with accessing different files and using installing and providing interfaces for different software so that user may be able to use different kind of open source tools.
These operating systems in the last few years have been using a lot of artificial intelligence to protect actions that the user will perform so that they can gather information and resources in freehand and perform the task in more efficient manner and in less responsive time.
For example your operating systems may use artificial intelligence to recognise that the first thing that you will be doing once you boot up your computer would be to listen up some music so automatically your operating system will 3 up all the resources using the directories and files which have MP3 extensions
An easy way to understand network based operating system would be to remember how you are computer Labs/ Cyber Cafe’s in schools and colleges look. A typical computer lab me have about hundred to 200 system which are connected to a server.
This server provides additional functions to these systems which are network to the server and these functions may include shared access of memory, files, printers, scanners, softwares etc. One of the most typical features of this type of network-based operating system is that you can check the configuration of any other different computer in the network which creates a lot of transparency in terms of computational capability of any computer and does these systems are also known as tightly coupled systems.
Example – In Labs we can log on to IP of a the main server in the browser and download all the files, softwares and local of files of other computers in the same network.
Advantages
- Overall network security managed by server
- Remote access of X system in the network possible from Y system
- Stable
Disadvantages
- If server is down, the whole system is down
- Dependency to main server
- Individual capability is low
Examples – Microsoft Windows Server 2003 and 2008, Unix, Linux.
If you check most posts, on the internet things which are copied from journals and PhD’s thesis are given.
We will only talk about what is necessary to prepare for placements and interviews.
A real-time operating system (RTOS) is an operating system (OS) intended to serve real-time applications that process data as it comes in, typically without buffer delays. Processing time requirements (including any OS delay) are measured in tenths of seconds or shorter increments of time. A real time system is a time bound system which has well defined fixed time constraints.
Processing must be done within the defined constraints or the system will fail. They either are event driven or time sharing. Event driven systems switch between tasks based on their priorities while time sharing systems switch the task based on clock interrupts.
Are of two types –
- Hard – Where time constraints are very strict. Example in case of Tesla auto-pilot system they use hard RTOS as it must respond in a fixed mili seconds time to avoid fatal accident
- Soft – Where time constraints are not so strict example. Microwave OS, where 1 or 2ms delay will not cause over heating of food.
We don’t think that there is a need required to explain this. Most of the posts on Google are old and talk about Palm-OS and Palm Pilots, battery, bluetooth etc.
Such websites have not been updated in ages, atleast 10.
Examples are Android, iOS, Windows etc we think. It will be waste of your time to read information on this post about them, as we all know much more about them.
Multiprocessor Operating System refers to the use of two or more central processing units (CPU) within a single computer system. These multiple CPUs are in a close communication sharing the computer bus, memory and other peripheral devices. These systems are referred as tightly coupled systems.
These types of systems are used when very high speed is required to process a large volume of data. These systems are generally used in environment like satellite control, weather forecasting etc. The basic organization of multiprocessing system is shown in fig.
Multiprocessing system is based on the symmetric multiprocessing model, in which each processor runs an identical copy of operating system and these copies communicate with each other. In this system processor is assigned a specific task. A master processor controls the system. This scheme defines a master-slave relationship. These systems can save money in compare to single processor systems because the processors can share peripherals, power supplies and other devices. The main advantage of multiprocessor system is to get more work done in a shorter period of time. Moreover, multiprocessor systems prove more reliable in the situations of failure of one processor. In this situation, the system with multiprocessor will not halt the system; it will only slow it down.
(asked in AMCAT)
Choose the correct option for multiprocessing operating systems?
1) Operating systems that allow different parts of a software program to run concurrently
2) Operating system capable of supporting and utilizing more than one computer process
3)Operating system capable of supporting and utilizing more than one computer processor
4) Operating system allows for multiple users to use the same computer at the same time
Not Relevant Information for Placements can read if you want though –
In order to employ multiprocessing operating system effectively, the computer system must have the followings:
- Motherboard Support: A motherboard capable of handling multiple processors. This means additional sockets or slots for the extra chips and a chipset capable of handling the multiprocessing arrangement.
- Processor Support: processors those are capable of being used in a multiprocessing system.
The whole task of multiprocessing is managed by the operating system, which allocates different tasks to be performed by the various processors in the system.
Applications designed for the use in multiprocessing are said to be threaded, which means that they are broken into smaller routines that can be run independently. This allows the operating system to let these threads run on more than one processor simultaneously, which is multiprocessing that results in improved performance.
Multiprocessor system supports the processes to run in parallel. Parallel processing is the ability of the CPU to simultaneously process incoming jobs. This becomes most important in computer system, as the CPU divides and conquers the jobs. Generally the parallel processing is used in the fields like artificial intelligence and expert system, image processing, weather forecasting etc.
In a multiprocessor system, the dynamically sharing of resources among the various processors may cause therefore, a potential bottleneck. There are three main sources of contention that can be found in a multiprocessor operating system:
Locking system: In order to provide safe access to the resources shared among multiple processors, they need to be protected by locking scheme. The purpose of a locking is to serialize accesses to the protected resource by multiple processors. Undisciplined use of locking can severely degrade the performance of system. This form of contention can be reduced by using locking scheme, avoiding long critical sections, replacing locks with lock-free algorithms, or, whenever possible, avoiding sharing altogether.
Shared data: The continuous accesses to the shared data items by multiple processors (with one or more of them with data write) are serialized by the cache coherence protocol. Even in a moderate-scale system, serialization delays can have significant impact on the system performance. In addition, bursts of cache coherence traffic saturate the memory bus or the interconnection network, which also slows down the entire system. This form of contention can be eliminated by either avoiding sharing or, when this is not possible, by using replication techniques to reduce the rate of write accesses to the shared data.
False sharing: This form of contention arises when unrelated data items used by different processors are located next to each other in the memory and, therefore, share a single cache line: The effect of false sharing is the same as that of regular sharing bouncing of the cache line among several processors. Fortunately, once it is identified, false sharing can be easily eliminated by setting the memory layout of non-shared data.
- Efficient Processing: Batch systems are designed to process a large number of similar tasks without user intervention, allowing for efficient utilization of resources and increased throughput.
- Resource Optimization: By grouping similar jobs together and executing them in batches, batch systems can optimize resource allocation and minimize idle time.
- Automated Execution: Batch systems automate the execution of tasks, reducing the need for manual intervention and enabling unattended processing.
- Resource Sharing: Distributed operating systems enable efficient sharing of resources such as computing power, storage, and data across multiple machines, leading to improved resource utilization.
- Scalability: Distributed systems can easily scale by adding more machines to the network, allowing for increased processing power and storage capacity as the system demands grow.
- Fault Tolerance: Distributed operating systems often incorporate redundancy and fault tolerance mechanisms, ensuring that the system remains operational even if individual components fail.
- Multitasking: Time-sharing systems allow multiple users to simultaneously access and utilize a single computer, enabling efficient multitasking and increased user productivity.
- Fair Resource Allocation: These systems employ scheduling algorithms to fairly allocate CPU time and other resources among multiple users, ensuring a balanced sharing of system resources.
- Interactive Environment: Time-sharing systems provide an interactive environment where users can interact with the computer in real-time, fostering collaboration and efficient information sharing.
- User-Friendly Interface: Desktop systems offer graphical user interfaces (GUIs) that are intuitive and easy to use, providing a familiar environment for users to interact with their computers.
- Broad Application Support: These systems support a wide range of applications, allowing users to perform various tasks such as document processing, web browsing, multimedia playback, and software development.
- Personalization: Desktop systems allow users to customize their computing environment according to their preferences, including desktop backgrounds, themes, and software configurations.
- Enhanced Performance: Multiprocessor systems leverage multiple processors to execute tasks in parallel, leading to improved performance and reduced execution time for computationally intensive applications.
- Increased Throughput: By dividing tasks among multiple processors, multiprocessor systems can handle a higher workload, enabling faster and more efficient processing of multiple tasks simultaneously.
- Scalability: These systems can scale by adding more processors to the system, allowing for increased computing power as the workload grows.
- High Availability: Clustered systems provide redundancy and failover mechanisms, ensuring that the system remains operational even if individual nodes or components fail, thus enhancing system availability.
- Load Balancing: Clustered systems distribute the workload across multiple nodes, balancing the processing and resource utilization, which leads to improved performance and efficient resource utilization.
- Scalability: Clustered systems can scale by adding more nodes to the cluster, accommodating increased demand and providing scalability in terms of processing power and storage capacity.
- Deterministic Behavior: Real-time operating systems offer deterministic and predictable behavior, guaranteeing timely execution of critical tasks and meeting strict timing constraints.
- Precise Task Scheduling: These systems provide precise control over task scheduling and prioritization, ensuring that critical tasks are executed with minimal delay.
- Reliable and Predictable Response: Real-time operating systems deliver reliable and predictable responses to external events, making them suitable for applications that require immediate and time-sensitive actions.
- Portability: Handheld systems are designed for small, mobile devices, offering portability and enabling users to carry their computing devices with them wherever they go.
- Touch-based Interaction: These systems support touch-based interfaces, providing intuitive and convenient interaction methods for users.
- Reliable and Predictable Response: Real-time operating systems deliver reliable and predictable responses to external events, making them suitable for applications that require immediate and time-sensitive actions.
Modern Implementations and Applications of Batch Operating Systems
Modern applications and implementations of operating systems are diverse and play a crucial role in numerous technological advancements. Here are some notable examples:
Mobile Devices and Smartphones:
- Operating systems like Android and iOS power mobile devices, providing a platform for a wide range of applications.
- These operating systems enable seamless communication, app distribution, and integration with various mobile hardware components.
Internet of Things (IoT):
- Operating systems designed specifically for IoT devices manage the connectivity and interaction between smart devices.
- These operating systems enable efficient data processing, secure communication, and remote management of IoT ecosystems.
Cloud Computing:
- Operating systems play a significant role in cloud computing infrastructure, managing virtual machines and containerized environments.
- They ensure resource allocation, scalability, and secure data handling in cloud platforms like Amazon Web Services (AWS) and Microsoft Azure.
Conclusion
Operating systems are the backbone of modern computing, enabling users to interact with their devices and harness the power of software applications.
From single-user systems to real-time applications and networked environments, various types of operating systems cater to specific needs and requirements. Understanding the different types of operating systems empowers users to choose the right platform for their intended purposes and maximize their computing experience.
Get over 200+ course One Subscription
Courses like AI/ML, Cloud Computing, Ethical Hacking, C, C++, Java, Python, DSA (All Languages), Competitive Coding (All Languages), TCS, Infosys, Wipro, Amazon, DBMS, SQL and others
Login/Signup to comment