Я начну с виртуального адреса 8, он должен лучше проиллюстрировать вещи.
8 = 2 × 4 + 0. Физический адрес сохраняется по смещению 0 на странице 2 процесса. Смотрим вторую страницу. Для P1 адрес страницы 2 хранится в PA 4 + 2, и он равен 28. Мы ищем содержимое PA 28 и получаем значение 0. Для P2 адрес страницы 2 сохраняется в PA 12 + 2, это 24 содержание PA 24 составляет 5.
Теперь с виртуальным адресом 15, который иллюстрирует исключительные случаи.
15 = 3 × 4 + 3. Физический адрес сохраняется по смещению 3 страницы процесса 3. Для P1 адрес страницы 3 сохраняется в PA 4 + 3, который содержит -2. Бит знака указывает на то, что страница находится за пределами физической памяти, что означает сбой жесткого диска (ситуация, в которой ОС обрабатывает исключительно, но не ошибку). Для P2 адрес страницы 3 хранится в PA 12 + 3, что, как говорит нам какой-то специальный механизм (ядовитое значение, таблица внешних кадров?), Недопустимо. Это ошибка, и о ней сообщают как об ошибке сегментации.
Последний пример с VA 7 и P1 для объяснения смещений:
7 = 1 × 4 + 3. Физический адрес сохраняется по смещению 3 на странице 1. P1. Страница 1 находится на PA 8, смещение 3 на странице 1 - на PA 8 + 3.