Сегментна організація пам’яті - студопедія

Малюнок 8.1 - Сегментний розподіл пам'яті

Доступ до елементів дескрипторної таблиці здійснюється за допомогою покажчиків (селектор), для розміщення яких використовуються сегментні регістри, наприклад, в процесорах Pentium, регістри CS, DS, ES, FS, CS, SS.

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

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