Механизмы управления памятью Windows
1) Виртуальная память
2) Работа со стеками
3) Кучи (Heaps)
4) Файлы, проецируемые в память
1) Виртуальное адресное пространство Windows.
Виртуальная память – это совокупность программно-аппаратных средств, позволяющая пользователю составлять программы, размер которых превосходит имеющийся размер ОЗУ.
Для этого виртуальная память решает следующие задачи:
q Размещает данные в запоминающих устройствах разного типа, например, часть в ОЗУ, часть на жестком диске.
q Перемещает по мере необходимости данные между устройствами разного типа. Например, подгружает нужную часть программы с диска в ОЗУ.
q Преобразует виртуальный (линейный) адрес в физический.
Все эти действия используются без участия программиста.
![]()
|


В Windows NT, 95 каждому процессу предоставляется адресное пространство 4 Гб. Адресное пространство каждого процесса скрыто от других процессов. Каждый процесс получает доступ только к той памяти, которая принадлежит ему. Память других процессов скрыта.
1234567816 – А
1234567816 – В
И А, и В обращаются к ячейкам, которые находятся по различным физическим адресам. С помощью страничной организации одинаковые линейные адреса преобразуются в различные физические. Это достигается за счёт того, что у них разная таблица страниц и отображение страниц.
ОЗУ в виртуальном адресном пространстве выделяется разделами. Выделения разделов различны для различных разделов. Например, в Windows из 4 Гб: 2 Гб программе, а 2 Гб ОС. В Windows 2000 advanced server теоретически можно выделить до 3 Гб. С чем связано такое расположение? Это связано с тем, что Windows NT создавалась под различные платформы, например, в MIPS 4000 так надо. Для работы с ОЗУ.
![]()
![]()
![]()
![]()