Operating System Tutorial

What is Operating System Evolution of Operating System Types of Operating System Functions of Operating System What is Kernel and Types of Kernel Operating System Properties Operating System Services Components of Operating System Needs of the Operating System Linux Operating System Unix Operating System Ubuntu Operating System What is DOS Operating System Difference Between Multi-programming and Multitasking What is Thread and Types of Thread Process Management Process State What is Process Scheduler and Process Queue What is Context Switching What is CPU Scheduling Scheduling Algorithm FCFS (First-come-First-Serve) Scheduling SJF (Shortest Job First) Scheduling Round-Robin CPU Scheduling Priority Based Scheduling HRRN (Highest Response Ratio Next) Scheduling Process Synchronization Lock Variable Mechanism TSL Mechanism Turn Variable Mechanism Interested Variable Mechanism What is Producer-Consumer Problem What is Semaphore in Operating System Monitors in Operating System What is Deadlock Deadlock Avoidance Strategies for Handling Deadlock Deadlock Prevention Deadlock Detection and Recovery Resource Allocation Graph Banker’s Algorithm in Operating System Fixed Partitioning and Dynamic Partitioning Partitioning Algorithms What is Paging and Segmentation What is Demand Paging What is Virtual Memory Disk Scheduling Algorithms FCFS and SSTF Disk Scheduling Algorithm SCAN and C-SCAN Disk Scheduling Algorithm Look and C-Look Disk Scheduling Algorithm File in Operating System File Access Methods in Operating System File Allocation Method Directory Structure in Operating System Difference between C-LOOK and C-SCAN Difference between Rotational Latency and Disk Assess Time Trap vs Interrupt How to implement Monitors using Semaphores N-Step-SCAN Disk Scheduling Why is it critical for the Scheduler to distinguish between I/O-bound and CPU-bound programs Difference between C-SCAN and SSTF Difference between SCAN and FCFS Difference between Seek Time and Disk Access Time Difference between SSTF and LOOK

Why is it critical for the Scheduler to distinguish between I/O-bound and CPU-bound programs

A CPU-bound process is one that spends most of its time executing instructions on the processor. A process that is I/O-bound spends most of its time waiting for input and output operations to complete. It is critical for a scheduler to discern between the two in order to maintain a balanced system. The CPU will be underutilised if the scheduler solely performs I/O-bound processes. On the other hand, if the scheduler only runs CPU-bound applications, the CPU will be fully used, but other system resources (such as hard drives or network interfaces) may be less used. The entire system is kept as active as feasible via a proper balance of CPU-bound and I/O-bound tasks.

I/O bound

An input-output bound task or program, whereas, it is one whose execution is dependent on the input-output system and its resources, such as disk drives and peripheral devices.We wait to get a resource through the input-output system in I/O bound situations. As a result, it's reasonable to assume that if the input-output system performed quicker, a programme or job would run faster.

In addition, when performing I/O bound activity, the computing device spends most of its time performing input-output activities, and other resources, such as the central processor unit, are rarely or not used at all. An operating system's input-output component is referred to as the input-output system. This is normally in charge of data exchange or transfer between the computer equipment and the outside world.


  • Because of the brief CPU bursts, they're frequently given greater priority during scheduling to make better use of system resources.
  • I/O-bound applications are frequently slower than CPU-bound programmes.
  • The time spent waiting for data to be read or written can be significant when using an input-output system. This is far slower than the time a processor takes to perform operations.


The phrase CPU-bound refers to a situation in which a job or program's execution is heavily reliant on the CPU. Let's start with a definition of what a CPU is. The central processing unit of a computing device, such as a desktop computer, is called a CPU. It's in charge of directing how tasks and programmes are executed in a computer system. As a result, a computer device can't function properly without it.

In a CPU-bound context, the processor is almost often the only component needed for execution. This means that other parts of the computer system are rarely used while the programme is running. Everything related to programme execution is reliant on the CPU as a result of this dependency. As a result, if we want a programme to run quicker, we must boost the CPU's speed.