Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Способы структуризации виртуального адресного пространства в ОС



Структура адреса, или модель адресации определяется в совокупности компиля­тором, операционной системой и аппаратным обеспечением. Компилятор должен обес­печить простоту работы с адресом, но с минимальным разрывом между программис­том и ОС. Поэтому в языке программирования отображается та модель, которая ис­пользуется в ОС. Эта модель, в свою очередь, определяется заложенной в ОС идеей адресации с учетом необходимости реализации этой идеи на конкретной аппаратной платформе. Таким образом, ОС «сверху» должна обеспечить достаточно простую мо­дель адресации для компилятора, а «снизу» уметь преобразовать эту модель в мо­дель, навязанную аппаратурой.

Рассмотрим две наиболее характерных модели структуризации адресного простран­ства - плоскую и двухуровневую модель «сегмент-смещение». Эти модели представ­лены на рис. 3.2.

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

Сегментированная структура. Виртуальное адресное пространство представ­ляется разделенным на сегменты, а адрес любого объекта в памяти определяется номером сегмента и смещением относительно начала этого сегмента, т.е. парой сег­мент-смещение.

Рисунок 3.2 - Типы виртуальных адресных пространств: плоское (а), сегментированное (б)

Более конкретно способы структуризации виртуального адресного пространства рассмотрены в п. 4 темы в связи с механизмами виртуальной памяти.

Важно отметить следующее.

Использование и реализация универсального принципа сегментирования структу­ры адресного пространства в разные периоды развития вычислительной техники были принципиально различными и менялись по крайней мере трижды.

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

Для программы адресное пространство представляется плоским.





Дата публикования: 2015-10-09; Прочитано: 1261 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...