6.5. Device Driver Implementation

6.5.1. Device Independent Function Call


System calls use a table to use and execute the correct driver code.

6.5.2. Driver–Kernel Interface

  • Drivers are distinct from the main part of the kernel.

  • The kernel makes calls to specific functions, drivers implement them.

  • Drivers use kernel functions for:

    • Device allocation
    • Resource (e.g., memory) allocation
    • Scheduling
    • etc. (varies from OS to OS)

6.5.3. Reconfigurable Device Drivers


Modern systems can be reconfigured with tables holding pointers to functions. This allows drivers to be added without recompiling the Operating System kernel.