OSzone.net
 
s  

Память в Windows NT

Windows » Windows 2000/NT » Другое » Память в Windows NT
В избранное | Версия для печати | Посетителей: 869 | Просмотров: 1099 (сегодня 2)   Текущий рейтинг: 1.33 (проголосовало 3)

Обзор памяти

Windows NT имеет 32-битное линейное пространство памяти (здесь "линейное" означает линейность адресов памяти, примером нелинейного адресного пространства является сегментная организация памяти Intel x86). Каждому приложению доступно собственное адресное пространство размером 4 гигабайта. Обычно, верхние два гигабайта зарезервированы для системных нужд и доступны только процессам работающим в привилегированном режиме (privileged mode). В Windows NT Server 4.0 Enterprise Edition существует возможность увеличить адресное пространство доступное пользовательским приложениям путем уменьшения максимального размера памяти, отводимого ядру с 2Gb до 1. Для более полной информации об этом рекомендую почитать статью Q171793 в Knowledge Base.

Обзор менеджера памяти

Как нетрудно догадаться, менеджер памяти (memory manager) управляет памятью в Windows NT. Физическая память разделена на блоки - страницы (pages) размером 4K для Intel, PPC и MIPS платформ и 8K для DEC Alpha. Страница является в некотором смысле атомарным объектом для менеджера памяти: все его операции над памятью сводятся к операциям над страницами.

В Windows NT страницы памяти могут быть сброшены на диск (paged), при этом они помещаются в файл подкачки (page file). Однако, не каждая страница может быть сброшена на диск: в NT все системные объекты храняться в так называемых пулах (pools):

  • сбрасываемый пул (paged pool) хранит объекты, которые могут быть при необходимости сброшены на диск
  • несбрасываемай пул (non-paged pool) хранит объекты, которые не могут быть сброшены на диск ни при каких обстоятельствах

В несбрасываемом пуле храняться, например ядро системы и драйвера, если в реестре в ключе
HKLMSYSTEMCurrentControlSetControl

SessionManagerMemoryManagement параметр DisablePagingExecutive имеет значение 1. Пользовательские приложения используют обычно сбрасываемый пул.

С каждым процессом ассоциирован рабочий набор (working set) - множество страниц, находящихся в физической памяти, доступных процессу. С ростом объемы физической памяти в системе рабочие наборы также растут, а при уменьшении, соответственно, уменьшаются. Если процесс в ходе выделения памяти превысил максимальный размер рабочего набора, то его рабочий набор урезается (trim), в ходе чего наиболее "старые" страницы сбрасываются на диск.

Выделение памяти в NT аналогично UNIX. Когда процесс запрашивает память, то фактически, выделения памяти не происходит, а менеджер памяти просто резервирует какое-то количество адресов за процессом. Это множество адресов называют зарезервированной памятью (reserved memory). При попытке процесса впервые воспользоваться полученным адресным пространством, память выделяется процессу и для нее резервируется место в файле подкачки. Такая память называется выделенной (committed).

Память, которая не является выделенной или зарезервированной называется доступной памятью (available memory).

Если процесс обращается к некоторой странице и она не может быть найдена в рабочем наборе процесса, то возникает исключение сбой страницы (page fault). При этом, если нужная страница была найдена в физической памяти, то эта ситуация называется легким сбоем страницы (soft page fault). Если же нужная страница должна быть подгружена с диска, то ситуация называется тяжелым сбоем страницы (hard page fault).

Файл подкачки

Файл подкачки pagefile.sys хранит либо сброшенные страницы, либо зарезервированное место для страниц выделенной памяти. Это отличается от файла подкачки в Win9x, где при выделении памяти для нее не резервируется место в файле подкачки, и, поэтому, можно иметь файл подкачки нулевого размера.


Опубликована - 20.01.2005

Оценить статью

Вверх

Популярные статьи раздела «Windows»Лучшие статьи раздела «Windows»
  1. Установка Windows XP на компьютер с Windows Vista
  2. Создание загрузочного ISO/CD
  3. Интеграция SATA/RAID драйверов
  4. Конфигурация Lite
  5. Интернет конфигурация
  1. Выбор устанавливаемых приложений
  2. HKEY_CURRENT_USER
  3. Ограничение прав пользователя
  4. Подробная информация по всем службам
  5. Установка Windows XP на компьютер с Windows Vista

Популярные темы форума OSzone.net

Последние добавления в каталог программ


s

Блоги Microsoft для ИТ-специалистов: RSS

Рассылка на Mail.ru

Windows All. Вопросы и ответы
Windows Vista. Вопросы и ответы


[AD] Rambler's Top100