Не совсем. Чтобы выделить определенное количество страниц, которые находятся непосредственно (друг за другом) в (виртуальной) памяти, мы сначала просим наш менеджер физической памяти (pmm) выделить несколько «случайных» страниц (то есть не позади друг друга). Затем каждая отдельная страница передается нашему менеджеру виртуальной памяти (vmm). У vmm есть указатель на текущий каталог страниц, который сам содержит несколько таблиц страниц. Таблица страниц содержит физический адрес (выровненный 4k) для каждого виртуального адреса, который он охватывает. Если мы теперь хотим сопоставить физический адрес с виртуальным адресом, мы можем сделать это путем вычисления индекса в каталоге страниц и в итоговой таблице страниц и установки правильных битов. Если мы теперь отображаем наши «случайно» распределенные страницы прямо друг за другом, у нас есть замечательный блок памяти только для нас самих. Теперь, если вы хотите переключаться между n процессами, вы можете просто поменять каталог текущей страницы.
Подводя итог, можно сказать, что vmm: Top level - это массив массивов физических адресов. Индекс каждого адреса сообщает ЦП, какой виртуальный адрес сопоставить. Кроме того, каждый массив содержит некоторые метаданные доступа.
Если вы хотите узнать больше, не стесняйтесь читать это , если вы еще этого не сделали.