Читайте также: |
|
В Windows реализована виртуальная память на основе так называемой плоской модели (линейное адресное пространство). Идея: модель создает каждому процессу иллюзию, что у него есть собственное большое и закрытое адресное пространство. Во время выполнения диспетчер памяти, используя аппаратную поддержку, подкачивает страницы (сегменты), находящиеся в области страничного обмена в реальную память и вытесняет их обратно в случае необходимости освобождения реальной ОП. Далее он преобразует виртуальные адреса, которые расположены линейно в виртуальном адресном пространстве процесса в реальные адреса реальной ОП, учитывая, что виртуальные страницы помещаются в несмежные рамки реальной ОП. Он также защищает рамку реальной ОП, в которой загружена страница, от воздействия других страниц из других рамок реальной ОП.
Замечание: необходимо помнить, что идея виртуальной памяти увеличивает во много раз значение общей памяти процесса по отношению к объему реальной памяти.
Размер ВАП, выделяемый ОС, зависит от конкретной аппаратной платформы.
На 32-разрядных x86 системах теоретический максимум ВАП – 4 ГБ. Эти 4 ГБ делятся на две части слева (слайд 4): нижняя часть – процессам, верхняя часть – используется ОС в собственных целях.
Замечание: в некоторых ОС Windows возможно деление ВАП на другие части: 3 ГБ и 1 ГБ. Правая часть используются для хранения частей баз данных для сокращения ввода-вывода.
Замечание: развитие технологий виртуальной памяти в Windows предусмотрен механизм AWE («Address Windows Extension»), позволяющий 32-разрядному приложению выделять до 64 ГБ памяти таким образом, что оно проецируется на штатное 2 ГБ адресное пространство.
64-разрядная Windows позволяет выделять 7 ГБ для процессоров Italium и 8 ГБ для процессоров x64.
Режим ядра и пользовательский режим
Для перехода из пользовательского режима в режим ядра используются возможности аппаратной платформы.
Примечание: в режиме ядра предоставляется доступ ко всей системе (аппаратной и программной части), в режиме пользователя – нет.
Переход из режима пользователя в режим ядра может осуществляться по команде ассемблера. Команда выполняет копирование регистра общего назначения Rn в счетчик команд. Во время перехода осуществляется очистка конвейера команд и передается управление той команде, которая была занесена в регистре Rn.
Важно разобраться с механизмом перевода из пользовательского режима по команде ассемблера в режим ядра.
Дата добавления: 2015-07-07; просмотров: 247 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Драйверы устройств в ОС Windows | | | Уровни запросов программных прерываний |