Computer Science, asked by shetti2014, 9 months ago

Explain the context switching at process level in multiprogramming system. with explain​

Answers

Answered by Anonymous
3

In computing, a context switch is the process of storing the state of a process or thread, so that it can be restored and resume execution at a later point. This allows multiple processes to share a single CPU, and is an essential feature of a multitasking operating system....

Context Switching involves storing the context or state of a process so that it can be reloaded when required and execution can be resumed from the same point as earlier. This is a feature of a multitasking operating system and allows a single CPU to be shared by multiple processes.

A diagram that demonstrates context switching is as follows −

In the above diagram, initially Process 1 is running. Process 1 is switched out and Process 2 is switched in because of an interrupt or a system call. Context switching involves saving the state of Process 1 into PCB1 and loading the state of process 2 from PCB2. After some time again a context switch occurs and Process 2 is switched out and Process 1 is switched in again. This involves saving the state of Process 2 into PCB2 and loading the state of process 1 from PCB1.

Context Switching Triggers

There are three major triggers for context switching. These are given as follows −

Multitasking: In a multitasking environment, a process is switched out of the CPU so another process can be run. The state of the old process is saved and the state of the new process is loaded. On a pre-emptive system, processes may be switched out by the scheduler.

Interrupt Handling: The hardware switches a part of the context when an interrupt occurs. This happens automatically. Only some of the context is changed to minimize the time required to handle the interrupt.

User and Kernel Mode Switching: A context switch may take place when a transition between the user mode and kernel mode is required in the operating system.

Context Switching Steps

The steps involved in context switching are as follows

Save the context of the process that is currently running on the CPU. Update the process control block and other important fields.

Move the process control block of the above process into the relevant queue such as the ready queue, I/O queue etc.

Select a new process for execution.

Update the process control block of the selected process. This includes updating the process state to running.

Update the memory management data structures as required.

Restore the context of the process that was previously running when it is loaded again on the processor. This is done by loading the previous values of the process control block and registers.

Context Switching Cost

Context Switching leads to an overhead cost because of TLB flushes, sharing the cache between multiple tasks, running the task scheduler etc. Context switching between two threads of the same process is faster than between two different processes as threads have the same virtual memory maps. Because of this TLB flushing is not required....

#ANONYMOUS

Answered by madhusingh4120
1

Answer:

in a multiprogramming system there are one or more programs loaded in main memory which are ready to execute. operating system picks and begins to execute one job from the memory . so, only one program at a time is able to get the CPU for executing it's instructions while all the others wait for their turn.when the job needs and waits for an I/O operation, the operating system interrupts the process and gives the control to one of the other in main- memory programs that are ready to execute.

This is called process context switching.In this way, the CPU time is not wasted by system waiting for the Input output process to complete. It is always busy and utilizes well

Explanation:

HOPE IT WILL HELP YOU

Similar questions