Section 18.5: Device Drivers and System Calls (Frame 3)                     [prev][home][next]

Another reason why controllers are used to "micro-manage" the actual peripheral devices is because sometimes the devices are running fast enough that they need lots of attention in a timely fashion. With the CPU often doing other tasks and monitoring other devices, some control signals might be missed with disastrous consequences. Therefore, it makes sense to relegate fine control to a special processor chip and allow the OS to make broad, abstract commands like read sector 57 of track 91. Even that is a fairly detailed command, from the user's point of view. The operating system is the final shield of such messy details from the user.

Thus there is a hierarchy of control mechanisms and a ladder of abstraction, going from the most abstract command in the user program to a much more specific one in the operating system to a command in the controller, which then issues the lowest level of commands by setting wires to 1 and 0 at the appropriate times.