Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПЗ_лекції.docx
Скачиваний:
148
Добавлен:
23.02.2016
Размер:
136.33 Кб
Скачать

3.Призначення процесорів.

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

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

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

4.Динамічне планування.

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

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

Лекція 17. Планування реального часу.

  1. Поняття про обчислення реального часу.

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

Обчислення реального часу – це типи обчислень, в яких коректність системи залежить не тільки від логічного результату обчислень, але й від часу отримання цього результату. Оскільки події відбуваються в реальному часі, то й задачі, що пов`язані з ними, не повинні відставати від реальних подій.

Ще однією характеристикою задач реального часу є їх періодичність. Неперіодичні задачі мають граничні терміни початку чи кінця роботи; в періодичних задачах вимоги можуть бути вказані у вигляді “один раз за період Т” або “ точно за Т одиниць часу”.

  1. Характеристики операційних систем реального часу.

Вимоги до операційних систем реального часу:

    • детермінізм;

    • чутливість;

    • керування зі сторони користувача;

    • відновлення після збоїв;

Операційна система детермінована, якщо вона виконує операції в фіксований певний час, або в межах інтервалів часу. При конкуренції процесів за володіння ресурсами і часом процесора система не є повністю детермінованою

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

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

Детермінізм і чутливість в сукупності утворюють час відгуку на зовнішню подію. Вимоги до часу відгуку є критичними для систем реального часу, які повинні відповідати часовим вимогам з сторони пристроїв, зовнішніх потоків даних і т.д.

Управління з сторони користувача в системах реального часу ширше, ніж в звичайних операційних системах. Користувач повинен мати можливість розділяти задачі на жорсткі та м’які і визначати відносні пріоритети в межах кожного класу.

Але навіть система реального часу повинна бути розроблена так, щоб вміти реагувати на помилки різного роду. Відновлення після збоїв – це характеристика системи, яка описує здатність системи зберігати максимальну функційність і не втрачати дані при збоях. Наприклад, типові системи типу UNIX при виявленні пошкодження даних ядра виводять відповідне повідомлення на системну консоль, скидають дамп пам’яті на диск для подальшого аналізу і припиняють роботу системи. Система реального часу буде пробувати або виправити ситуацію повністю, або мінімізувати її вплив на подальшу роботу системи. Найчастіше система інформує користувача або користувацький процес про необхідність корегуючих дій і продовжує роботу із зниженням рівня обслуговування. Якщо необхідно виключення системи, то вона спробує зберегти узгодженість фалів та даних.

Для того, щоб відповідати наведеним вимогам, сучасна система реального часу включає:

    • швидке переключення процесів і\або потоків

    • малий розмір (з мінімальною функційністю)

    • здатність швидкого відгуку на зовнішнє переривання

    • багатозадачність із засобами взаємодії процесів ( такими як семафори, сигнали, події)

    • спеціалізовані таймери і системи тайм-аутів.

Основою системи реального часу є короткотривалий планувальник задач.

  1. Планування реального часу.

Планування реального часу є однією з галузей, в яких ведуться активні дослідницькі роботи.

Розглянемо два розповсюджених класи алгоритмів планування. Різні алгоритми реального часу залежать від

    • чи виконується система аналізу спланованості;

якщо так, то:

    • виконується він статично чи динамічно;

    • чи призводить він до безпосереднього виконання функції планування або ж до побудови розкладу, згідно з яким в процесі роботи відбувається диспетчеризація завдань.