Виртуальная память I: проблема [LWN.net]
http://lwn.net/Articles/75174/
в частности, аппаратный буфер трансляции адресов может быть разделен между ядром и пользовательским пространством.
Я совершенно сбит с толку. Почему они могут совместно использовать TLB, когда виртуальный компьютер разделен? Я знаю, что в некоторых процессорах есть глобальный бит страницы,
указывает на то, что записи TLB являются общими для разных процессов и не требуют сброса.
Какая связь между TLB и vm split 3G / 1G? Пожалуйста, прокомментируйте подробно. Заранее спасибо.
Обновление: почему бы не использовать глобальный бит страницы, чтобы указать, что запись TLB используется ОС (пространство ядра)? Если это так, почему все еще нужно разделить пространство VM? пример: две записи (адрес vm liner одинаков) в TLB, но для одной из них установлен глобальный бит. ? Когда контекст переключается, просто сбрасывайте записи, что глобальный бит не установлен. Это возможно?
Обновление 2: я проверил руководство разработчика программного обеспечения для архитектуры intel-ia-32 и обнаружил, что в записи TLB отсутствует глобальный бит (существует в PDE и PTE). Но когда контекст переключается, как процессор определяет, установлен ли глобальный бит записи TLB или не установлен?