Skip to main content

Context Switching in Operating System Chirag Manghnani The Crazy Programmer

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.



from The Crazy Programmer https://ift.tt/36YKhdN

Comments

Popular posts from this blog

Difference between Web Designer and Web Developer Neeraj Mishra The Crazy Programmer

Have you ever wondered about the distinctions between web developers’ and web designers’ duties and obligations? You’re not alone! Many people have trouble distinguishing between these two. Although they collaborate to publish new websites on the internet, web developers and web designers play very different roles. To put these job possibilities into perspective, consider the construction of a house. To create a vision for the house, including the visual components, the space planning and layout, the materials, and the overall appearance and sense of the space, you need an architect. That said, to translate an idea into a building, you need construction professionals to take those architectural drawings and put them into practice. Image Source In a similar vein, web development and design work together to create websites. Let’s examine the major responsibilities and distinctions between web developers and web designers. Let’s get going, shall we? What Does a Web Designer Do?...

A guide to data integration tools

CData Software is a leader in data access and connectivity solutions. It specializes in the development of data drivers and data access technologies for real-time access to online or on-premise applications, databases and web APIs. The company is focused on bringing data connectivity capabilities natively into tools organizations already use. It also features ETL/ELT solutions, enterprise connectors, and data visualization. Matillion ’s data transformation software empowers customers to extract data from a wide number of sources, load it into their chosen cloud data warehouse (CDW) and transform that data from its siloed source state, into analytics-ready insights – prepared for advanced analytics, machine learning, and artificial intelligence use cases. Only Matillion is purpose-built for Snowflake, Amazon Redshift, Google BigQuery, and Microsoft Azure, enabling businesses to achieve new levels of simplicity, speed, scale, and savings. Trusted by companies of all sizes to meet...

Olive and NTT DATA Join Forces to Accelerate the Global Development and Deployment of AI Solutions

U.S.A., March 14, 2021 — Olive , the automation company creating the Internet of Healthcare, today announced an alliance with NTT DATA , a global digital business and IT services leader. The collaboration will fast track the creation of new healthcare solutions to transform the health experience for humans — both in the traditional healthcare setting and at home. As a member of Olive’s Deploy, Develop and Distribute Partnership Programs , NTT DATA is leveraging Olive’s open platform to innovate, build and distribute solutions to Olive’s customers, which include some of the country’s largest health providers. Olive and NTT DATA will co-develop new Loops — applications that work on Olive’s platform to provide humans real-time intelligence — and new machine learning and robotic process automation (RPA) models. NTT DATA and Olive will devote an early focus to enabling efficiencies in supply chain and IT, with other disciplines to follow. “This is an exciting period of growth at Olive, so...