Interview OS (Part 1)
In this article, we will talk about the types of OS and how they can be asked in the interviews.
The types of OS that we will discuss are:-
- Batched OS
- Time Sharing OS
- Distributed OS
- Network OS
- Real-Time OS
- As you can see in the above image first the jobs with similar functions or similar types are segregated and put forward in queue and then the Operating system from time to time releases them to the batch system.
So the question arises who will segregate the similar function jobs and how is it sent to the batches.
- Firstly the operator has to segregate the jobs with similar functionality
- Secondly the batch system steps in the form of a Queue and similar jobs are sent in the form of a queue.
What is the advantage of such an Operating System? - The time required for the completion of the whole process is unknown generally but here, precisely for each queue it is known which can ultimately be taken as an advantage, Also if the job is very complex and will require a large amount of time for completion, then such process can be even completed in the absence of humans. Also, the Idle time of the OS is less. This system also gives the freedom of multiple users using the OS.
What are the disadvantages? - The batch system is really hard to debug. This system doesn't allow direct interaction between the user and the OS. Suppose an error occurs in one of the jobs of a batch. Then, all the remaining jobs get affected i.e; they have to wait until the error is resolved.
Time Sharing OS
- As you can see in the above image that there are multiple users or what you can say is multiple jobs and thus called multitasking OS, is used to minimize time response and in turn making sure the maximizing usage of the processor ( which is the objective of multi-programming systems)
In this OS, every user is given time of the CPU and equal time is allocated which is called quantum and once this time is over the OS switches to the next job.
What is the advantage of such an OS?- They minimize the response time i.e; greater the response time. Since it's a time-sharing OS, the system is idle for very little time and each task gets equal time for execution.
What is the disadvantage of such an OS?- Maintaining Synchronization is a challenge and also security must be maintained
- As you can see in the above image that different systems interact through a communication network like LAN or WAN to share the same resource and if needed provide the resource to the user.
- One important point to note about distributed systems is that they are loosely-coupled i.e; hardware and software may communicate with each other but they need not depend upon each other.
- The connected systems to the central system need not be of the same size and capacity.
The major advantage of such OS is that to access a file that is not actually present in the processor can be very easy.
What are the advantages of such OS?- Resources are being shared, computation is highly fast and durable, Reduced load on the host computer, Resources are easily accessible, System is scalable and a promising and better service to the user and failure of one of the processors don't affect the system.
What are the disadvantages?- Very complex structure and network security. Failure of the main host can lead to the failure of the system.
- As you can see in the above image there needs to be a centralized system for employing such type of OS.
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.
What are the advantages of such OS?- The entire central system is very much stabilized, The entire configuration can be done at the central system. New technology and hardware integration are very easy.
What are the disadvantages?- Very costly system. Need for central location even for the smallest of the computation, Regular maintenance is required.
Real Time OS
There are two types of RTOS:
- Hard RTOS:- Time constrained and strict and no delay acceptable
Soft RTOS:- These are much less strict than Hard RTOS
What are the advantages of such OS?- Maximum usage of the system, task shifting in case of some issues with current running task or thread, more focus on running the current thread rather than the queue, good memory allocation system
What are the disadvantages? - Very complex system, limited task execution, heavily embedded systems needed, having thread priority rather than switching tasks.