Ассоциативная память



       
       
S P ...  
       
       
       

 

Таблица сегментов   Таблица страниц   Оперативная память
          Страничный
    +     кадр 0
            Страничный
            кадр 1
            .....
          +  
             
             
             
            Страничный
            кадр N

Рис.3.7. Выбор элемента в памяти в сегментно-страничной системе с комбинированным ассоциативно-прямым отображением

 

При обращении к памяти вначале выполняется попытка ассоциативного поиска адреса блока (страницы), содержащего выбираемый элемент, если эта попытка оказывается неудачной, то выполняется многоступенчатый процесс вычисления физического адреса элемента с использованием таблиц двух уровней (сегментов и страниц) и его результат запоминается в ассоциативной памяти для последующих обращений.

В процессе преобразования адресов просмотр таблицы сегментов может показать, что адресуемого сегмента Segment в памяти нет; при этом возникает прерывание по отсутствию сегмента, операционная система, обрабатывая это прерывание, выполнит поиск нужного сегмента во внешней памяти, сформирует для него таблицу страниц, запишет ссылку на нее в строку таблицы сегментов, описывающую данный сегмент, и установит признак его присутствия в памяти.

Когда сегмент Segment находится в первичной памяти (для него уже есть представляющая его таблица), обращение к таблице страниц может показать, что в памяти нет адресуемой страницы Page. В этом случае вырабатывается прерывание по отсутствию страницы. Для его обработки ОС возьмет управление на себя, найдет данную страницу во внешней вторичной памяти и загрузит ее в основную память (возможно, с замещением другой страницы, которая будет вытолкнута из первичной памяти и для нее бит присутствия будет сброшен). Загрузка страницы приведет к модификации соответствующей строки таблицы страниц: в нее будет записана ссылка на страничный кадр реальной памяти, распределенный для загрузки страницы, а также в ней будет установлен бит присутствия страницы в оперативной памяти.

Кроме того, как и при чисто сегментной или страничной организации может возникнуть прерывание, связанное с нарушением границы сегмента, нарушением прав доступа к сегменту или странице. Обработка этих прерываний - обязательная функция ОС.

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


Дата добавления: 2016-01-05; просмотров: 16; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!