Давайте сосредоточимся на однопроцессорных компьютерных системах. Когда процесс создается, насколько мне известно, настраивается таблица страниц, которая сопоставляет виртуальные адреса в адресное пространство физической памяти. Каждый процесс получает свою собственную таблицу страниц, хранящуюся в адресном пространстве ядра. Но как MMU выбирает правую страницу таблицы для процесса, так как выполняется не только один процесс, и будет много контекстных переключателей?Как система выбирает правильную таблицу страниц?
Любая помощь приветствуется!
Best, Simon
Благодарим за быстрый ответ. Итак, вы говорите, что ОС выполняет сброс и восстановление таблицы страниц при каждом переключении контекста? – saimn
@ пользователь1435023 по существу. Операционная система сообщает MMU, где таблица находится в физической памяти как указатель, затем MMU обрабатывает очистку TTL и других аппаратных задач. В зависимости от MMU операционная система может иметь более мелкозернистый контроль деталей низкого уровня, но это не является строго необходимым. На простейшем уровне вся ОС заботится о том, чтобы MMU использовал таблицу страниц. – Dougvj
@ user1435023 Исправление: Предназначено TLB выше, * не * TTL. Натан Бинкерт ответил больше на аспект TLB вещей – Dougvj