Память в Windows NT
HashFlare
 
Главная HI-TECH Форум Поиск Книги Авторам Новости партнёров Реклама
Новостей на сайте: 10263
Программы  
  Система
  Безопасность
  Интернет и сети
  Текст
  Графика и дизайн
  Мультимедиа
  Программирование
  Бизнес
  Образование
  Дом, семья, хобби
  Игры и развлечения
 
Рассылка
 
HashFlare
 
Рейтинг программ...    
    Ф2Мастер Банк (138320)
    Коллекция руссификаторов O-S (34786)
    Товар версия 1.10 (25297)
    Коллекция софта № 13 (24866)
    NetGraf 1.0 (23992)
    New_Profile v3.4 (400) (23925)
    Revolter Commander 3.9 beta 8 (16379)
    Коллекция софта № 14 (15736)
    Net Transport 2.22 (15392)
    Intel Sound MAX 4.0 Ac' 97 5.12.01 (15209)
 

[!] Знаете ли Вы, что на нашем форуме Вы сможете оперативно получить ответы на Ваши вопросы?


Windows NT/2000 Статьи
Память в Windows NT

Обзор памяти
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, где при выделении памяти для нее не резервируется место в файле подкачки, и, поэтому, можно иметь файл подкачки нулевого размера.

    Источник: http://www.oszone.net


  • Ссылки по теме:
    Служба Терминалов в Windows 2000 (Terminal Services)
    Безопасность Windows NT 4.0
    Особенности реализации основных сетевых служб в ОС Windows 2000 Server
    WiNTик с секретом
    УТИЛИТЫ БЕЗОПАСНОСТИ в Windows 2000 Server Resource Kit



     
    Статьи    
      Windows 10
      Windows 8
      Windows 7
      Windows Vista
      Windows XP/2003
      Windows NT/2000
      Безопасность
      Windows 9x/ME
      Hardware
      Software
      Интернет
      BIOS
      Сеть
      Разное
     
    Рекомендуем
     
     
    Рейтинг статей...    
        Предел входящих подключений в Windows (128688)
        Как установить Windows XP на ноутбук или как добавить SATA-драйвер в дистрибутив Windows XP (69576)
        Из дома в офис - быстро, надежно и безопасно (55393)
        Всё, что надо начинающему хакеру (50417)
        Восстановление реестра Windows XP (23285)
        Второй сервис-пак для Windows XP: личный опыт (23152)
        Вызываем синий экран смерти Windows (18430)
        Настройка удаленного подключения между Windows 7 и Linux с помощью TightVNC (17428)
        Информация о proxy серверах (17283)
        Как устроена защита Windows Vista (17128)
     
     
    Programmed by Ventura
     

     

    Яндекс цитирования