Пейджинг по запросу - это форма виртуальной памяти, где страница памяти будет выгружена, если программа пытается получить к ней доступ, а страница еще не находится в основной памяти. Следовательно, подкачка по запросу загружает только те страницы, которые должны быть перенесены в реальную память во время процесса выполнения, и нет необходимости перекачивать всю память для процесса из вторичной памяти в основную память во время запуска программы.
Преимущество этого процесса заключается в том, что загружаются только те страницы, которые необходимы в процессе выполнения, поэтому в основной памяти остается больше места и, следовательно, может быть загружено больше процессов, что сокращает время переключения контекста, которое обычно использует большое количество ресурсы памяти. Однако разбиение на страницы по запросу означает, что программы могут столкнуться с дополнительной задержкой при первой попытке доступа к странице, этот процесс также может быть уязвим для возможных рисков безопасности, таких как временные атаки.
Процесс пейджинга по запросу;
1. Программа пытается найти страницу.
2. Если страница находится в основной памяти, программа работает в обычном режиме.
3. Если страница не может быть обнаружена, происходит так называемая ловушка отказа страницы.
4. Затем проверяется ссылка на память, чтобы определить, является ли она действительной ссылкой на место во вторичной памяти, если это так, то страницу необходимо будет вывести на страницу.
5. Запланировано считывание нужной страницы в основную память.
6. Эта операция перезапускается в точке до того, как происходит перехват ошибки страницы. (Шаги 1 и 2).
7. Программа теперь может получить доступ к желаемой странице в основной памяти.