Операционные системы. Учебное пособие. Марапулец Ю.В. - 103 стр.

UptoLike

Составители: 

Рис.4.4. Архитектура памяти Windows NT.
Как видно из данных рисунков, код системы Windows NT лучше защищен от про-
цесса пользователя, чем код Windows 9x. Это обуславливает большую устойчивость ОС
к ошибкам в прикладной программе.
Используемые прикладными программами Windows 32-разрядные адреса для дос-
тупа к коду и данным, не являются 32-разрядными физическими адресами, которые
микропроцессор использует для адресации физической памяти (В настоящее время фи-
зическая память размером 2-4 Гб не используется в ПЭВМ). Поэтому адрес, который ис-
пользуется приложением, является виртуальным адресом (virtual address).
API-функции Windows, работающие в логическом адресном пространстве объемом
до 2 Гб, поддерживаются менеджером виртуальной памяти - VMM (Virtual Memory
Manager), который, в свою очередь, оптимизирован для работы на современных 32-
разрядных процессорах. Для того чтобы аппаратное обеспечение системы могло исполь-
зовать 32-разрядную адресацию памяти, Windows обеспечивает отображение физиче-
ских адресов в виртуальном адресном пространстве и поддерживает страничную орга-
низацию памяти. На этой основе VMM формирует собственные механизмы и алгоритмы
управления виртуальной памятью.
Подобно виртуальной реальности, виртуальной оперативной памяти не существу-
ет, однако у системы возникает полная иллюзия ее наличия. 2 Гб адресного пространст-
ва, к которому может обращаться любая программа, представляют собой виртуальную
память. На самом деле в системе нет 2 Гб физической памяти, однако каким-то образом
программы могут использовать весь диапазон адресов. Очевидно, присутствует некий
фоновый "переводчик", молчаливо преобразующий каждое обращение к памяти в реаль-
ный физический адрес. Благодаря такому преобразованию реализуется большинство
возможностей менеджера виртуальной памяти (VMM). VMM - это часть операционной
системы Windows, которая отвечает за преобразование ссылок на виртуальные адреса
памяти в ссылки на реальную физическую память. Менеджер виртуальной памяти при-
нимает решения о том, где размещать каждый объект памяти и какие страницы памяти
записать на диск. Он также выделяет каждому выполняемому процессу отдельное ад-
ресное пространство, отказываясь преобразовывать виртуальные адреса одного процесса
в адреса физической памяти, используемой другим процессом. VMM поддерживает ил-
люзию "идеализированного" адресного пространства объемом 2 Гб (подобно GDI, кото-
рый создает видимость того, что каждая программа выводит графические данные в ко-
ординатном пространстве "идеализированного" логического устройства). Система
105
                        Рис.4.4. Архитектура памяти Windows NT.

      Как видно из данных рисунков, код системы Windows NT лучше защищен от про-
цесса пользователя, чем код Windows 9x. Это обуславливает большую устойчивость ОС
к ошибкам в прикладной программе.
      Используемые прикладными программами Windows 32-разрядные адреса для дос-
тупа к коду и данным, не являются 32-разрядными физическими адресами, которые
микропроцессор использует для адресации физической памяти (В настоящее время фи-
зическая память размером 2-4 Гб не используется в ПЭВМ). Поэтому адрес, который ис-
пользуется приложением, является виртуальным адресом (virtual address).
      API-функции Windows, работающие в логическом адресном пространстве объемом
до 2 Гб, поддерживаются менеджером виртуальной памяти - VMM (Virtual Memory
Manager), который, в свою очередь, оптимизирован для работы на современных 32-
разрядных процессорах. Для того чтобы аппаратное обеспечение системы могло исполь-
зовать 32-разрядную адресацию памяти, Windows обеспечивает отображение физиче-
ских адресов в виртуальном адресном пространстве и поддерживает страничную орга-
низацию памяти. На этой основе VMM формирует собственные механизмы и алгоритмы
управления виртуальной памятью.
      Подобно виртуальной реальности, виртуальной оперативной памяти не существу-
ет, однако у системы возникает полная иллюзия ее наличия. 2 Гб адресного пространст-
ва, к которому может обращаться любая программа, представляют собой виртуальную
память. На самом деле в системе нет 2 Гб физической памяти, однако каким-то образом
программы могут использовать весь диапазон адресов. Очевидно, присутствует некий
фоновый "переводчик", молчаливо преобразующий каждое обращение к памяти в реаль-
ный физический адрес. Благодаря такому преобразованию реализуется большинство
возможностей менеджера виртуальной памяти (VMM). VMM - это часть операционной
системы Windows, которая отвечает за преобразование ссылок на виртуальные адреса
памяти в ссылки на реальную физическую память. Менеджер виртуальной памяти при-
нимает решения о том, где размещать каждый объект памяти и какие страницы памяти
записать на диск. Он также выделяет каждому выполняемому процессу отдельное ад-
ресное пространство, отказываясь преобразовывать виртуальные адреса одного процесса
в адреса физической памяти, используемой другим процессом. VMM поддерживает ил-
люзию "идеализированного" адресного пространства объемом 2 Гб (подобно GDI, кото-
рый создает видимость того, что каждая программа выводит графические данные в ко-
ординатном пространстве "идеализированного" логического устройства). Система


                                         105