Goals and Types of Operating System

Goals and Types of Operating System

In this article we will get to know about the goals and evolution of operating systems and how they emphasized the goals.

Prerequisite:

Goals of an Operating System

The primary purpose of operating systems is to efficiently manage and utilize the computer's hardware resources to maximize output and efficiency.

To achieve this goal, operating systems focus on three main objectives: maximizing CPU utilization, minimizing process starvation, and improving higher-priority job execution.

1. Maximum CPU Utilization:

Operating systems want to make sure that the CPU is always busy doing something. The CPU is the main resource in a computer, and if it is not being used to its full potential, the computer will be slow and inefficient. So, operating systems use scheduling algorithms to ensure that the CPU is always busy executing tasks and is never left idle.

2. Less Process Starvation:

Process starvation is when a process is waiting for a long time to get access to the CPU or other resources. This can happen when there are too many processes competing for the same resources or when the operating system is not managing resources effectively. So, operating systems use scheduling algorithms to ensure that all processes get a fair share of resources and that no process is left waiting for too long.

3. Higher Priority Job Execution:

Some tasks are more important than others, and these tasks must get completed quickly. Operating systems use scheduling algorithms to prioritize critical tasks over non-critical tasks. This ensures that the critical tasks get executed first and that the system operates reliably.

Types of operating systems

1. Single process operating system:

  • The first operating systems could only run one program at a time. This meant that the computer was only doing one thing at a time.

  • It was the start of the operating system.

  • None of the main goals were achieved with a single-process operating system.

2. Batch-processing operating system:

  • Batch-processing operating systems allowed multiple jobs to be submitted at once and executed one after another. This was more efficient than single-process operating systems, but it still was executing one process at once.

  • Because of that thing, it only satisfied the maximum CPU utilization goal to some extent.

  • But there was still process starvation and no higher priority job execution.

3. Multiprogramming operating system:

  • Multiprogramming operating systems were designed to allow multiple programs to run at the same time.

  • In a multiprogramming operating system, the computer's memory is divided into sections called "partitions." Each partition is assigned to a different program, and the operating system switches between them very quickly so that it appears that multiple programs are running simultaneously. This allows the computer to make better use of its resources and get more work done in less time.

  • These types of OS achieved Maximum CPU Utilization, reduced process starvation, and improved higher-priority job execution.

4. Multitasking operating system:

  • Multitasking operating systems allow computers to perform multiple tasks at the same time. This is done by dividing the CPU's processing time into small slices and then assigning each task a slice of time to execute.

  • This allows the computer to switch between tasks quickly and efficiently, giving an illusion that multiple tasks are being performed simultaneously.

  • Multitasking makes computers more efficient and productive, as it enables users to work on multiple tasks without having to wait for one task to finish before starting another.

  • Multitasking operating systems achieved Maximum CPU Utilization, reduced process starvation, and improved higher-priority job execution.

5. Multi-processing operating system:

  • Multi-processing operating systems use more than one processor to run multiple tasks at the same time, which increases the overall processing power of the computer.

  • By using multiple processors, the computer can handle more tasks simultaneously, making it faster and more efficient.

  • This is particularly useful for applications that require a lot of processing power, such as scientific simulations, data analysis, and video editing.

  • Multi-processing operating systems achieved Maximum CPU Utilization, reduced process starvation, and improved higher-priority job execution.

6. Distributed system:

  • A distributed system is a type of computer system where multiple computers work together to solve a problem or complete a task. Instead of having one big computer that does everything, a distributed system breaks the problem into smaller parts and assigns those parts to different computers. These computers then work together to solve the problem as if they were a single system.

  • Distributed systems are useful for several reasons. First, they can be more reliable than a single computer, because if one computer fails, the other computers can continue working on the problem. Second, distributed systems can handle very large and complex problems that would be too difficult or time-consuming for a single computer to handle.

  • Distributed systems are used in many applications, including scientific research, web search engines, and social media. For example, search engines like Google use distributed systems to quickly search through millions of web pages and return relevant results.

  • Distributed systems achieved Maximum CPU Utilization, reduced process starvation, and improved higher-priority job execution.

7. Real time operating system:

  • A real-time operating system (RTOS) is a type of operating system designed to respond to events or requests within a very short amount of time, typically within microseconds or milliseconds. This is important for systems that require quick responses, such as military and industrial systems.

  • In a real-time operating system, tasks are prioritized and scheduled to ensure that high-priority tasks are completed quickly and with minimal delay. The operating system also provides mechanisms for controlling the timing and synchronization of events, to ensure that they happen in a predictable and timely manner.

  • Real-time operating systems are used in a variety of applications, including flight control systems, medical equipment, automotive systems, and industrial automation.

  • For example, a real-time operating system might be used in a car's anti-lock braking system, where quick and precise responses are critical for safety. In a medical setting, a real-time operating system might be used in a heart monitoring device to quickly detect and respond to changes in a patient's heart rate.