Реалізація каталогів

Перш, ніж працювати з файлом, його потрібно відкрити.

При відкритті файлу, ОС оперує повним ім'ям файлу, щоб знайти запис про фото в каталозі.

У перших трьох випадках запис в каталозі повинна містити інформацію про атрибути файлу. i-й вузол таку інформацію вже містить і це додаткова перевага такої схеми реалізації.

Стратегії управління пам'яттю. Концепції розподілу пам'яті. Алгоритми заміщення. (18-1)

Поняття управління ОП включає в себе наступні стратегії (групи алгоритмів):

Стратегія вибірки - ставить за мету визначити, коли слід заштовхнути (ввести) черговий блок програми або даних в ОП.

Вибірка за запитом

Стратегія розміщення - ставить за мету визначити, в яке місце слід поміщати надходить блок.

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

Існує велика кількість алгоритмів заміщення:

Оптимальний алгоритм - замінює той блок, звернення до якого вироблялося раніше інших, що знаходяться в пам'яті.

FIFO (firstin-firstout) - відстежує порядок завантаження блоку в пам'ять, зберігаючи їх в зв'язковому списку. При цьому видалення найстарішого блоку тривіально, але цей блок може бути задіяний в даний момент.

Друга спроба - модифікація FIFO, перед видаленням блоку перевіряє, чи не використовується він в даний момент і, якщо використовується, то блок пропускається і видаляється наступний.

LRU (LeastRecentlyUsed) - видаляє блок, який не використовувався найдовше. Вимагає спеціального апаратного забезпечення.

Старіння (aging) - програмна реалізація алгоритму LRU.

NRU (NotRecentlyUsed) - видаляється блок, що не використовується за останній час. Використовується в ОС Windows.

Алгоритм годин - блоки пам'яті розташовуються як «на циферблаті». За перший прохід стрілка скидає прапори використання блоків. Якщо блок використовується, то до другого проходу стрілки цей прапор відновиться. Якщо ж до другого проходу стрілки прапор не відновився, блок вважається не використовуваним і може бути видалений. Використовується в ОС Unix. У Mac OS - 2 стрілки. Час між проходами стрілки 20 секунд за замовчуванням (встановлюється вручну при генерації системи).

Концепції розподілу пам'яті:

Чіткий розподіл. При зв'язковому розподілі програма займає один суцільний блок осередків пам'яті (від а до б). У цьому випадку розмір програми обмежується кількістю пам'яті. Наприклад, оверлейні перекриття - програма поміщається в пам'ять не цілком, а частинами.

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

Організація пам'яті при зв'язковому розподілі. Оверлейні перекриття. (19-1)

Програма займає всю пам'ять

Постійні розділи, у кожного своя чергу

Змінні розділи, кожній програмі виділяється стільки пам'яті, скільки їй потрібно.

При зв'язковому розподілі пам'яті кожна програма повинна займати один суцільний блок осередків пам'яті. У цьому випадку розмір програм обмежується ємністю наявної оперативної пам'яті.

Однак якщо обсяг програми перевищує обсяг наявної оперативної пам'яті, існує можливість її виконання, завдяки використання оверлейних перекриттів (сегментів).

Суть цього методу полягає в наступному: програма формується як набір підпрограм. Тобто програма ділиться на частини (оверлеї), яким не обов'язково потрібно перебувати в оперативній пам'яті одночасно.

Реалізація каталогів