Ассоциативная память
S | P | ... | |
Таблица сегментов | Таблица страниц | Оперативная память | ||||
Страничный | ||||||
+ | кадр 0 | |||||
Страничный | ||||||
кадр 1 | ||||||
..... | ||||||
+ | ||||||
Страничный | ||||||
кадр N |
Рис.3.7. Выбор элемента в памяти в сегментно-страничной системе с комбинированным ассоциативно-прямым отображением
При обращении к памяти вначале выполняется попытка ассоциативного поиска адреса блока (страницы), содержащего выбираемый элемент, если эта попытка оказывается неудачной, то выполняется многоступенчатый процесс вычисления физического адреса элемента с использованием таблиц двух уровней (сегментов и страниц) и его результат запоминается в ассоциативной памяти для последующих обращений.
В процессе преобразования адресов просмотр таблицы сегментов может показать, что адресуемого сегмента Segment в памяти нет; при этом возникает прерывание по отсутствию сегмента, операционная система, обрабатывая это прерывание, выполнит поиск нужного сегмента во внешней памяти, сформирует для него таблицу страниц, запишет ссылку на нее в строку таблицы сегментов, описывающую данный сегмент, и установит признак его присутствия в памяти.
|
|
Когда сегмент Segment находится в первичной памяти (для него уже есть представляющая его таблица), обращение к таблице страниц может показать, что в памяти нет адресуемой страницы Page. В этом случае вырабатывается прерывание по отсутствию страницы. Для его обработки ОС возьмет управление на себя, найдет данную страницу во внешней вторичной памяти и загрузит ее в основную память (возможно, с замещением другой страницы, которая будет вытолкнута из первичной памяти и для нее бит присутствия будет сброшен). Загрузка страницы приведет к модификации соответствующей строки таблицы страниц: в нее будет записана ссылка на страничный кадр реальной памяти, распределенный для загрузки страницы, а также в ней будет установлен бит присутствия страницы в оперативной памяти.
Кроме того, как и при чисто сегментной или страничной организации может возникнуть прерывание, связанное с нарушением границы сегмента, нарушением прав доступа к сегменту или странице. Обработка этих прерываний - обязательная функция ОС.
|
|
В системах с большим количеством процессов, сегментов и станиц вся эта табличная структура может занимать значительный объем первичной памяти, поэтому таблицы второго уровня могут выталкиваться во вспомогательную память, как и обычные блоки памяти, содержащие код программ или данные.
Дата добавления: 2016-01-05; просмотров: 16; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!