Chapter 7. Time, Delays, and Deferred Work
At this point, we know the basics of how to write a full-featured
char module. Real-world drivers, however, need to do more than
implement the operations that control a device; they have to deal
with issues such as timing, memory management, hardware access, and
more. Fortunately, the kernel exports a number of facilities to ease
the task of the driver writer. In the next few chapters,
we'll describe some of the kernel resources you can
use. This chapter leads the way by describing how timing issues are
addressed. Dealing with time involves the following tasks, in order
of increasing complexity:
Measuring time lapses and comparing times Knowing the current time Delaying operation for a specified amount of time Scheduling asynchronous functions to happen at a later time
|