Лекція 17. Планування реального часу.
Поняття про обчислення реального часу.
Обчислення реального часу стають все більш важливою галуззю знань. Операційна система, і зокрема планувальник, представляє собою важливий компонент системи реального часу.
Обчислення реального часу – це типи обчислень, в яких коректність системи залежить не тільки від логічного результату обчислень, але й від часу отримання цього результату. Оскільки події відбуваються в реальному часі, то й задачі, що пов`язані з ними, не повинні відставати від реальних подій.
Ще однією характеристикою задач реального часу є їх періодичність. Неперіодичні задачі мають граничні терміни початку чи кінця роботи; в періодичних задачах вимоги можуть бути вказані у вигляді “один раз за період Т” або “ точно за Т одиниць часу”.
Характеристики операційних систем реального часу.
Вимоги до операційних систем реального часу:
детермінізм;
чутливість;
керування зі сторони користувача;
відновлення після збоїв;
Операційна система детермінована, якщо вона виконує операції в фіксований певний час, або в межах інтервалів часу. При конкуренції процесів за володіння ресурсами і часом процесора система не є повністю детермінованою
Мірою здатності операційної системи до детермінованого функціонування служить тривалість максимальної затримки між надходженням в систему переривання від високопріоритетного пристрою і початком його обробки.
Детермінізм зосереджений на часовій затримці перед початком розпізнавання переривання; чутливість розглядає питання про те, скільки часу потрібно операційній системі для обробки переривання після розпізнавання.
Детермінізм і чутливість в сукупності утворюють час відгуку на зовнішню подію. Вимоги до часу відгуку є критичними для систем реального часу, які повинні відповідати часовим вимогам з сторони пристроїв, зовнішніх потоків даних і т.д.
Управління з сторони користувача в системах реального часу ширше, ніж в звичайних операційних системах. Користувач повинен мати можливість розділяти задачі на жорсткі та м’які і визначати відносні пріоритети в межах кожного класу.
Але навіть система реального часу повинна бути розроблена так, щоб вміти реагувати на помилки різного роду. Відновлення після збоїв – це характеристика системи, яка описує здатність системи зберігати максимальну функційність і не втрачати дані при збоях. Наприклад, типові системи типу UNIX при виявленні пошкодження даних ядра виводять відповідне повідомлення на системну консоль, скидають дамп пам’яті на диск для подальшого аналізу і припиняють роботу системи. Система реального часу буде пробувати або виправити ситуацію повністю, або мінімізувати її вплив на подальшу роботу системи. Найчастіше система інформує користувача або користувацький процес про необхідність корегуючих дій і продовжує роботу із зниженням рівня обслуговування. Якщо необхідно виключення системи, то вона спробує зберегти узгодженість фалів та даних.
Для того, щоб відповідати наведеним вимогам, сучасна система реального часу включає:
швидке переключення процесів і\або потоків
малий розмір (з мінімальною функційністю)
здатність швидкого відгуку на зовнішнє переривання
багатозадачність із засобами взаємодії процесів ( такими як семафори, сигнали, події)
спеціалізовані таймери і системи тайм-аутів.
Основою системи реального часу є короткотривалий планувальник задач.
Планування реального часу.
Планування реального часу є однією з галузей, в яких ведуться активні дослідницькі роботи.
Розглянемо два розповсюджених класи алгоритмів планування. Різні алгоритми реального часу залежать від
чи виконується система аналізу спланованості;
якщо так, то:
виконується він статично чи динамічно;
чи призводить він до безпосереднього виконання функції планування або ж до побудови розкладу, згідно з яким в процесі роботи відбувається диспетчеризація завдань.
- Лекція 1. Вступ до операційних систем.
- 1.Поняття про операційні системи та їх місце в загальній структурі комп’ютера.
- 2. Основні функції операційної системи : розширення можливостей комп’ютера та керування його ресурсами.
- 3. Історія операційних систем.
- Лекція 2. Структура операційної системи.
- Таблиця 2.1
- Екзоядро
- Модель клієнт-сервер
- Лекція 3. Концепція процесу
- Лекція 4. Потоки в операційних системах.
- 3. Міжпроцесна взаємодія.
- 4.Примітиви міжпроцесної взаємодії.
- 5.Семафори та їх використання.
- 6.Поняття м’ютекса.
- 7.Поняття моніторів.
- 8.Поняття про бар’єри.
- 9.Поняття про системи передачі повідомлень.
- Лекція 5. Взаємоблокування.
- 2.Умови та моделювання взаємоблокувань.
- 3.Виявлення та усунення взаємоблокувань.
- 4.Уникнення взаємоблокувань при наявності декількох ресурсів кожного типу.
- 6. Уникнення взаємоблокувань.
- 7. Алгоритм банкіра для одного та декількох видів ресурсів.
- 8. Уникнення взаємоблокувань шляхом порушення умов їх здійснення
- Лекція 6. Основні поняття керування пам’яттю.
- 1.Однозадачна система без підкачки на диск.
- 2.Багатозадачність з фіксованими розділами
- 3.Поняття про підкачку даних.
- 5.Віртуальна пам’ять. Основні поняття.
- 6.Віртуальна пам’ять. Сторінкова організація пам’яті.
- 7.Характеристика основних алгоритмів заміщення сторінок.
- Лекція 7. Принципи роботи апаратури введення-виведення.
- 1.Пристрої введення-виведення.
- 2.Переривання персональної кс.
- Лекція 8.
- Лекція 9.
- Лекція 10. Файли та їх властивості.
- 1.Поняття файлової системи.
- 2.Іменування файлів.
- 3.Структура файлу.
- 4.Типи файлів.
- 5.Доступ до файлів. Атрибути файла.
- 6.Файли, відображувані на адресній простір памяті.
- 7.Каталоги.
- Лекція 11. Реалізація файлової системи.
- 1.Структура файлової системи.
- 2.Реалізація файлів.
- 3.Реалізація каталогів.
- Лекція 12 Планування в системах з одним процесором.
- 1.Поняття про планування.
- 2.Типи планування процесора.
- 3.Планування вводу-виводу.
- Лекція 13. Критерії планування.
- 1.Критерії короткотривалого планування.
- 2.Використання пріоритетів.
- 3.Альтернтитвні стратегії планування
- Лекція 14. Стратегії планування.
- 1.Стратегія планування „першим прийшов – першим обслуговується”.
- 2.Стратегія”кругове планування” .
- 4.Вибір самого короткого процесу.
- 5.Стртегія найменшого часу, що залишився.
- 7.Зниження пріорітету.
- Лекція 15. Багатопроцесорне планування і планування реального часу.
- 1. Класифікація багатопроцесорних систем.
- 3.Задачі планування в багатопроцесорній системі.
- 4. Планування процесів.
- 5.Планування потоків.
- Лекція 16. Основні підходи до планування потоків.
- 1.Розділення навантаження.
- 2.Бригадне планування.
- 3.Призначення процесорів.
- 4.Динамічне планування.
- Лекція 17. Планування реального часу.
- Лекція 18.
- 4. Парадигми.
- 5. Реалізація операційної системи
- Лекція 19. Операційні системи типу unix.
- 1.Історичні відомості про операційні системи типу unix.
- 2.Загальна архітектура системи unix.
- 3.Сучасні системи unix.
- 4.Історія виникнення операційної системи Linux.
- 5.Модульна структура операційної системи Linux.
- 6.Традиційне планування unix.
- Лекція 20. Характеристики операційної системи Windows 2000.
- 1. Історія виникнення Windows.
- Лекція 21. Особливості архітектури Windows xp.
- 1. Основні компоненти Windows xp.