Process interrupt is a signal sent to a process by the operating system or another process to indicate an event that requires the process's attention. Interrupts can be generated by hardware devices, such as a keyboard or a timer, or by software, such as a system call or an exception.
When an interrupt occurs, the current execution of the process is temporarily suspended, and the control is transferred to a specific interrupt handler routine. The interrupt handler then performs the necessary actions to handle the interrupt, such as reading data from a device or handling an exception.
Context switching is the process of saving the current state of a process and restoring the saved state of another process. It is necessary when the operating system needs to switch the execution from one process to another. Context switching involves saving the values of the process's registers, program counter, and other relevant information, and then restoring the saved values for the next process to be executed.
Context switching is typically performed by the operating system's scheduler, which determines which process should be executed next. The scheduler saves the current process's context, selects the next process to run, and restores its context, allowing it to resume execution from where it left off.
Context switching introduces some overhead due to the need to save and restore the process's state, but it is necessary for multitasking and efficient utilization of system resources.