![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Задачи по управлению памятью следующие:
- управление реальной памятью;
- управление виртуальной памятью CP;
- управление виртуальной памятью ВМ;
- управление страничным обменом.
Управление реальной памятью.
Вся реальная память описывается таблицей CORTable. Для каждой рамки реальной ОП строится 16-ти битный элемент описания. Все рамки делятся на типы:
- распределенные рамки (принадлежат активным ВМ, принадлежат CP);
- зафиксированные рамки (т.е. в ней находится страница активной ВМ);
- зарезервированные рамки (она планируется для страничного обмена ВМ);
- разделяемые рамки (совместно используемые несколькими ВМ).
В описателе зарезервированных рамок есть ссылка на Vmblock виртуальной машины.
Рамки, доступные для распределения. Каждая рамка, описываемая в CORTable, может находится в одном из трех состояний:
- доступная для распределения (свободная) (свободные рамки реальной ОП или принадлежащие неактивным ВМ, описываются также в списке FreeList, а принадлежащие неактивным ВМ FlashList)
Когда ВМ вновь становится активной, возникает ситуация, когда возможно отсутствие нужной ее виртуальной страницы в реальной ОП. CP пытается восстановить страницу и если она вдруг находится в реальной ОП и не вытеснена, то данная страница используется. Если изменена, то выполняется страничный обмен.
- недоступная для распределения -- рамки, по какой-либо причине(например, из-за сбоя) не могут быть выделены во время вычислительного процесса.
Выполнение запроса на размещение страницы в реальной ОП.
Когда ВМ предоставляется квант времени, CP пытается поместить рамку виртуальной ОП в реальную ОП. После того, как виртуальной странице выделена рамка и управление передано коду, он начинает выполняться. После каждой команды, находящейся в виртуальной ОП или до каждой команды выполняется команда ассемблера LRA(load real adres), которая представляет собой однократное выполнение механизма преобразования адресов для одного виртуального адреса. По результатам LRA вырабатывается признак -- признак результата.
1) Признак результата равен 0 -- страница уже находится в реальной ОП, реальный адрес страницы возвращается в регистре 1. Возврат в программу, выдавшую запрос.
2) Признак результата равен 1 -- недоступность сегмента
а) в данном сегменте РОП нет ни одной страницы для данной ВМ, то есть, таблица страниц для данного сегмента не сформирована -- строится таблица страниц и сегмент объявляется доступным
б)к сегменту не было обращения для распределения его для ВМ. Сегмент делается доступным.
3) Признак результата равен 2 -- недоступные страницы в сегменте.
а) страница является распределенной для другой ВМ, либо разделяется с другой ВМ
б) страница находится в режиме ввода в real frame. Если frame находится в списке free list, осуществляется распределение данной рамки за данной ВМ и происходит загрузка в эту рамку реальной ОП страницы виртуальной ОП ВМ. Если frame находится во flush list, то есть принадлежит какой-то ВМ, котрую CP вывел из списка активных ВМ, то, если страница изменялась, она выводится во внешнюю память, а на ее место загружается требуемая виртуальная страница.
Дата публикования: 2015-06-12; Прочитано: 269 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!