Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы 2008-2009.doc
Скачиваний:
20
Добавлен:
17.09.2019
Размер:
4.36 Mб
Скачать

71 Варианты реализации страничной таблицы. Tlb.

Каждое обращение к памяти предполагает обращение к страничной таблице.

Следствие: реализация СТ существенно влияет на эффективность виртуальной адресации.

Варианты реализации СТ:

  • Специально выделенные регистры:

  • (+)максимальное быстродействие;

  • ( -)неприменим при большом объеме СТ.

  • Выделенная область ОП:

  • (-)увеличение времени доступа.

Сокращение времени доступа при размещении СТ в ОП

Достигается посредством дополнительной кэш-памяти – TLB (Translation Look-aside Buffer).

Альтернативные наименования TLB:

  • буфер быстрого преобразования адреса;

  • буфер ассоциативной трансляции;

  • буфер опережающей выборки.

T LB обновляется в результате преобразования адресов.

Функционирование TLB

При каждом обращении к ОП преобразователь адреса производит поиск в памяти тегов TLB номера требуемой виртуальной страницы:

  • попадание: адрес физической страницы берется из памяти данных TLB;

  • промах:

  • процедура преобразования адресов производится с помощью СТ;

  • в TLB сохраняется новая пара «номер виртуальной страницы—номер физический страницы».

Реализация TLB

Обычно в виде кэш-памяти:

  • полностью ассоциативная или множественно-ассоциативная;

  • высокая степень ассоциативности (число входов у типовых TLB – 64—256);

  • время доступа, сопоставимое с показателем кэша L1.

Pentium III: TLB – 64 входа, размер страницы – 4 Кбайт, быстрый доступ к адресному пространству в 256 Кбайт.

72 Ограничения страничной организации памяти. Сегментация памяти.

Страничная организация решает проблему эффективного использования адресного пространства ОП:

  • для больших программ выделяется много страниц, для небольших – меньше;

  • неиспользуемые излишки не превышают размера фрейма.

Перегрузка (thrashing) является следствием наличия большого числа процессов в ограниченном объеме ОП.

При этом:

  • ОС тратит много времени на свопинг;

  • реальная эффективность системы снижается;

  • диск используется неэффективно.

Решение проблемы:

  • разработка эффективных алгоритмов замещения;

  • ограничение количества выполняемых процессов;

  • по возможности увеличение емкости памяти.

Сегментная организация памяти

Концепция

Страничная организация:

  • скрыта от программиста;

  • непрерывный массив со сквозной нумерацией слов не всегда удобен.

Программа состоит из нескольких частей – кода и данных:

  • длины составляющих заранее неизвестны;

  • удобна независимая нумерация слов в каждой части;

  • возможность совместного использования одного сегмента несколькими процессами.

Сегментированная память – в виртуальном пространстве выделяются независимые линейные пространства переменной длины (сегменты).

Сегмент – отдельная логическая единица информации:

  • содержит данные или программный код;

  • располагается в адресном пространстве пользователя;

  • имеет собственную нумерацию слов, начиная с нуля.

Каждой составляющей программы выделяется свой сегмент памяти.

Часть сегментов загружается в ОП, остальные хранятся в дисковой памяти.

Преобразование адреса

Составляющие виртуального (логического) адреса :

  • номер сегмента;

  • смещение внутри сегмента.

Для преобразования виртуального адреса в физический используется сегментная таблица.

Таблица сегментов

Формируется ОС во время загрузки процесса.

Записи таблицы содержат:

  • начальный физический адрес сегмента в ОП;

  • размер сегмента;

  • правила доступа;

  • признаки (модификации, обращения и т.п.).

Свойства сегментации

Достоинства:

  • простота управления большими структурами данных;

  • сегменты могут использоваться несколькими процессами;

  • обеспечивает высокую степень защиты;

Недостатки:

  • неэффективное использование ОП (фрагментация на уровне сегментов).