An interrupt is a signal emitted by hardware or software when a process or an event needs immediate attention. It alerts the processor to a high priority process requiring interruption of the current working process. In I/O devices one of the bus control lines is dedicated for this purpose and is called the Interrupt
Service Routine (ISR). When a device raises an interrupt at lets say process i, the processor first completes the execution of instruction i. Then it loads the Program Counter (PC) with the address of the first instruction of the ISR. Before loading the Program Counter with the address, the address of the interrupted instruction is moved to a temporary location. Therefore, after handling the interrupt the processor can continue with process i+1. While the processor is handling
the interrupts, it must inform the device that its request has been recognized so that it stops sending the interrupt request signal. Also, saving the registers so that the interrupted process can be restored in the future, increases the delay between the time an interrupt is received and the start of the execution of the ISR. This is called Interrupt Latency. Hardware Interrupts: Sequence of events involved in handling an IRQ:
Conceptually an interrupt causes the following to happen: The grey bars represent the control flow. The top line is the program that is currently running, and the bottom bar is the interrupt service routine (ISR). Notice that when the interrupt (Int) occurs, the program stops executing and the microcontroller begins to execute the ISR. Once the ISR is complete, the microcontroller returns to processing the program where it left off. Handling Multiple Devices:
What happens when external hardware requests another interrupt while the processor is already in the middle of executing the ISR for a previous interrupt request? When the first interrupt was requested, hardware in the processor causes it to finish the current instruction, disable further interrupts, and jump to the interrupt handler. The processor ignores further interrupts until it gets to the part of the interrupt handler that has the "return from interrupt" instruction, which re-enables interrupts. If an interrupt request occurs while interrupts were turned off, some processors will immediately jump to that interrupt handler as soon as interrupts are turned back on. With this sort of processor, an interrupt storm "starves" the main loop background task. Other processors execute at least one instruction of the main loop before handling the interrupt, so the main loop may execute extremely slowly, but at least it never "starves". A few processors have an interrupt controller that supports "round robin scheduling", which can be used to prevent a different kind of "starvation" of low-priority interrupt handlers. Processors priority is encoded in a few bits of PS (Process Status register). It can be changed by program instructions that write into the PS. Processor is in supervised mode only while executing OS routines. It switches to user mode before executing application programs Adapted from: Are programs that control a device and act as a translator between the device and the operating system and programs that use the device?Device driver – a software program that is designed to control a particular hardware device that is attached to a computer. The main purpose of device driver – it acts as a translator between the hardware device and operating systems or applications that use it.
What program or component is helps prevent unauthorized changes to Windows?User Account Control (UAC) helps prevent malware from damaging a PC and helps organizations deploy a better-managed desktop.
Which tool allows support personnel to interact with your session to help troubleshoot problems?Explanation: Remote Assistance is designed for support personnel to connect to an active logon session to assist or troubleshoot a problem. Unlike Remote Desktop, Remote Assistance allows the user to interact with the current session, including seeing the same computer screen.
What is a program routine or process that performs a specific system function to support other programs or to provide a network service?Explanation: A service is a program, routine, or process that performs a specific system function to support other programs or to provide a network service. A service runs in the system background without a user interface. Some examples include web serving, event logging, and file serving.
|