Таймери
Ядро зазвичай надає двох типів таймерів — годинник реального часу,
вказуючий астрономічний час (драйверу цей час звичайний цікаво
лише для збору статистики) і власне таймери — механізми, що
дозволяють відмірювати інтервали часу.
Таймери цікаві драйверам з декількох точок зору. Один з важливих способів
їх використання приведений в прикладі 10.1: якщо пристрій із-за якої-небудь
помилки не згенерує переривання, наївний драйвер може залишитися в стані
чекання назавжди. Аби цього не відбувалося, драйвер повинен встановлювати
будильник, який' повідомить основний потік, що пристрій підозрілий
довго не відповідає.
Таймери використовуються також як
альтернатива безперервному опиту пристрою при виконання тривалих операцій,
наприклад скидання пристрою, якщо використання переривань чого-небудь
небажано або неможливо. Якщо говорити саме о-скиданні, авторові не відомо
жодного пристрою, який генерував би переривання при завершенні цієї
операції.
|