Applications request the use of resources through system calls. The OS interfaces with the specific hardware components through device drivers. Device drivers are specifically written to be compatible with a particular OS and a particular type of hardware device. The OS handles the management of resources with multiple applications through the use of interrupts and exceptions. Interrupts occur when the CPU is literally interrupted from working on one process to handle a request from another.
Examples are keyboard, the system bus and the video controller.
Application programs can also generate interrupts. Exceptions are error conditions that the OS must handle gracefully. Errors such has applications addressing memory outside their assigned space. Makes it very hard to maintain and update. Microkernel A microkernel is a subset of the overall operating system.