Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsiya_1-10.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
528.38 Кб
Скачать

Продовження

Логіка роботи всіх алгоритмів практично збігається. Розрізняються вони лише реалізацією блоків – вибір довжини кванта і вибір чергового процесу. Розглянемо вибір чергового процесу:

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

Алгоритм вибору по характеру використання попереднього кванта розрізняє 2 типи стану готовності процесів:

- низкьопріоритетна

- високопріоритетна

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

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

1) Алгоритм рівномірного квантування

2) Алгоритм квантування по пріоритету процесу.

3) Алгоритм мінімізації к-сті перемикань між процесами.

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

Другий алгоритм здійснює регулювання тривалості кванта qi для i-ого процесу залежно від його поточного пріоритету pi. Функціональна залежність qi = qi(pi) може мати будь-який припустимий вид і повинна мати наступні основні властивості:

- монотонність

- позитивна визначеність

- обмеженість

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

Взаємозалежні конкуруючі завдання

1.1 Засоби керування ресурсами.

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

1) Облік наявності і стану ресурсів.

2) Прийом і облік заявок на ресурси від завдань і процесів.

3) Розподіл ресурсів між завданнями і процесами.

4) Організація використання ресурсів, виділених кожному завданню або процесу.

5) Повернення ресурсу в систему в міру його звільнення споживачем.

Для реалізації функцій керування ресурсами в ОС формуються інформаційні таблиці, у яких відбиваються наступні основні дані:

1) Для ресурсів:

- облікова інформація про ресурс (ідентифікатор, клас, кількість каналів і т.д.)

- код стану ресурсу

- ідентифікатор процесу власника

2) Для заявок на ресурси:

- ідентифікатор процесу заявника

- пріоритет процесу

- ідентифікатор і необхідний обсяг ресурсу

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

В ОС тупики виникають у більшості випадків як результат конкуренції процесів за монопольне володіння використовуваними ресурсами.

Сформульовано наступні 4 необхідних умови наявності тупика:

1) Процеси вимагають надання їм монопольного права керування ресурсом, які їм виділяються (умова взаємовиключення).

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

3) Ресурси не можна відібрати в процесів, що отримують їх, ці ресурси не будуть використані для завершення роботи (умова неперерозподілу).

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

У проблемі тупиків виділяються наступні 4 основних напрямки:

1) Запобігання тупиків

2) Обхід тупиків

3) Виявлення тупиків

4) Відновлення після тупиків

Механізми синхронізації процесів.

1.1. Паралельні процеси і критичні ділянки.

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

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

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

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

1) При звертанні декількох процесів до одного поділюваного ресурсу, тільки одному з них дозволено скористатися цим ресурсом.

2) В кожний момент часу тільки 1 процес повинен володіти критичним ресурсом.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]