На типичном современном процессоре да, он загружает всю страницу.
Это не могло бы работать по-другому, так как в таблицах страниц для данной страницы есть только два состояния: присутствует и нет. Если страница присутствует, она должна быть сопоставлена с какой-либо страницей в физической памяти. Если нет, каждый доступ к этой странице вызывает ошибку страницы. Состояние «частично присутствует» отсутствует.
Чтобы ОС могла безопасно отметить страницу как присутствующую, она должна загрузить всю страницу в физическую память и обновить таблицы страниц, чтобы указать виртуальную страницу на физическую страницу. Если он загрузил только один байт или меньшее количество, приложение может позже попытаться получить доступ к другому байту на той же странице, который не был загружен, и он прочитает мусор. В этом случае ЦП не может создать еще одну ошибку страницы, чтобы позволить ОС исправить ситуацию, если только страница не была помечена как отсутствующая, и в этом случае исходный доступ также не сможет быть завершен.
Размер страницы фиксирован аппаратно, хотя некоторые архитектуры предлагают несколько различных вариантов, из которых может выбирать ОС. Например, последние процессоры x86-64 позволяют страницам иметь размер 4 КБ, 2 МБ или 1 ГБ. ОС может смешивать и сопоставлять их во время выполнения; в таблицах страниц есть биты, указывающие размер каждой страницы.