Have you ever wondered how a multitasking processor handles too many processes simultaneously, and when you go back to any context, it starts from the same point where it was left?

This is because Context Switching in operating system helps store the context of a process, thread, or state, which can be accessed at the same point when reloaded. Besides, it allows multiple processes to share the same CPU at a single given point of time, making it a multitasking feature.

Let’s take a scenario!

There are situations where the operating system’s mechanism is to be restored to some other state, such as a ready state or a waiting-block state. When a particular I/O operation is to be done during the operating phase, the process must be withdrawn and placed in the I/O queue.

The method may also use a round-robin algorithm, where the process must return to the ready state after any set quantum of time. This method transition is achieved using Context Switching.

Context Switching in Operating System

Context Switching in operating systems allows a single CPU to be shared by multiple processes. It helps in storing each process’s task status so they can be resumed back from the state where they were left. 

In simpler words, it is a process that involves switching between processes by a CPU and returning to those functions with the same state.

How is Context Switching Performed?

context-switching-in-the-operating-system

Image Source

When switching between multiple tasks takes place, a system does the following: 

  • The system stores the state of the previous running process in registers and assigns the CPU to a new process.
  • During the runtime of a new process, the system makes the previous one waiting in a ready queue.
  • When it is required to resume the implementation of the past process, the CPU opens it at the same time when it was interrupted by another process. 

If the CPU does not save the process’s state, its execution will start from the first stage. However, Context Switching allows the OS to switch between processes, store and reload them, and carry out tasks as and when required.

Context Switching Triggers

Following are the three significant triggers in Content Switching:

  1. Multitasking: Multiple processes can be executed in a multitask environment from the CPU. This preserves the status of the old process and loads the new process’s status. Besides, the scheduler on a protective device turns off processes.
  2. Interrupt Handling: Context Switching is required when the CPU interrupts in a process to get data from the disk read.
  3. Kernel/User Switch: It helps in switching between the Kernel mode and User mode.

Video Demonstration

Conclusion

To multitask, i.e., multi-programming and time-sharing, context switching is used. Multitasking gives users a feeling that more than one task are carried out concurrently. However, technically, only one task is performed by a processor at a particular time. In this case, the context switching is so fast that the CPU executes multiple processes simultaneously, making users feel like multitasking. 

Cheers to multitasking!

The post Context Switching in Operating System appeared first on The Crazy Programmer.