Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпора ОРГ ЭВМ экзамен.docx
Скачиваний:
22
Добавлен:
24.09.2019
Размер:
482 Кб
Скачать
☆

91. Странично-сегментное распределение виртуальной памяти

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

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

92. Механизм преобразования виртуального адреса в физический при странично-сегментном распределении памяти с использованием tlb

Виртуальный адрес при странично-сегментном распределении состоит из трёх частей (g, p, s), где g – номер сегмента, p – номер виртуальной страницы процесса, s – смещение в пределах виртуальной страницы. Трансляция виртуального адреса в физический с использованием таблиц сегментов и страниц начинается с того, что на основании начального адреса таблицы сегментов (содержимое регистра адреса таблицы сегментов), номера сегмента (старшие разряды виртуального адреса) определяется базовый адрес соответствующей таблицы страниц для данного сегмента. А дальше происходит всё тоже самое, что при страничном распределении. По найденному базовому адресу таблицы страниц, номеру виртуальной страницы p из таблицы страниц извлекается старшая часть физического адреса страницы (n), к которой присоединяется смещение s (младшая часть).

Процесс преобразования адресов посредством таблиц является достаточно длительным и, естественно, приводит к снижению производительности системы. С целью ускорения этого процесса используется специальная полностью ассоциативная кэш-память, которая называется буфером преобразования адресов TLB (translation loo-kaside buffer).

Виртуальный адрес страницы VAi, составленный из полей g и p, передаётся в TLB в качестве поискового признака (тега). Он сравнивается с тегами (VA) всех ячеек TLB, и при совпадении из найденной ячейки выбирается физический адрес страницы n, позволяющий сформировать полный физический адрес элемента данных, находящегося в ОП. Если совпадение не произошло, то трансляция адресов осуществляется обычными методами через таблицы сегментов и страниц. Эффективность преобразования адресов с использованием TLB зависит от коэффициента «попадания» в кэш-памяти, т. е. от того, насколько редко приходится обращаться к табличным методам трансляции адресов. Учитывая принцип локальности программ и данных, можно сказать, что при первом обращении к странице, расположенной в ОП, физический адрес определяется с помощью таблиц и загружается в соответствующую ячейку TLB. Последующие обращения к странице выполняются с использованием TLB.