69763

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

Лекция

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

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

Украинкский

2014-10-09

27.5 KB

1 чел.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


 

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

35304. Тема: Метод РунгеКутта вирішення задачі Коші. 38 KB
  h void min {int in; double hbdely; doublek = new double [4]; doublex=new double [n]; doubley=new double [n]; cout Vvedite bh endl; cin ; cin b; cin h; cout Vvedite y[0] endl; cin y[0]; n=b h; x[0]=; cout x y ; cout endl; cout ; cout endl; fori=0;i =n;i { k[0]=hx[i]x[i]2y[i]; k[1]=hx[i]h 2x[i]h 22y[i]k[0] 2; k[2]=hx[i]h 2x[i]h 22y[i]k[1] 2; k[3]=hx[i]hx[i]h2y[i]k[2]; dely=k[0]2k[1]2k[2]k[3] 6; x[i1]=x[i]h;...
35305. Основи трудового права України, Поняття, сторони, умови та види трудового договору 88 KB
  Право громадян України на працю, тобто на одержання роботи з оплатою праці не нижче встановленого державою мінімального розміру, - включаючи право на вільний вибір професії, роду занять і роботи, забезпечується державою.
35306. Основи цивільного та сімейного права України 97 KB
  Цивільне право як галузь права – це сукупність встановлених чи санкціонованих державою цивільно-правових норм, що відображають інтереси окремих осіб (громадян, організацій) як членів суспільства, сприяють, на основі їх волевиявлень, досягненню цілей, що не суперечать закону, забезпечують можливість для задоволення духовних потреб громадян, а також захист їх інтересів.
35307. Основи адміністративного права України. Поняття, предмет, джерела, система адміністративного права України 29.54 KB
  Адміністративне право – це галузь права, яка регулює суспільні відносини в сфері виконавчої та розпорядчої діяльності органів державної виконавчої влади, а також інших державних органів в процесі здійснення їх владних повноважень.
35308. Теорія, основи розрахунку і аналіз роботи тракторів і автомобілів 2.18 MB
  Способи раціонального комплектування і використання машин.чо-тракторних агрегатів (МТА) вивчаються в курсі експлуатації МТА. Однак для успішного оволодіння цим курсом і згаданими способами необхідно добре знати властивості машин
35309. Основи господарського права України 89 KB
  Господарське право – це галузь права, система правових норм, що регулюють відносини з приводу безпосереднього здійснення господарської діяльності, використання результатів господарської діяльності та керівництво господарською діяльністю органами державної влади та місцевого самоврядування
35310. Основи кримінального права України. оняття злочину та його ознаки 134 KB
  Кримінальне право як галузь права — це сукупність юридичних норм (кримінальних законів), встановлених найвищим органом законодавчої влади (Верховною Радою України) або всеукраїнським референдумом, що визначають, які суспільно небезпечні діяння є злочинами та які покарання підлягають застосуванню до осіб, що їх вчинили.
35311. Основи теорії держави та права. Правові відносини 94 KB
  Найхарактернішою ознакою соціальних норм є нормативність: по-перше, вони є правилами поведінки, тобто вказують, як варто себе вести у тій чи іншій конкретній ситуації; по-друге, вони є правилами загального характеру, для них характерна багаторазовість застосування, тривалість дії, невизначеність адресата (адресуються всім, хто може опинитись у визначених соціальними нормами умовах).
35312. Основи конституційного права України. Загальна характеристика органів державної влади в Україні 92 KB
  Верховна Рада є загальнонаціональним представницьким органом державної влади. Український парламент складається з 450 народних депутатів, які обираються на основі загального, рівного і прямого виборчого права шляхом таємного голосування строком на 5 років.