Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Сегментная организация памяти

Автор:   •  Декабрь 25, 2022  •  Контрольная работа  •  934 Слов (4 Страниц)  •  163 Просмотры

Страница 1 из 4

Теоретический вопрос: Сегментная организация памяти.

Обычно программа состоит из нескольких частей, размеры которых заранее неизвестны и могут меняться в процессе выполнения программы. Для каждой из этих частей должна быть отведена область в пространстве виртуальных адресов, поскольку пользоваться виртуальной памятью с непрерывной нумерацией байтов всех частей не всегда удобно. Более удобно, когда каждая часть имеет свою нумерацию байтов начиная с нуля. Желательно также, чтобы составленная таким образом программа могла работать при динамическом распределении памяти, не требуя от программиста усилий по объединению различных ее частей в единый массив. Эта задача решается во многих компьютерах путем использования особого метода преобразования виртуальных адресов в физические и называется сегментной организацией памяти.

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

Принципы сегментной организации памяти являются следующими:

– виртуальная память каждого приложения делится на части, называемые сегментами;

– внутри сегмента адресация байтов является независимой, начиная от нуля до какого-то максимального значения;

– различные сегменты могут иметь разную длину;

– длина сегмента может варьироваться в процессе работы;

– так как каждый сегмент занимает независимое адресное пространство, сегменты могут расти и сокращаться независимо друг от друга.

Различают две основные схемы адресации:

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

Каждая программа в общем случае может состоять из любого количества сегментов, но непосредственный доступ она имеет только к трем основным сегментам (коду, данным и стеку), а также к дополнительным сегментам данных числом от одного трех. Сегмент – это специальные области в программе для хранения кода (CS), данных (DS) и стека (SS). Для обращения к сегменту следует изменить значение в соответствующем сегментном регистре. Программа никогда не знает, по какому физическому адресу будут размещены ее сегменты. Этим занимается операционная система. Операционная система размещает сегменты программы в оперативной памяти по определенным физическим адресам, после чего размещает значения этих адресов в определенные места. Куда именно, зависит от режима работы процессора.

В 32-разрядных регистрах процессоров Intel, например, Pentium адресная шина 32-разрядная, что соответствует адресному пространству 232 = 4 Гбайт, однако сегментная адресация памяти не позволяет выйти за пределы 1 Мбайта. Для преодоления этого ограничения в 32-разрядных процессорах используют два режима работы: реальный и защищенный. В реальном режиме процессор функционирует так, как процессор І8086 с повышенным быстродействием и обращается только к 1 Мбайту адресного пространства, другого пространства он обращаться не может. В реальном режиме физические адреса помещаются непосредственно в соответствующие сегментные регистры.

...

Скачать:   txt (13.5 Kb)   pdf (203.5 Kb)   docx (112.2 Kb)  
Продолжить читать еще 3 страниц(ы) »
Доступно только на Essays.club