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

Операційні системи та мережі ЕОМ

Operating Systems

and Networking

Лекція 17

Розділювані сторінки

Розділюваний код

Єдина копія незмінного (реентерабельного - reentrant) коду, спільно використовуваного кількома процесами - текстові редактори, компілятори, графічні середовища і ін.

Розділюваний код також повинен розміщуватись по одним и тим же відносним адресам в логічних адресних прострах всіх процесів .

Локальний код и дані

Кожен процес зберігає окрему копію коду і даних

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

(C) В.О. Сафонов, 2

2

007

 

Приклад: Розділювані сторінки

(C) В.О. Сафонов, 2

3

007

 

Сегментна організація пам’яті (segmentation)

Схема розділення пам’яті, що відповідає користувацькій трактовці розділення пам’яті.

Програма – набір сегментів. Сегмент – це логічна одиниця, така, як, наприклад:

основна програма, процедура, функція, метод, об’єкт,

локальні змінні; глобальні змінні, загальний блок (COMMON blocks – Fortran), стек таблиця символів; масиви

(C) В.О. Сафонов, 2

4

007

 

Програма з точки зору користувача

5

007

Архитектура сегментної организації пам’яті

Логична адреса ~ пара: <segment-number, offset>,

Таблиця сегментів – служить для відображення логічних адрес у фізичні; кожен її элемент містить:

base – початкова адреса сегменту в оперативній (физической) пам’яті.

limit – довжина сегмента.

Базовий регістр таблиці сегментів - segment-table base register (STBR) містить адресу таблиці сегментів в пам’яті.

Регістр довжини таблиці сегментів - segment-table length register (STLR) містить число сегментів, використовуване програмою;

номер сегмента s корректний, якщо s < STLR.

(C) В.О. Сафонов, 2

6

007

 

Архітектура сегментної організації (продолження)

Переміщення (Relocation).

динамічне

с допомогою таблиці сегментів.

Спільний доступ (Sharing).

Разділювані сегменти

Один и той же номер сегменту

Стратегії розподілення пам’яті.

first fit / best fit

Зовнішня фрагментація

(C) В.О. Сафонов, 2

7

007

 

Архітектура сегментної організації (продолження)

Захист. С кожним елементом таблиці сегментів пов’язується:

validation bit = 0 невірний сегмент

read/write/execute - повноваження

Біти захисту пов’язуються з сегментами; спільний доступ до коду здійснюється на рівні сегментів.

Оскільки сегменти відрізняються по довжині, розподілення пам’яті у вигляді сегментів – це спільна задача динамічного розподілення пам’яті.

Приклад сегментної організації наведений на діаграмі на наступних слайдах

(C) В.О. Сафонов, 2

8

007

 

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

9

007

Приклад сегментної організації пам’яті

10

007

Соседние файлы в папке 17-20