В UC Berkley Видео-лекции по ОС Джоном Кубятовичем (Prof. Kuby) доступны в Интернете, он упомянул, что удар TLB не означает, что соответствующая страница находится в основной памяти. Ошибка страницы может все еще произойти.
Технически TLB - это кеш для записи в таблице страниц, и поскольку все записи в таблице страниц не имеют соответствующей страницы в основной памяти. То же самое можно сказать и о TLB. Удар TLB может привести к ошибке страницы.
Но согласно алгоритмам, приведенным в текстовых книгах, я не могу найти такой случай. В ядре прокси-сервера TLB обратитесь к таблицам страниц и обновите кеш TLB для соответствующего преобразования адресов. Следующий удар TLB не может привести к ошибке страницы. Когда ядро заменяет страницу, она обновляет соответствующие биты для этой записи таблицы страниц и делает недействительными соответствующий TLB, поэтому в следующий раз не может быть TLB, пока страница не будет загружена в основную память.
Так может ли кто-то стоять за правильность утверждения профессора Куби и указать случай, когда вместо TLB-удара (переведенный физический адрес для соответствующего виртуального адреса в найденном в TLB) может произойти ошибка страницы?