Cтраница 1
Типичная запись в таблице страниц. [1] |
Бит Обращения устанавливается всякий раз, когда происходит обращение к странице для чтения или записи. Его значение помогает операционной системе при выборе страницы для удаления из памяти, когда случается ошибка из-за отсутствия страницы. Страницы, не использующиеся в данный момент, являются лучшими кандидатами, чем находящиеся в работе. Этот бит играет важную роль в нескольких алгоритмах перемещения страниц, которые мы изучим позже в этой главе. [2]
Бит обращения нельзя использовать для учета обращений к странице, содержащей таблицы переадресации, так как после первой выборки содержимое таблиц может участвовать в процессе переадресации косвенно вследствие обращений к буферу быстрой переадресации без выборки строк таблиц из основной памяти. [3]
Бит обращения ключа блока памяти, заданного адресом второго операнда, устанавливается в нуль. Биты 8 - 20 адреса второго операнда указывают блок истинной памяти объемом 2048 байтов. Биты 0 - 7 и 21 - 31 адреса не учитываются. [4]
На однопроцессорной машине если бит обращений к странице сброшен, то счетчик, связанный со страницей, увеличивается на единицу. Если этот бит установлен в единицу, счетчик обнуляется. После сканирования из рабочего набора удаляются страницы с наибольшими значениями счетчика. Поток продолжает изучать процессы, пока он не высвободит достаточного количества страниц, после чего он останавливается. [5]
Учет обращений с помощью бита обращения не всегда бывает полным, и правила установки бита обращения не всегда согласуются с правилами, определяющими единовременность в действиях процессора. Но в большинстве случаев момент обращения к памяти приблизительно совпадает с моментом его регистрации. [6]
Достаточно точно производится регистрация обращений с использованием бита обращения. Бит обращения может быть возбужден при выборке информации или команд, не запрашиваемых или не используемых данной программой, и при определенных условиях обращение может осуществляться без возбуждения бита обращения. При некоторых необычных условиях возбужденный бит обращения может быть переустановлен в невозбужденное состояние не явным воздействием программы, а каким-либо другим способом. [7]
На многопроцессорной системе алгоритм, основанный на проверке бита обращений, уже не работает, так как хотя текущий центральный процессор не обращался в последнее время к данной странице, к ней могли обращаться другие центральные процессоры. Исследование же битов обращений всех центральных процессоров представляет собой слишком дорогое удовольствие. Поэтому бит обращений вообще не учитывается, а удаляются самые старые страницы. [8]
Код признака результата устанавливается таким образом, что он отражает состояние бита обращения и бита модификации перед установкой бита обращения в нуль. [9]
Справедливо для моделей с раздельными контролируемыми блоками для битов защиты и битов обращения и модификации. Содержимое битов защиты сохраняется, а содержимое битов обращения и модификации может исправляться или сохраняться. [10]
Обработка недопустимого СВС в ключах памяти. [11] |
Относится к моделям с отдельными контролируемыми блоками для битов защиты и для битов обращения и изменения; биты защиты сохраняются, а биты обращения и изменения могут корректироваться или сохраняться. [12]
Учет обращений с помощью бита обращения не всегда бывает полным, и правила установки бита обращения не всегда согласуются с правилами, определяющими единовременность в действиях процессора. Но в большинстве случаев момент обращения к памяти приблизительно совпадает с моментом его регистрации. [13]
Код признака результата устанавливается таким образом, что он отражает состояние бита обращения и бита модификации перед установкой бита обращения в нуль. [14]
Перекодировка не применяется к адресам, явно определяющим ключи памяти ( адреса операнда в командах установить ключ памяти, прочитать ключ памяти и сбросить бит обращения), а также к кодам, которые формируются подобно адресам памяти из содержимого полей В и D команды, но не используются для адресации основной памяти. К последним относятся коды адреса операнда в командах загрузка адреса, вызов монитора, а также коды адреса операнда в командах сдвига и ввода-вывода. Однако перекодировка адреса производится в том случае, когда программа явно определяет эти ячейки как ячейки операнда или команды. [15]