Q: What are the different types of operating systems? Briefly describe.
Operating systems and computer architecture have had a great influence on each other. As hardware industry started to develop powerful and feature enriched hardware for computers, the operating systems needed to update themselves to harness the power of those hardware. Again, as operating systems started to show what else they can do, hardware manufacturers needed to develop further better hardware. Following are different types of operating systems.
What is operating systems? Describe operating systems in brief.
What are the functions of operating system?
1. Simple Batch Systems:
Early computers used to take one job at a time, no input in the middle of the process and also no output either. The jobs were prepared commands for the computer to execute on its side and these jobs were generally written on cards, control cards, which the computer used to read through card readers. After processing the job, the computer used to output the data through line-printer machines or tape drives.
So, the simple batch operating systems were designed to speed up the process by grouping jobs which are similar in nature into one job and execute them and then send back output of each jobs to its programmer. So simple batch systems lack the interaction between the programmer and the machine while it’s running or working on a job.
2. Multi-programmed Batched Systems:
In multi-programmed batched operating systems, the operating system reads jobs from disk drives where a list of jobs are already being stored through card readers. The operating system then pull and store as much job as it can in the memory. Then from the memory, operating system start working on a job. Now, whenever a job reaches a situation where is has to be waiting for one or more tasks to be completed like use of any IO devices, the operating system pulls another job from the memory and starts working on it. Whenever this job also starts waiting, for example it need to use the same IO which is already in use by its previous job, the operating systems pulls another job. This is how, a multi-programmed batched systems harness the power of disk drives and memory.
3. Time-Sharing Systems:
Time sharing operating systems are extension of multiprogrammed batched operating system and the extension is that here the user can interact with the program running. The CPU scheduling algorithm and allocate small amount time to each job at once and then move on to the next job. Thus the user can get output from the program and can input another command and wait for the output. Keyboard is used to input command and monitors are for output. A time sharing operating system allows many user to use the same computer at the same time such as every user is using his own computer. This is achieved by frequently switching from one program to another and satisfying users with an output from the program before switching to the next one.
Read More: Differences between time sharing and multiprogrammed batched systems.
4. Personal Computer Systems:
Personal Computer Operating Systems are used in PCs. These operating systems are slightly different from the other sophisticated operating systems in the way that other operating systems tends to give priority to utilizing the hardware and maximizing the security. On the other hand, personal computer operating systems tend to maximize the user’s convenience and ease of use of the operating system. PCs are made to be used by a single user, resource utilization gets less priority over the user’s comfort of using the operating system.
5. Parallel Systems:
Parallel operating systems (also tightly coupled systems) are supposed to be used in machines with more than one processor connected closely where these multiple processors will be sharing memory, clock, buses and other peripherals. Parallel systems are designed to distribute a job to multiple processors to have faster speed. But the speed-ratio is for n processor is not n the times for a single processor. As, when multiple processors cooperate on a task, a certain amount of overhead is incurred in keeping all the parts working correctly. Different model of parallel systems exists, such as symmetric-multiprocessing model where each processors runs a copy of the operating system, these operating systems communicate each other when required. Another model is asymmetric-multiprocessing where each processors get a specific task to do. A master processor controls other processors and maintain the workflow. This is a master-slave situation where slaves’ checkout for tasks from masters or sit idle.
Read More: Differences between parallel and multiprogrammed batched systems.
6. Distributed Systems:
(also loosely coupled systems) are also multiprocessor systems but they will not be sharing clock, memory etc. and will be communicating with each other with high speed buses, telephone lines etc. Processors in distributed systems may vary in size and function and include microprocessors, workstations to large general-purpose computers. Some of the reasons for building distributed systems are resource sharing, computation speed up, reliability, communication etc.
Read More: Reasons for building Distributed Systems.
7. Real Time Systems:
Real time systems are special purpose systems where there are rigid time requirement on the operation of a processor or the flow of data and thus is often used as a control device in a dedicated application. Real time systems depends on data from sensors, then process it and through output before the time constraints. Real time operating systems has well defined, fixed time constraints. Processing must be done within the given time constraints or the system fails. Two types of real time systems can be seen; such as hard real-time systems and soft real-time systems.
Read More: Differences between time sharing and real time systems.