
- •Взаємозалежні конкуруючі завдання
- •1.1 Засоби керування ресурсами.
- •Механізми синхронізації процесів.
- •1.1. Паралельні процеси і критичні ділянки.
- •1.2. Механізми синхронізації процесів
- •Семафори
- •Алгоритми керування ресурсами
- •Алгоритм надання ресурсу по першому звертанню
- •Алгоритм запобігання тупиків
- •Алгоритми обходу тупиків
- •Керування пам’яті в ос Поняття про організацію керування фізичною пам’яттю.
- •Методи зв’язного розподілу основної пам’яті (без використання дискового простору) Зв’язний розподіл пам’яті для одного користувача
- •Зв’язний розподіл пам’яті при мультипрограмній обробці
- •Стратегії розміщення інформації в пам’яті
- •Методи розподілу пам’яті з використанням дискового простору. Поняття віртуальної пам’яті.
- •Сторінковий розподіл пам’яті
- •Відображення адрес при сегментній організації віртуальної пам’яті.
- •Відображення адрес при сторінково-сегментній (сс) організації віртуальної пам’яті
- •Керування віртуальною пам’яттю. Стратегії керування віртуальною пам’яттю.
- •Стратегії вштовхування
- •Стратегії розміщення
- •Стратегії виштовхування
- •Керування файлами, введенням, виведенням в ос. Керування файлами Поняття файлового способу зберігання даних і файлової системи.
- •Організація файлів
- •Організація зберігання файлів
- •Операції над файлами
- •Файлова система. Загальна модель файлової системи
- •Сучасні архітектури файлових систем
- •Загальні положення.
- •Обробка поривань
- •Драйвери пристроїв
- •Незалежний від пристроїв шар ос
- •Користувальницький рівень Програмного забезпечення
Стратегії розміщення інформації в пам’яті
«-« призначені для того, щоб визначити у яке місце основної пам’яті слід поміщати поступаючи програми й дані при розподілі пам’яті переміщуваними розділами.
Найбільш часто застосовуються наступні стратегії:
1) Розміщення з вибором першого підходящого
2) Розміщення з вибором найбільш підходящого
3) Алгоритм з вибором найменш підходящого
(1) полягає у виконанні наступних кроків:
- упорядкувати таблицю вільних областей у порядку зростання адреси
- помістити інформацію в першу ділянку, що зустрілась основної пам’яті розміром не менше необхідного
(2) виконує наступні дії:
- упорядкувати таблицю вільних областей у порядку зростання їх розмірів
- помістити інформацію в першу ділянку, що зустрілась в вільній пам’яті розміром не менше необхідного
(3) виконує такі дії:
- упорядкувати таблицю вільних областей у порядку зменшення розміру областей
- помістити інформацію першу ділянку, що зустрілася вільної пам’яті розміру не менше необхідного
ЛЕКЦІЯ 5
Методи розподілу пам’яті з використанням дискового простору. Поняття віртуальної пам’яті.
Віртуальним називається ресурс, який користувачеві, або користувальницькій програмі представляється, володіючи властивостями, якими він в дійсності не володіє. Користувачеві може бути надано віртуальну ОП, розмір якої перевершує всю наявну в системі наявну ОП. Користувач пише програми так, начебто в його розпорядженні є однорідна ОП великого об’єму, але в дійсності всі дані використовувані програмою, зберігаються на одному, або декількох різних запам’ятовувальних пристроях, зазвичай на дисках, і при необхідності, частинами відображається в реальну пам’ять. Таким чином, віртуальна пам’ять – це сукупність програмно-апаратних засобів, що дозволяє користувачам писати програму, розмір яких перевершує наявну ОП. Для цього віртуальна пам’ять вирішує наступні задачі:
- розміщують дані запам’ятовувальних пристроях різного типу. Наприклад: частина програми в ОП, а частина на диску.
- переміщує в міру необхідності дані між запам’ятовувальними пристроями різного типу. Наприклад: довантажує необхідну частину програми з диска в ОП.
- перетворює віртуальні адреси у фізичні.
Найпоширенішими реалізаціями віртуальної пам’яті є сторінково-сегментний розподіл пам’яті.
Сторінковий розподіл пам’яті
Віртуальний адресний простір кожного процесу ділиться на частини однакового фіксованого для даної системи розміру, який назив. віртуальними сторінками. У загальному випадку розмір віртуального адресного простору не є кратним розміру сторінки, тому остання сторінка доповнюється фіктивною областю. Вся ОП машини також ділиться на частини такого ж розміру, які назив. фізичними сторінками. Розмір сторінки зазвичай вибирається кратним ступеню двійки. Це дозволяє спростити механізм перетворення адрес. При завантаженні процесу, частина його віртуальних сторінок переміщається в ОП, а інші на диск. Суміжні віртуальні сторінки не обов’язково розташовуються в суміжних фізичних сторінках. При завантаженні ОС створює для кожного процесу інформаційну структуру – в таблицю сторінок, у якій встановлюються відповідність між номерами віртуальних і фізичних сторінок для сторінок, завантажених в ОП. Або робиться оцінка про те, що віртуальна сторінка вивантажена на диск. Крім того, у таблиці сторінок утримується керуюча інформація така. як ознака модифікації сторінки, ознака невивантаженості, ознака звертання до сторінки. Інші дані сформовані і використовувані механізмом віртуальної пам’яті.
При активації чергового процесу, в спеціальний регістр процесора завантажується адреса таблиць сторінок даного процесу. При кожному звертанні до пам’яті відбувається читання з таблиці сторінок інформації про віртуальні сторінки, до якої відбулося звертання. Якщо дана віртуальна сторінка перебуває в ОП, то виконується перетворення віртуальної адреси у фізичну. Якщо ж потрібна віртуальна сторінка в цей момент вивантажена на диск, то відбувається сторінкове переривання. Процес, що виконується переводиться в стан очікування і активізується інший процес з черги готових. Паралельно програма обробки сторінкового переривання знаходить на диску необхідну віртуальну сторінку і намагається завантажити її в ОП ,якщо в пам’яті є вільна фізична сторінка. Якщо ні, то вирішується питання яку сторінку вивантажити з ОП.
В деяких системах використовується поняття робочої множини сторінок. Робоча множина визначається для кожного процесу і являє собою перелік найбільш часто використовуваних сторінок, які повинні постійно перебувати в ОП і не підлягають вивантаженню. Після того, як обрана сторінка, яка повинна покинути ОП, аналізується її ознака модифікації із таблиці сторінок. Якщо сторінка, що виштовхується з моменту завантаження була модифікована, то її нова версія буде переписана на диск. Якщо ні, то вона може бути просто знищена, тобто відповідна фізична сторінка оголошується вільною.
Віртуальна адреса при сторінковому розподілі може бути представлена у вигляді пари PS.
V = (P.S.), де P – номер віртуальної сторінки процесу. S – зсув в межах віртуальної сторінки.
Кожний процес має власну таблицю відображення сторінок, яку ОС веде в реальній пам’яті. Реальна адреса цієї таблиці завантажується в спеціальний регістр ЦП, який називається регістром початкової адреси таблиці відображення сторінок або блоків процесу. Таблиці відображення сторінок містять по одному рядку для кожної сторінки процесу, причому ці сторінки ідуть послідовно спочатку 0 і т.д. Номер сторінки P підсумовується з початковою адресою А таблиці, утворюючи реальну адресу рядка таблиці сторінки P. Знайдений рядок містить реальну адресу P початку блоку P2 у реальній пам’яті. До цієї початкової адреси P2 додається зсув так, що утворюється шукана реальна адреса R = P2 + S.
Регістр початкової адреси таблиці
відображення сторінок процесу
Р
S
B
L
R
R=(P2+S)