Странично-сегментное распределение памяти

Данный метод представляет собой комбинацию страничного и сегментного распределения памяти и, вследствие этого, сочетает в себе достоинства обоих подходов. Виртуальное пространство процесса делится на сегменты, а каждый сегмент, в свою очередь, делится на виртуальные страницу. Виртуальные страницы нумеруются не в пределах всего адресного пространства процесса, а в пределах сегмента. Виртуальный адрес в этом случае выражается тройкой (номер сегмент, номер страницу, смещение в странице).

Загрузка процесса выполняется ОС постранично, при этом часть страниц размещается в ОП, а часть – на диске. Для каждого процесса создается собственная таблица сегментов, а для каждого сегмента – своя таблица страниц. Адрес таблицы сегментов загружается в специальный регистр процессора, когда активируется соответствующий процесс.

Таблица страниц содержит дескрипторы страниц. Таблица сегментов состоит из дескрипторов сегментов, которые содержат описание расположения таблиц страниц в физической памяти.

Схема преобразования виртуального адреса в физический для данного метода выглядит следующим образом:

1. По номеру сегмента, заданному в виртуальном адресе, из таблицы сегментов извлекается физический адрес соответствующей таблицы страниц.

2. По номеру виртуальной страницы, заданному в виртуальном адресе, из таблицы страниц извлекается дескриптор, в котором указан номер физической страницы.

3. К номеру физической страницы пристыковывается младшая часть виртуального адреса – смещение.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: