ОС вопросы
В.31 Страничная организация
В.31 Страничная организация
В.32 Сегментная организация
В.32 Сегментная организация
33 Виртуальная память
649.00K
Category: informaticsinformatics

ОС вопросы

1. ОС вопросы

2. В.31 Страничная организация

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

3. В.31 Страничная организация

Для защиты памяти процесса используется бит valid –
invalid в каждом элементе таблицы страниц,
указывающий, принадлежит ли страница логической
памяти процесса.
Таблицы страниц бывают различной структуры –
иерархические, хешированные и инвертированные.
Хэшированные - требуют поиска нужной страницы по
хеш-списку. Инвертированные таблицы страниц требуют
поиска нужной физической страницы по номеру процесса
и логическому номеру страницы.
Разделяемые страницы используется для совместного
использования процессами одних и тех же областей
памяти, имеют одинаковые логические мена в таблицах
страниц.

4. В.32 Сегментная организация

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

5. В.32 Сегментная организация

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

6. 33 Виртуальная память

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

7.

Виртуальная память может быть реализована путем страничной или
сегментной организации по требованию.
Страничная организация по требованию – схема страничной
организации, при которой страница подкачивается в основную
память только при обращении к ней.При отсутствии адресуемой
страницы в основной памяти происходит прерывание – отказ
страницы (page fault). Бит valid-invalid элемента таблицы
страниц указывает, присутствует ли страница в основной памяти.
При обработке ситуации отказа страницы ОС находит фрейм в
основной памяти и подкачивает в него страницу с диска. При
отсутствии свободного фрейма выполняется алгоритм замещения
страниц – выбор фрейма-жертвы (по какому-либо критерию),
откачка его на диск и подкачка на
освободившееся место адресуемой страницы.
Выделение процессам фреймов в основной памяти для размещения
страниц выполняется равномерно (выделяется одинаковое число
фреймов), пропорционально размерам процессов, по приоритетам,
локально (для каждого процесса свой список свободных фреймов)
или глобально (общий список свободных фреймов для всех
процессов).

8.

Используются следующие алгоритмы замещения
страниц: FIFO (замещается страница, загруженная
в память раньше всех);
оптимальный алгоритм (замещается страница, которая не
использовалась в течение наибольшего периода
времени); LRU (замещается страница, к которой раньше
всего было обращение); LRU с использованием стека
страниц с самой ранней по обращению страницей на
вершине; замещение страниц с нулевым битом
ссылки; алгоритм второго шанса (замещение
второй по давности обращений страницы, с сохранением
первой в памяти); LFU – замещение реже всего
используемой страницы; MFU – замещение чаще всего
используемой страницы.
Thrashing – ситуация катастрофической нехватки фреймов
в основной памяти, когда процессор занят в основном
откачкой и подкачкой.
English     Русский Rules