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

Алгоритми керування ресурсами

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

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

Алгоритм надання ресурсу по першому звертанню

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

1) фіксує перше згадуване ім’я запитуваного ресурсу.

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

3) позначає ресурс у відповідній таблиці як виділений.

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

Алгоритм запобігання тупиків

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

1) Кожний процес повинен запитувати всі необхідні йому ресурси одразу, при чому не може почати виконуватися доти, поки всі вони не будуть йому видані.

2) Якщо процес, що отримує певні ресурси, одержує відмову в задоволенні запиту на додаткові ресурси, цей процес повинен змінити свої первісні ресурси. І при необхідності запросити їх знову разом з додатковими.

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

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

Процеси в ході свого виконання повинні запитувати необхідні ресурси строго в порядку зростання номерів цих ресурсів. Тому ситуація кругового очікування виникнути не може.

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