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

Управление памятью



Задачи по управлению памятью следующие:

- управление реальной памятью;

- управление виртуальной памятью 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; Прочитано: 247 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



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