В настоящее время я изучаю операционные системы А. Зильбершаца, П. Гальвина, Дж. Ганье.
Я изучаю стратегии управления памятью и раздел, в котором они представляют переходный буфер в стороне (TLB).
Некоторые TLB хранят идентификаторы адресного пространства (ASID) в каждой записи TLB.ASID уникально идентифицирует каждый процесс и используется для обеспечения защиты адресного пространства для этого процесса.Когда TLB пытается разрешить номера виртуальных страниц, он гарантирует, что ASID для текущего запущенного процесса совпадает с ASID, связанным с виртуальной страницей.Если ASID не совпадают, попытка рассматривается как промах TLB.
Выше приведена цитата из учебника, объясняющая ASID.
Я немного запутался, поскольку промах TLB означаетлогический адрес не может быть сопоставлен в TLB, поэтому его необходимо проверить с помощью таблицы страниц, чтобы перейти к физической памяти.
При этом ASID - это дополнительные биты для каждой записи в TLB, чтобы проверить, принадлежит ли процесс, который обращается к этой записи, процессу.
Что меня интересует, так это то, что когда ASID используется для отказа от процесса, не должен ли он перехватывать, а не пропускать TLB?TLB miss перенаправит процесс в таблицу страниц, где логический адрес процесса сможет быть сопоставлен с определенным адресом в основной памяти.
Пожалуйста, помогите мне, если я неправильно понимаю.
Спасибо!