Во-первых; все, что является смежным внутри страницы, будет смежно как для виртуальной памяти, так и для физической памяти.
Если массив разбит по границе страницы (например, первая половина на одной странице, вторая половина на другой странице), или если массив слишком большой, чтобы поместиться в 2 (или 3) страницы, то он все равно будет смежным в виртуальной памяти, но не может быть смежным в физической памяти.
Для большинства вещей "несмежный в физическая память "не имеет значения.
Однако; для (прямого и ассоциативного) кэшей существует потенциальная потеря эффективности. Чтобы понять это, представьте, что если есть кэш-память объемом 64 КБ, а у вас есть массив размером 64 КБ, но физические адреса случайно используют одни и те же записи в кэше - вы можете получить массив, борющийся за одинаковое небольшое количество кэша (и невозможно использовать большую часть кэша).
Чтобы предотвратить эту проблему, хорошие операционные системы используют так называемые «раскраски страниц» или «раскраски кешей»; что в основном означает, что физические страницы размещаются так, что страницы (биты адреса, которые имеют значение для определения того, где в кэше должны находиться данные) кажутся смежными (даже если физические страницы не являются смежными). Вы можете прочитать больше об этом здесь: https://en.wikipedia.org/wiki/Cache_coloring