![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Сегментная виртуальная память предусматривает перемещение данных сегментами - частями виртуального адресного пространства произвольного размера, полученными с учетом смыслового значения данных.
Первым среди разрывных методов распределения памяти был сегментный. Для этого метода программу необходимо разбивать на части и уже каждой такой части выделять физическую память.
Естественным способом разбиения программы на части является разбиение её на логические элементы – так называемые сегменты. В принципе каждый программный модуль может быть воспринят как отдельный сегмент, и вся программа тогда будет представлять собой множество сегментов. Каждый сегмент размещается в памяти как до определенной степени самостоятельная единица. Логически обращение к элементам программы в этом случае будет представляться как указание имени сегмента и смещения относительно начала этого сегмента.
Физически имя соответствует некоторому адресу, с которого этот сегмент начинается при его размещении в памяти, и смещение должно прибавляться к этому базовому адресу. Таким образом, виртуальный адрес для этого способа будет состоять из двух полей – номер сегмента и смещение относительно начала сегмента. Каждый сегмент, размещаемый в памяти, имеет соответствующую информационную структуру, часто называемую дескриптором сегмента.
Если сегмент задачи в данный момент находится в оперативной памяти, то об этом делается пометка в дескрипторе. Как правило, для этого используется «бит присутствия» (present). Если бит present в дескрипторе указывает, что сейчас этот сегмент находится не в оперативной, а во внешней памяти (например, на винчестере), то названные поля адреса и длины используются для указания адреса сегмента в координатах внешней памяти.
Помимо информации о местоположении сегмента, в дескрипторе сегмента, как правило, содержатся данные о его типе, правах доступа к этому сегменту, отметка об обращениях к данному сегменту.
Дата публикования: 2015-10-09; Прочитано: 274 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!