Виртуальным называется ресурс, который пользователь или пользовательской программе
представляется средствами, которые в реальной действительности виртуальность не обладает. В случае
с виртуальной памятью система, обладающая ограниченной физической оперативной памятью,
представляется системой с огромной математической оперативной памятью. Виртуализация памяти
может быть осуществлена на основе 2-х различных подходов:
1) свопинг;
2) виртуальная память.
В первом случае образ процесса выгружается на диск целиком, во втором – выгружается часть образа
процесса.
Виртуальная память может быть представлена 3 способами:
страничная: перемещение данных организовывается страницами фиксированного (небольшого)
размера (1Kb, 4 Kb);
сегментная: данные перемещаются сегментами, т. е. участками виртуального адресного
пространства произвольного размера. Участки выделяются с учетом смыслового значения данных
(массивы, структуры, строки загружаются и выгружаются целиком)
сегментно-страничная: используется двухуровневое деление памяти: сначала все адреса
пространства делятся на сегменты, а потом каждый сегмент делится на страницы. Единица
перемещения – страница.
При сегментном распределении памяти для преобразования виртуального адреса процесса в
физический строится таблица сегментов (для каждого процесса). В этой таблице указывается:
1) базовый физический адрес сегмента в оперативной памяти,
2) размер сегмента,
3) правила доступа к сегменту,
4) признаки модификации, обращения, присутствия.