Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[2 курс] Операционные системы.docx
Скачиваний:
15
Добавлен:
20.08.2020
Размер:
218.45 Кб
Скачать

Память и отображения адресов

VV < Vp – характерно для 16 разрядных машин, встречается редко

Предусматривает:

  • Деление ОЗУ на разделы размером по 64 КБ

  • Загрузку программы в один из разделов

  • Применение 3 и 4 вариантов отображения, за базовый адрес принимается раздел

Способы распределения памяти

  • Простое непрерывное

  • Распределение с перекрытием

  • Распределение статическими разделами

  • Распределение с динамическими разделами

Распределение с фрагментацией задач (разрывное):

  • Сегментное распределение

Простое непрерывное распределение памяти

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

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

Недостатки: большие потери процессорного времени и потеря памяти.

Распределение памяти с перекрытием

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

Распределение памяти со статическими разделами

Этот способ предусматривает создание в оперативной памяти N-разделов фиксированного размера. В 0 и 1 раздел загружаются ядро ОС и транзитные модули. В верхние загружаются буферы внешних устройств. Между ними располагаются коды программ и их данные.

Недостаток: фрагментация памяти, определенные фрагменты недоступны

Распределение памяти с динамическими разделами (загрузка программ)

Динамические разделы изначально имеют одинаковый объем. Для загрузки есть 3 варианта выбора раздела памяти:

  • Выбирается первый подходящий раздел

  • Выбирается самый подходящий раздел

  • Выбирается самый неподходящий раздел

Происходит перегрузка (перемещение) программ из одной области памяти в другую.

Сегментное распределение памяти

При сегментном распределение памяти в ней создаются сегменты переменной длины. Каждому сегменту назначается адрес начала сегмента, длина или объем памяти и права доступа, Р – признак присутствия сегмента в оперативной памяти.

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

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