Lecture 1 Introduction
Lecture 1 Introduction
Mark Stanovich
COP 5641 / CIS 4930
Introduction
Device drivers
Software interface to hardware device
Use standardized calls
Independent of the specific driver
Main role
Map standard calls to device-specific operations
Can be developed separately from the rest of the
kernel
Plugged in at runtime when needed
Role of the Device Driver
Character devices
Block devices
Network devices
Others
Character Devices
Buffer overrun
Overwriting unrelated data
Treat input/parameters with utmost suspicion
Uninitialized memory
Kernel memory should be zeroed before being
made available to a user
Otherwise, information leakage could result
Passwords
Security Issues