Термин виртуальная память обычно ассоциируется с системами, использующими страничную организацию, хотя используется и виртуальная память на основе сегментации (которую мы рассмотрим чуть позже). Впервые сообщение о виртуальной памяти на основе страничной организации появилось в работе [KILB62], и вскоре после этого виртуальная память стала широко использоваться в коммерческих системах.
При рассмотрении простой страничной организации мы указывали, что каждый процесс имеет свою собственную таблицу страниц, которая создается при загрузке всех страниц процесса в основную память. Каждая запись в таблице страниц содержит номер кадра соответствующей страницы в памяти. Такая же таблица страниц, связанная с каждым из процессов, требуется и при организации виртуальной памяти на базе страничной организации — однако в этом случае структура записей таблицы становится несколько более сложной (рис. 8.2,а). Поскольку в основной памяти могут находиться только некоторые из страниц процесса, в каждой записи таблицы должен иметься бит Р, указывающий на присутствие соответствующей страницы в основной памяти. Если данная страница располагается в основной памяти, то в записи таблицы содержится номер ее кадра.
Другим управляющим битом в записи таблицы страниц является бит модификации — М, который указывает, было ли изменено содержимое данной страницы со времени последней загрузки в основную память. Если изменений не было, то когда наступит время замены страницы в занимаемом ею в данный момент кадре, записывать эту страницу на диск не следует, так как на диске уже имеется ее точная копия. В записи таблицы страниц могут быть и другие управляющие биты, например, служащие для целей защиты или совместного использования памяти на уровне страниц.
