Types of Operating Systems
Different Types of OS
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 –
Why is different types of OSes not just one?
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.
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.
- 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.
- 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
- 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.
- 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
- 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.
- Fair time given to each process
- CPU time is more efficiently utilised.
- Multitasking for small systems made possible.
- 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.
- Overall network security managed by server
- Remote access of X system in the network possible from Y system
- 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.