программы, размер которых превосходит имеющуюся оперативную
память, для этого виртуальная память решает следующие задачи:
- размещает данные в запоминающих устройствах разного типа,
например, часть программы в оперативной памяти, а часть на диске;
- перемещает
по
мере
необходимости
данные
между
запоминающими устройствами разного типа, например, подгружает
нужную часть программы с диска в оперативную память;
- преобразует виртуальные адреса в физические.
Все эти действия выполняются автоматически, без участия
программиста, то есть механизм виртуальной памяти является
прозрачным по отношению к пользователю.
Наиболее распространенными реализациями виртуальной памяти
является
страничное,
сегментное
и
странично-сегментное
распределение памяти, а также свопинг.
5.6 Страничное распределение
На рисунке 15 показана схема страничного распределения
памяти. Виртуальное адресное пространство каждого процесса
делится на части одинакового, фиксированного для данной системы
размера, называемые виртуальными страницами. В общем случае
размер виртуального адресного пространства не является кратным
размеру страницы, поэтому последняя страница каждого процесса
дополняется фиктивной областью.
Вся оперативная память машины также делится на части такого
же размера, называемые физическими страницами (или блоками).
Размер страницы обычно выбирается равным степени двойки:
512, 1024 и т.д., это позволяет упростить механизм преобразования
адресов.
При
загрузке
процесса
Достарыңызбен бөлісу: