
- •Взаємозалежні конкуруючі завдання
- •1.1 Засоби керування ресурсами.
- •Механізми синхронізації процесів.
- •1.1. Паралельні процеси і критичні ділянки.
- •1.2. Механізми синхронізації процесів
- •Семафори
- •Алгоритми керування ресурсами
- •Алгоритм надання ресурсу по першому звертанню
- •Алгоритм запобігання тупиків
- •Алгоритми обходу тупиків
- •Керування пам’яті в ос Поняття про організацію керування фізичною пам’яттю.
- •Методи зв’язного розподілу основної пам’яті (без використання дискового простору) Зв’язний розподіл пам’яті для одного користувача
- •Зв’язний розподіл пам’яті при мультипрограмній обробці
- •Стратегії розміщення інформації в пам’яті
- •Методи розподілу пам’яті з використанням дискового простору. Поняття віртуальної пам’яті.
- •Сторінковий розподіл пам’яті
- •Відображення адрес при сегментній організації віртуальної пам’яті.
- •Відображення адрес при сторінково-сегментній (сс) організації віртуальної пам’яті
- •Керування віртуальною пам’яттю. Стратегії керування віртуальною пам’яттю.
- •Стратегії вштовхування
- •Стратегії розміщення
- •Стратегії виштовхування
- •Керування файлами, введенням, виведенням в ос. Керування файлами Поняття файлового способу зберігання даних і файлової системи.
- •Організація файлів
- •Організація зберігання файлів
- •Операції над файлами
- •Файлова система. Загальна модель файлової системи
- •Сучасні архітектури файлових систем
- •Загальні положення.
- •Обробка поривань
- •Драйвери пристроїв
- •Незалежний від пристроїв шар ос
- •Користувальницький рівень Програмного забезпечення
Алгоритми керування ресурсами
Для організації функції керування ресурсів, система постійно здійснює їх облік наявності і стану. У сучасних системах ОС найбільш вживаними є ідентифікація ресурсу за допомогою файлу та його опису. Способи розрізняють за місцем формування, за місцем їхньої видачі в пакеті завдань або програми під час її виконання. У першому випадку ОС здійснює статичний розподіл ресурсів, а у другому – динамічний.
ОС може прийняти, відкласти або проігнорувати запит на ресурс, що залежить від реалізованого в ОС алгоритму керування ресурсами. Існують також комбіновані способи формування запитів на ресурс з попереднім замовленням у пакетів завдань, або в програмі виконавчому запиті під час виконання програми.
Алгоритм надання ресурсу по першому звертанню
«-» до нього є найпростішим алгоритмом керування ресурсами. Суть даного алгоритму полягає в наступному. Незалежно від місця видачі запиту на ресурс, чи це пакет завдань або програма, що виконується в системі, ОС виконує наступні дії:
1) фіксує перше згадуване ім’я запитуваного ресурсу.
2) розподіляє конкретний фізичний пристрій, що відповідає цьому імені, тобто джерелу запиту.
3) позначає ресурс у відповідній таблиці як виділений.
Розподілений ресурс не може бути виділений іншим процесам, що виконуються в системі, поки процес, якому цей ресурс виділений, не звільнить його, або не припинить своє існування. Даний алгоритм простий у реалізації, однак має серйозний недолік. При його застосуванні можлива поява тупикових ситуацій в обчислюваній системі.
Алгоритм запобігання тупиків
Всі алгоритми запобігання тупикових ситуацій при керуванні ресурсами, засновані на порушенні хоча б однієї з необхідних умов наявності тупика. Хавендером запропоновані наступні стратегії:
1) Кожний процес повинен запитувати всі необхідні йому ресурси одразу, при чому не може почати виконуватися доти, поки всі вони не будуть йому видані.
2) Якщо процес, що отримує певні ресурси, одержує відмову в задоволенні запиту на додаткові ресурси, цей процес повинен змінити свої первісні ресурси. І при необхідності запросити їх знову разом з додатковими.
3) Введення лінійної впорядкованості по типах ресурсів для всіх процесів. Інакше кажучи, якщо процесу виділені ресурси даного типу, то надалі він може запросити тільки ресурси більш далеких по порядку типів.
Із цього видно, що кожна із цих стратегій порушує одну з необхідних умов існування тупика. Алгоритм попереднього розподілу ресурсів відповідно до першого стратегічного принципу Хавендера вимагає, щоб процес відразу запитував всі ресурси, які йому знадобляться. Система у відповідь на ці запити повинна представити ресурси за принципом «всі або нічого». Тобто, якщо набір ресурсів необхідні процесу є, то система надає процесу всі ці ресурси відразу так, що він може продовжити свою роботу. Якщо в цей момент часу повного набору ресурсів немає, то цьому процесу прийдеться чекати поки вони не звільняться. В алгоритмі розподілу ресурсів зі звільненням при відмові, процес, що має у своєму розпорядженні деякі ресурси, якщо він одержує відмову на запит про виділення додаткових ресурсів, то повинен звільнити всі ресурси, які йому належали при необхідності запитувати їх знову разом з додатковими. Така ситуація веде до порушення умови не перерозподілу. Алгоритм розподілу лінійним упорядкування по типах ресурсів передбачає попереднє присвоєння всім ресурсами ОС унікальних номерів.
Процеси в ході свого виконання повинні запитувати необхідні ресурси строго в порядку зростання номерів цих ресурсів. Тому ситуація кругового очікування виникнути не може.