Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
мпс с 1 по 294.doc
Скачиваний:
13
Добавлен:
16.04.2019
Размер:
6.2 Mб
Скачать

3.3.4. Комбинирование сегментной и страничной трансляции

Рис. 3.22 объединяет рис. 3.13 и 3.20, чтобы суммировать оба шага трансляции логи­ческого адреса в физический для случая использования страничной трансляции. Соответ­ствующий выбор вариантов и параметров для обоих шагов может осуществляться систе­мой управления памятью операционной системы и включать различные способы органи­зации памяти.

Плоская (линейная) архитектура. В тех случаях, когда МП используется для выполне­ния программ, спроектированных для архитектур памяти, не создающих сегменты, может оказаться целесообразным выключение режима сегментации. Современные МП обычно не предусматривают отключение сегментации, но тот же эффект может быть достигнут первоначальной загрузкой сегментных регистров селекторами дескрипторов, которые ох­ватывают все 32-разрядное линейное адресное пространство.

Однажды загруженные, регистры сегментов не нужно перезагружать. 32-разрядные сме­щения, используемые командами, будут адекватно адресовать все линейное адресное про­странство.

Страницы, занимаемые несколькими сегментами. С другой стороны, сегменты мо­гут быть меньше страницы. Рассмотрим, к примеру, такую структуру данных, как семафор. Так как защита и разделение обеспечиваются сегментацией, может оказаться полезным создать отдельные сегменты для каждого семафора. Но так как системе может понадо­биться много семафоров, то выделение отдельной страницы для каждого не эффективно. Поэтому можно объединить в группу много сегментов данного назначения внутри одной страницы.

Невыравненные границы страниц и сегментов. Архитектура современных МП не требует соответствия границ сегментов и страниц. Совершенно нормально, когда одна и та же страница содержит конец одного и начало другого сегмента. Сегмент может также содержать конец одной страницы и начало другой.

Выравненные границы сегментов и страниц. Система управления памятью может упроститься, если она поддерживает некоторое соответствие границ сегментов и страниц. Например, если сегменты содержат целое число страниц, алгоритмы размещения сегмента и страницы становятся одинаковыми. В алгоритме не нужно определять частично использованные страницы.

Таблица страниц как сегмент. Подход к управлению пространством памяти, обеспе­чивающий даже еще большую простоту алгоритма управления, состоит в установлении со­ответствия один к одному между дескрипторами сегментов и записями страничных дирек­торий. Это иллюстрирует рис. 3.23. Каждый дескриптор имеет базовый адрес, в котором младшие 22 разряда нулевые, другими словами, базовый адрес устанавливается по пер вой записи в таблице страниц. Сегмент может иметь любой предел от 1 до 4 Мбайт. В зависимости от предела сегмент размещается в страничных кадрах с 1 до 1 К. Задача,таким образом, ограничивается 1 К сегментов (достаточным для любого прикладного при­менения), каждый из сегментов содержит до 4 Мбайт. Дескриптор, запись соответствующей страничной директории и соответствующая таблица страниц могут быть размещены в памяти и удалены одновременно.