Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Full_OS (1).doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
6.1 Mб
Скачать

Билет 22

  1. Страничная организация памяти. Недостатки страничной организации и пути их преодоления. Буфер быстрой трансляции адресов. Схема преобразования виртуального адреса.

  2. Модели процессов и потоков. Управление процессами и потоками. Основные функции управления и их содержание.

1. Страничная организация памяти. Недостатки страничной организации и пути их преодоления. Буфер быстрой трансляции адресов. Схема преобразования виртуального адреса.

При использовании виртуальной памяти каждому процессу выделяется определенное виртуальное адресное пространство. Это пространство делится на части фиксированного размера - виртуальные страницы. Вся оперативная память машины также делится на части такого же размера –физические страницы.

Размер страниц выбирается кратным степени двойки (т.е.-512,1024,4096). Обычно -4Кб.

Так как большинство современных машин – 32 разрядные, то они могу адресовать 4Гб. данных (максимальный размер виртуальной памяти). На адрес страницы уходит 4Гб/4Кб=220 – 20 бит. Другие 12 бит идут на смещение внутри страницы (4Кб=212байт)

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

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

  • процессор приостанавливает данный процесс и переходит к следующему

  • Если в памяти нет свободного места – из нее выгружается страницы, которые вероятно в ближайшее время не будут использоватся.

  • На свободное место загружаются необходимые страницы с жесткого диска.

  • Процессор возобнавляет выполнение процесса

Буфер быстрой трансляции адресов.

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

Вычисление физического адреса по логическому (виртуальному)

Виртуальный адрес – порядковый номер виртуальной страницы + смещение в ней.

Физический адрес – порядковый номер физической страницы + смещение в ней.

Т.к. размер страниц выбирается кратным степени 2 (4Кб - 212) то смещение – это последние разряды в виртуальном адресе (в данном случае – последние 12 бит.)

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

Механизм преобразования виртуальных адресов в физические:

  1. Загружается адрес таблица страниц процесса (AT – адрес таблицы страниц).

  2. От виртуального адреса отбрасываются младшие разряды (9 для страницы в 512байт)

Оставшиеся старшие разряды – номер виртуальной страницы (р)

  1. По данным адресам таблицы страниц и виртуальной страницы на находится нужная запись: АТ+р*(длина записи).

  2. В данной записи считывается адрес физической страницы и к нему прибавлятеся смещение. Физический адрес готов.

Недостатки страничной организации памяти: Сложен совместный доступ пользователей к процедурам, наличие внешней фрагментации.

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