69763

Таймери і системний час

Лекция

Информатика, кибернетика и программирование

Таймери керують пристроями які передають у систему інформацію про час. Вони відстежують поточний час доби здійснюють облік витрат процесорного часу повідомляють процеси про події що відбуваються через певний проміжок часу тощо.

Украинкский

2014-10-09

27.5 KB

2 чел.

Тема 11. Таймери і системний час

Таймери керують пристроями, які передають у систему інформацію про час. Вони відстежують поточний час доби, здійснюють облік витрат процесорного часу, повідомляють процеси про події, що відбуваються через певний проміжок часу тощо. Робота із такими пристроями відрізняється від традиційної моделі введення-ви-ведення, для них використовують окремий набір системних викликів.

11.1. Керування системним часом

Апаратний таймер  —  це пристрій, що генерує переривання таймера через певний проміжок часу. Розглянемо, як такий пристрій можна використати для відстеження поточного системного часу.

Таке завдання розв'язують просто: створюють лічильник, який збільшують для кожного переривання таймера. Основною проблемою є розмір цього лічильника, а саме:

  •  32-бітне значення не може зберігати достатньо великий проміжок часу (переповнення такого лічильника за частоти переривання таймера 60 Гц настане упродовж двох років);
  •  64-бітне значення на 32-бітному процесорі (наприклад, в архітектурі ІА-32) оброблятиметься неефективно. Для реалізації 32-бітного лічильника звичайно використовують такі підходи.
  •  Зберігають лише інформацію про секунди, а про долі поточної секунди (мілі-секунди, мікросекунди) — окремо. У цьому разі лічильника секунд вистачить для зберігання інформації про 232 с (більш як на 135 років).
  •  Зберігають інформацію про кількість переривань із моменту останнього завантаження системи, а час останнього завантаження зберігають окремо (як 64-бітне значення). У разі запиту поточного часу значення лічильника і збережений час завантаження додають.

Якщо поряд із таймером у системі є годинник, значення цього лічильника може час від часу звірятися із показаннями годинника.

11.2. Керування таймерами відкладеного виконання

Іноді процесу потрібно, щоб система сповістила його про закінчення заданого проміжку часу. Наприклад, у програмі, яка реалізує тестування, може бути задано максимальний час відповіді на запитання. Коли цей час минув, процес сповіщається.

Для окремих процесів у системі створюють таймери відкладеного виконання, їх зазвичай об'єднують у чергу, на початку якої перебуває таймер, що має спрацювати першим (поточний таймер); у ньому зберігають число, яке показує, скільки переривань таймера залишилося до його спрацювання. Кожний наступний таймер у черзі містить число, яке вказує, скільки переривань таймера залишиться до його спрацювання після того, як спрацював попередній.

Для кожного переривання таймера ОС зменшує на одиницю число, котре зберігають у поточному таймері. Коли воно досягає нуля — таймер спрацьовує і його вилучають із черги, а поточним стає наступний за ним.

Аналогічні таймери використовують у ядрі для керування деякими апаратними пристроями. Наприклад, дисковід гнучких дисків не можна використати відразу після ввімкнення двигуна, йому потрібен час для розгону. Для розв'язання цього завдання драйвер диска встановлює таймер після включення двигуна так, щоб він спрацював через час, необхідний для розгону. Після спрацювання такого сторожового таймера (watchdog timer) вважають, що дисковід готовий до роботи.

Контрольні питання:

1. Керування системним часом.

2. Керування таймерами відкладеного виконання.


 

А также другие работы, которые могут Вас заинтересовать

31925. Архітектура комп’ютерів 286.5 KB
  Проаналізувати текст програми lb1. text SEGMENT ORG 100h begin: MOV x20 MOV bx30 DD xbx MOV cxx DD ch16 RET text ENDS END begin Початок сегменту коду програми під назвою text†Встановлення лічильника адреси на зміщення 100H шістнадцятирічне число 100 відносно початку сегменту кода Занесення до регістру АX числа 20 Занесення до регістру BX числа 30 Додавання двох чисел що містяться в регістрах АX та BX Занесення до регістру CX числа з регістру X Збільшення числа що міститься у старших 8 бітах регістра СX на 16 Команда...
31927. Общая психология, ответы на билеты 211.5 KB
  Крупные научные школы придерживались различных методологических принципов. Для поведенческой психологии (бихевиоризма) существенным было положение об объективности, наблюдаемости психических явлений. В психоанализе выдвигалась идея динамики, метаморфоз психической энергии в разные периоды жизни ребенка и взрослого. Концепции отечественных психологов строятся на принципах единства сознания и деятельности, принципе детерминизма
31928. Бытовая радиотелевизионная аппаратура 150 KB
  Структурная электрическая схема телевизора чернобелого изображения. Телевизоры чернобелого изображения ранних лет выпуска схема питания. Переносные ч б телевизоры схема питания. Переносные телевизоры ч б изображения схема разверток.
31932. Проектний тепловий розрахунок рекуперативного теплообмінника 585 KB
  Мета розрахунку Основною метою розрахунку теплообмінників є визначення поверхні теплообміну F а також основних розмірів апарата. Отже для визначення теплової поверхні необхідно розрахувати коефіцієнт теплопередачі k а також середній температурний напір 3. Визначення теплового навантаження апарата та масової витрати гарячого теплоносія 4. Визначення кількості трубок в теплообмінному апараті 5.
31933. АНОМАЛИИ ЛИЧНОСТИ 1.54 MB
  БРАТУСЬ АНОМАЛИИ ЛИЧНОСТИ Хакасская областная библиотека москва мысль ББК 88 Б87 РЕДАКЦИИ ФИЛОСОФСКОЙ ЛИТЕРАТУРЫ Рецензенты: др психол. О чем же данная книга которую не воображаемый а реальный читатель свой или чужой пока неведомо держит в руках Эта книга об общих проблемах психологии личности о том что такое психическое и личностное здоровье о том по каким внутренним механизмам возможно уклонение от нормы появление аномалий личности о том наконец какие перспективы пути предупреждения и коррекции этих аномалий может...