Виртуальная память

Модель памяти Windows 2000 основана на плоском линейном 32-разряд- ном адресном пространстве. Для управления памятью Windows 2000 использует систему управления виртуальной памятью (virtual memory management system).

Это дает следующие преимущества:

- ОС способна одновременно выполнять больше приложений, чем при использовании только физической памяти компьютера;

- адресное пространство одного процесса защищено от вмешательства других процессов.

Физической памятью (physical memory) называют микросхемы ОЗУ внутри компьютера. Виртуальная память (virtual memory) — это механизм, посредством которого ОС предоставляет физическую память приложениям.

Windows 2000 представляет каждый байт памяти, как физической, так и виртуальной, в виде уникального адреса. Количество доступных физических адресов зависит от объема ОЗУ компьютера, а количество виртуальных адресов — только от разрядности виртуального адреса. Windows 2000, использующая 32-разрядные виртуальные адреса, позволяет адресовать 4 Гб памяти.

Памятью управляет диспетчер виртуальной памяти (Virtual Memory Manager, VMM). Он выполняет две функции.

  1. Поддерживает таблицу проецирования памяти, где отслеживается список виртуальных адресов, принадлежащих каждому процессу, и действительное размещение данных, на которые ссылаются виртуальные адреса (рис. 4-5). Когда поток обращается к памяти, он запрашивает виртуальное адресное пространство. VMM использует запрашиваемый потоком виртуальный адрес для нахождения соответствующего физического адреса. Затем он передает данные, запрошенные потоком.

2. Перемещает содержимое ОЗУ на жесткий диск и обратно по мере необходимости. Этот процесс называется подкачкой (paging).