
- •Взаємозалежні конкуруючі завдання
- •1.1 Засоби керування ресурсами.
- •Механізми синхронізації процесів.
- •1.1. Паралельні процеси і критичні ділянки.
- •1.2. Механізми синхронізації процесів
- •Семафори
- •Алгоритми керування ресурсами
- •Алгоритм надання ресурсу по першому звертанню
- •Алгоритм запобігання тупиків
- •Алгоритми обходу тупиків
- •Керування пам’яті в ос Поняття про організацію керування фізичною пам’яттю.
- •Методи зв’язного розподілу основної пам’яті (без використання дискового простору) Зв’язний розподіл пам’яті для одного користувача
- •Зв’язний розподіл пам’яті при мультипрограмній обробці
- •Стратегії розміщення інформації в пам’яті
- •Методи розподілу пам’яті з використанням дискового простору. Поняття віртуальної пам’яті.
- •Сторінковий розподіл пам’яті
- •Відображення адрес при сегментній організації віртуальної пам’яті.
- •Відображення адрес при сторінково-сегментній (сс) організації віртуальної пам’яті
- •Керування віртуальною пам’яттю. Стратегії керування віртуальною пам’яттю.
- •Стратегії вштовхування
- •Стратегії розміщення
- •Стратегії виштовхування
- •Керування файлами, введенням, виведенням в ос. Керування файлами Поняття файлового способу зберігання даних і файлової системи.
- •Організація файлів
- •Організація зберігання файлів
- •Операції над файлами
- •Файлова система. Загальна модель файлової системи
- •Сучасні архітектури файлових систем
- •Загальні положення.
- •Обробка поривань
- •Драйвери пристроїв
- •Незалежний від пристроїв шар ос
- •Користувальницький рівень Програмного забезпечення
Алгоритми обходу тупиків
Якщо навіть необхідні умови виникнення тупиків не порушені, то все-таки можливість уникнути тупикової ситуації раціонально розподіляючи ресурси з дотриманням певних правил. Найбільш відомим алгоритмом, що дозволяє здійснити обхід тупиків є алгоритм Декстера, називаний також алгоритмом банкіра, і алгоритм Хадермана, називаний алгоритмом регульованого розподілу. Алгоритм регульовано розподілу, заснований на поданні розподілу ресурсів, запитів і процесів у вигляді орієнтованого графа, називаного графом розподілу ресурсів (ГРР).
Правило Хабермена. Якщо граф розподілу ресурсів має цикли, то такий розподіл ресурсів по процесах може привести до утворення тупикової ситуації. Це правило дозволяє побудувати наступний алгоритм розподілу ресурсів:
1) при надходження чергового запиту перевірити наявність вільного ресурсу.
2) якщо вільний ресурс відсутній, то відмова, процес блокувати, інакше зробити попередній розподіл і скорегувати ГРР.
3) перевірити ГРР на наявність циклів
4) Якщо в ГРР є цикли, то скасувати попередній розподіл, відновити ГРР, сформувати відмову і блокувати процес. Інакше, закріпити ресурс за процесом.
Алгоритм Хабермена дозволяє обійти тупики, однак він складний у реалізації через необхідність роботи і графом розподілу ресурсів.
Керування пам’яті в ос Поняття про організацію керування фізичною пам’яттю.
В ОС розрізняють 2 види пам’яті: основна (первинна) і зовнішня (вторинна).
Основна пам’ять – це оперативна пам’ять ЦП або її частина, що представляє собою єдиний простір пам’яті.
Зовнішня пам’ять – це пам’ять, дані в якій доступні ЦП за допомогою операції вводу\виводу.
Для безпосереднього виконання програм, або звертання до них необхідно, що вони розташовувались в основній пам’яті. Зовнішня пам’ять має більшу ємність ніж основна і дозволяє зберігати дані програми, які повинні бути на по готові для обробки.
Крім цих, існують додаткові швидкодіючі пам’яті, які називаються кеш-пам’ять і регістрова пам’ять процесора.
Всі 3 види пам’яті утворюють ієрархію пам’яті обчислюваної машини.
Регістрова пам’ять Кеш-пам’ять Оперативна пам’ять Зовнішня пам’ять.
ОС з декількома рівнями ієрархії пам’яті властива висока властивість човникових обмінів програмами і даними між фізичними пристроями пам’яті різних рівнів. Такі обміни відіймають у системи системні ресурси, наприклад час ЦП, який би можна використовувати для інших цілей. Головним завдання при розробці операційних систем, рахується оптимальне використання основної пам’яті на основі раціональної організації керування. Під організацією пам’яті розуміється те, яким чином представляється основна пам’ять. Під керуванням пам’яттю розуміють те, як використовується основна пам’ять. В ОС застосовуються наступні види представлення основної пам’яті:
1) фіксованими блоками рівного розміру.
2) фіксованими розділами неоднакового розміру.
3) динамічними розділами, розміри яких змінюють в ході роботи обчислюваної системи. Використання основної пам’яті може здійснюватись такими способами:
1) Розміщення в пам’яті одноразово тільки однієї програми користувача.
2) розміщення в пам’яті одночасно декількох програм користувачів.
3) Розміщення програм користувачів у конкретному заздалегідь заданому розділі основної пам’яті.
4) Розміщення кожної програми користувача в одному безперервному просторі основної пам’яті.
5) Розміщення програми користувача в несуміжних областях оперативної пам’яті.
В ОС може застосовуватись будь-якав комбінація перерахованих видів представлення способів використання основної пам’яті ЕОМ.
Незалежно від того. яка схема організації пам’яті прийнята для конкретної ОС, необхідно вирішити, які стратегії варто застосовувати для досягнення оптимальних х-к.
В стратегії визначають як буде працювати пам’ять із конкретної схеми організації при різних підходах до рішення наступних питань.
1) Коли слід помістити нову програму в пам’ять.
2) У яке місце основної пам. буде розміщатися чергова програма.
3) Як розмістити чергову програму в пам.. З мінімізацією втрат пам., або з максимізацією швидкості розміщення.
4) Яку із програм, які перебувають у пам., варто вивести з пам., якщо необхідно розмістити нову програму, а пам. уже заповнена.
В існуючих ОС реалізовані стратегії керування, які по-різному відповідають на перераховані питання, що в немалій степені обумовлено наявними розпорядженнями розроблювачів.
Стратегія керування пам. розподіляються на наступні категорії:
1) Стратегії вибірки
2) стратегії розміщення
3) стратегії заміщення.
Стратегії вибірки діляться на 2 під-категорії:
- стратегії вибірки по запиту
- стратегії випереджаючої вибірки.
Стратегії вибірки ставлять своєю метою визначити коли треба вштовхувати чергову програму або дані в основну пам.
Стратегії розміщення ставлять своєю метою визначити у яке місце основної пам. слід розміщати програму, яка поступає. Найпоширенішими є стратегії розміщення, що реалізують принцип заняття першої підходящої, найбільш підходящої і найменш підходящої по розмірах вільної ділянки пам.
Стратегії заміщення ставлять своєю метою визначити який блок програми або даних слід вивести з основної пам., щоб звільнити місце для розміщення нових програм або даних, які поступають.
При реалізації стратегії розміщення ОС часто враховують вимоги для програм і даних. Зв’язний розподіл пам. – це такий розподіл, при якому кожна програма займає 1 безперервний блок комірок пам’яті. Не зв’язний розподіл пам. – це такий розподіл основної пам. ЕОМ, при якому програма користувача розбивається на ряд блоків, тобто сегментів, сторінок, які можуть розміщатися в основній пам’яті, ділянках, які не обов’язково сусідять одна з одною. У цьому випадку забезпечується більш ефективне використання простору основної пам’яті. Ефективність тої або іншої стратегії розміщення можна оцінити за допомогою коеф. використання пам’яті.
K = Vp/(Vop-Voc) = Vp/Vo
, де Vp – об’єм пам., який зайнятий програмами користувача.
Vop – повний об. основної пам.
Voc – об., який зайнятий ОС.
Vo – об., доступний для розподілу.
ЛЕКЦІЯ 4