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

Сегментний розподіл

Віртуальний адресний простір процесу поділяється на сегменти

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

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

Сторінково-сегментний розподіл

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

Свопинг

Різновидом віртуальної пам'яті є свопинг.

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

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

Своп можна визначити як файл підкачування, у який з оперативної пам'яті записується невикористовувана чи з низьким пріоритетом інформація. Розмір свопа є величина динамічна, що змінюється відповідно до поточного станом системи – активованими процесами, запущеними програмами, відкритими файлами і т.п. (якщо тільки не заданий фіксований розмір). Необхідний саме Вам розмір свопа визначається досвідченим шляхом, тому що залежить від типу задач, виконуваних на конкретній машині.

Алгоритми заміщення сторінок