Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Структуры данных, используемые для описания сегментной модели





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

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

Имеется также несколько описательных структур на уровне страниц. Так для управления физической памятью поддерживается несколько списков страниц: свободных, модифицированных, не допускающих модификации и т.д., которые просматриваются для выбора нужной страницы в зависимости от ситуации. Дескриптор физической страницы также содержит копии признаков обращения и модификации страницы, вырабатываемых аппаратурой.

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

Загрузка исполняемого файла (системный вызов exec) осуществляется обычно через отображение (mapping) его частей (кода, данных) в соответствующие сегменты адресного пространства процесса. После установления отображения, система начинает генерировать pagefault'ы, в первую очередь для сегментов кода, данных и стека, подкачивая с диска необходимую информацию.

Как уже говорилось, сегмент данных динамически меняет свой размер. Пользователь, осуществляя аллокацию (библиотечный вызов malloc) или освобождение (free) динамических данных, фактически изменяет границу динамически выделенных процессу данных через системный вызов brk, который модифицирует значение переменной brk из структуры данных процесса. В результате происходит выделение физической памяти, а соответствующие строки таблиц страниц получают осмысленные значения. Ведение списков занятых и свободных областей памяти в сегменте данных пользователя осуществляется на уровне системных библиотек. На практике, освобожденная пользователем память (библиотечный вызовfree) системе не возвращается, а резервируется для обслуживания возможных дальнейших запросов пользовательского процесса на выделение памяти.

Date: 2016-07-05; view: 280; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию