Перейти к содержимому
2.4. Память как иллюзия: виртуальная память

Страницы, места и подкачка

Просите страницы и смотрите, что происходит, когда мест в оперативной памяти не остаётся.

// страницы

И виртуальное пространство процесса, и физическая оперативная память нарезаны на одинаковые кусочки - страницы. Стандартный размер страницы 4 килобайта. Между ними лежит таблица страниц: список соответствий, с которым процессор сверяется при каждом обращении к памяти. Здесь мест в памяти всего три - просите страницы и смотрите, что будет.

0 из 3 мест в памяти занято
  • стр. 0

    Код браузера

    в памяти

    Работает прямо сейчас, поэтому уже загружена.

  • стр. 1

    Открытая вкладка

    в памяти

    Тоже в работе: её содержимое видно на экране.

  • стр. 2

    Общая библиотека

    на диске

    Одну и ту же библиотеку система отображает в оба виртуальных пространства сразу: физические страницы общие, данные не дублируются.

  • стр. 3

    Свёрнутая вкладка

    на диске

    Давно не трогали. Именно такие страницы система и отправляет на диск первыми, когда места становится мало.

  • стр. 4

    Фоновое обновление

    на диске

    Просыпается изредка, но каждый раз просит своё место в памяти.

Программа просит:

Попадание: страница уже в памяти, и обращение занимает доли наносекунды. Программа даже не узнает, что где-то есть таблица страниц - блок управления памятью в процессоре подставил физический адрес сам.

Страничный отказ: нужной страницы в оперативной памяти нет. Процессор сообщает об этом системе, та читает страницу с диска и дописывает соответствие в таблицу. Место ещё было, поэтому никого выселять не пришлось.

Мест не осталось, и чтобы загрузить новую страницу, система выселила ту, что лежит в памяти дольше всех. Если программы продолжат просить именно выселенные страницы, начнётся перекладывание туда-сюда: система тратит больше времени на перенос страниц, чем на работу. Это и называется трэшингом, и ощущается как «компьютер завис».

Модель условная: три места и пять страниц вместо миллионов, а выселяется всегда самая давняя. Настоящие системы считают ещё и частоту обращений, пробуют сжать страницу прямо в памяти перед сбросом на диск, а у процессора есть отдельный кэш адресов, чтобы не читать таблицу каждый раз.

Интерактив разработан - ремонт компьютеров и ноутбуков в Барановичах. © 2008-2026. Источник: any.by/demo/stranicy-pamyati