TLB изменяется каждый раз, когда программа делает контекстное переключение?

Если TLB сбрасывается каждый раз, программа делает контекстное переключение, то, когда та программа запущена снова, куда TLB идет для перезагрузки его таблицы? Кроме того, если таблица сбрасывается, то, как другим программам препятствуют писать в память, которая принадлежит той программе?

1
задан 05.03.2011, 03:56

1 ответ

Это начинается пустой и перезагружается, поскольку доступы происходят.

TLB является оптимизацией, которая старается не чтение более медленная информация таблицы страниц для определения местоположения памяти приложения; в частности, управление доступом к памяти сделано, формируют таблицы страниц, не TLB.

И причина, Вы очищаете его, является двукратной: потому что, если Вы не сделали, доступы от следующего процесса могли бы перейти к памяти Вашего процесса (полная противоположность Вашего предположения!), и потому что это могло очевидно использоваться для отслеживания на памяти и/или действии процесса.

1
ответ дан 12.12.2019, 12:57

Теги

Похожие вопросы