Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_na_voprosy_SPO_2.docx
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
4.28 Mб
Скачать

68.Ассоциативный буфер трансляции (tlb). Функционирование tlb.

Ассоциативный буфер трансляции (TLB – Translation Lookaside Buffer)

  • Каждое обращение к виртуальному адресу может вызывать два обращения к физическому адресу

    • Для считывания таблицы страниц

    • Для чтения данных с кадра основной памяти

  • Для решения этой проблемы существует высокоскоростной кэш для часто используемых PTE, который называется TLB.

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

  • При обращении к виртуальному адресу, процессор сначала обращается к TLB

  • Если PTE присутствует в TLB (попадание в TLB), номер кадра извлекается из TLB и формируется адрес в основной памяти

  • При промахе в TLB процессор использует номер страницы для обращения к PTE.

  • При обращении к виртуальному адресу проверяется наличие страницы в основной памяти

    • При отсутствии генерируется исключение

  • Производится обновление TLB для включения нового PTE.

69.Размеры страниц. Влияние размеров страниц на поведение процесса.

Размер страницы

  • Меньше размер страницы – меньше внутренняя фрагментация

  • Меньше размер страницы – больше страниц требуется процессу

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

  • Вторичная память эффективнее работает с большими блоками данных – эффективней использовать большие страницы.

  • Малый размер страницы – большее количество страниц можно держать в оперативной памяти

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

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

Размеры страниц различных архитектур МП.

70. Сегментная вп. Таблицы сегментов. Трансляция при сегментной организации.

Сегментация

  • Сегменты могут иметь разные, динамически изменяемые размеры

  • Упрощается обработка структур данных изменяемого размера

  • Упрощается совместное использование кода и данных разными процессами

  • Улучшается защита.

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

  • Располагается в основной памяти

  • Содержит начальный адрес сегмента и его длину

  • Существует бит присутствия сегмента в основной памяти

  • Дополнительные биты: модификации, доступа.

Трансляция адреса при сегментной организации

Не с лекции:

1)Сегментная схема функционирования вп

Программа разбивается на несколько логических сегментов. Каждому из сегментов предоставляется свой раздел памяти. Физический адрес элемента определяется следующим образом: смещение относительно начала сегмента прибавляется к базовому адресу, с которого сегмент размещен в памяти.

ФАэ = БАс + СМ.

Каждый сегмент, размещенный в памяти, имеет сопутствующую информационную структуру, называется дескриптором сегмента. ОС для каждого исполняемого процесса строит таблицу дескрипторов. Таблица строится во время размещения в ОП процесса. В дескрипторе содержится:

- Номер виртуальной страницы;

- Бит присутствия в памяти;

- Адрес начала сегмента в памяти;

- Длина сегмента;

- Права доступа;

- Тип сегмента (код, данные, служебная информация)

- Отметка об обращении к сегменту

Программа, управляющая памятью, называется диспетчером памяти.

Если сегмента нет в памяти, то через прерывания диспетчер обращается к программе загрузки недостающих сегментов. Сначала страница ищет в буфере, если находится, продолжается работа, если страницы нет, процесс переходит в состояние ожидания. Для того чтобы уменьшить подкачку, используется буферизация и упреждающая выборка. Страницы когда выгружаются из ОП находятся в буфере. С проблемой подкачки связаны 3 проблемы:

- Задача выборки;

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

- Задача размещения;

Заключается в выборе свободного места для подкачиваемого сегмента.

- Задача замещения

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

Достоинства и недостатки сегментной схемы:

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

- Каждой задаче выделяется свое виртуальное адресное пространство (все процессы изолированы друг от друга и ОС);

- Проще организуется защита процессов и ОС;

- Редко используемые куски программы можно не хранить в ОП (больше эффективность использования ОП);

- Программа не занимает непрерывную область памяти (уменьшается фрагментация);

- Можно использовать общие сегменты разного процесса.

- Размещение программы в памяти не целиком, а по мере необходимости

Недостатки:

- Неизбежная фрагментация;

- Большие потери памяти и процессорного времени на размещение и обработку дескрипторных таблиц: ведь на каждую задачу необходимо иметь свою таблицу дескрипторов сегментов, а при определении физических адресов необходимо выполнять операции сложения

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

ОС: OS/2

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]