Faculty of Computer Science Institute for System Architecture, Operating Systems Group
Hardware and Device Drivers
Dresden, 2007-11-13 Björn Döbel
TU Dresden, 2007-11-13 Device Drivers Slide 2 von 45
Outline
- What's so different about device drivers?
- Hardware access
- Writing device drivers on L4
– Reuse of legacy drivers
- Device virtualization
- Device drivers and security
TU Dresden, 2007-11-13 Device Drivers Slide 3 von 45
Why are Drivers so hard?
- Typically need kernel privileges because of
– Interrupt handling – Hardware access
- data transfer
- config registers
- firmware
– Special memory management – DMA
- physical adresses
- DMA vs. paging
– Synchronization & Timing mechanisms
- complex state machines
- Unsexy solution: keep drivers in the kernel
TU Dresden, 2007-11-13 Device Drivers Slide 4 von 45
Idea: User-level Drivers
- Isolate components
– device drivers (disk, network, graphic, USB cruise missiles, ...) – stacks (TCP/IP, file systems, ...)
- Separate address spaces for each
- More robust components
– Crashing network device does not hurt the file system
- HW multiplexing