Отправляет email-рассылки с помощью сервиса Sendsay

Внутренее устройство Windows

  Все выпуски  

Внутренее устройство Windows


В Windows реализована система виртуальной памяти,основанная на плоском (линейном) адресном пространстве.Она создает каждому процессу илюзию того,что у него есть собственное большое и закрытое адресное пространство.Виртуальная память дает логическое представление,не обязательно соответствующее структуре физической памяти.В период выполнения диспетчер памяти,используя аппаратную поддержку,транслирует,или проецирует (maps),виртуальные адреса на физические,по которым реально хранятся данные.Управляя проецированием и защитой страниц памяти,операционная система гарантирует,что ни один процесс не помешает другому и не сможет повредить данные самой операционной системы.Поскольку у большинства компьютеров объем физической памяти намного меньше общего объема виртуальной памяти,задействованной выполняемыми процессами,диспетчер памяти перемещает,или подкачивает,часть содержимого памяти на диск.Подкачка данных на диск освобождает физическую память для других процессов или самой операционной системы.Когда поток обращается к странице виртуальной памяти,сброшенной на диск,диспетчер виртуальной памяти загружает эту информацию с диска обратно в память.Для использования преимуществ подкачки в приложениях никакого дополнительного кода не требуется,так как диспетчер памяти опирается на аппаратную поддержку этого механизма.
 Размер виртуального адресного пространства зависит от конкретной аппаратной платформы.На 32-разрядных х86-системах теоретический максимум для общего виртуального адресного пространства составляет 4ГБ.По умолчанию Windows выделяет нижнюю половину этого пространсва (в диапазоне адресов от х00000000 до х7FFFFFFF) процессам,а вторую половину (в диапазоне адресов х80000000 до хFFFFFFFF) использует в собственных целях.Windows 2000 Advanced Server,Windows 2000 Datacenter Server,Windows XP (sp2 и выше) и Windows Server 2003 поддерживают загрузочные параметры /3GB и /USERVA,которые указываются в файле Boot.ini,что позволяет процессам,выполняющим программы со специальным флагом в заголовке исполняемого образа,использовать до 3Гб закрытого адресного пространства и оставляет операционной системе только 1Гб.Этот вариант дает возможность приложению вроде сервера базы данных хранить в адресном пространстве своего процесса большие порции базы данных и тем самым уменьшить частоту проецирования отдельных представлений этой базы.
 Хотя три гигабайта лучше двух,этого все равно недостаточно для проецирования очень больших баз данных.В связи с этим в 32-разрядных Windows появился механизм Address Windowing Extension (AWE),который позволяет 32-разрядному приложению выделять до 64 Гб физической памяти,а затем проецировать представления (views),или окна (windows),на свое 2-гигабайтовое виртуальное адрессное пространство.Применение AWE усложняет управление проекциями виртуальной памяти на физическую,но снимает проблему прямого доступа к объему физической памяти,превышающему лимиты 32-разрядного адрессного пространсва процесса.
 64-разрядная Windows предоставляет процессам гораздо большее адресное пространство:7152Гб на Itanium-системах и 8192Гб на х64-системах.Заметьте,что эти размеры отражают не архитектурные лимиты для данных платформ,а ограничения реализации в текущих версиях 64-разрядной Windows.

В избранное