Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС_лекции.docx
Скачиваний:
23
Добавлен:
22.02.2015
Размер:
109.07 Кб
Скачать

8.3 Связывание адресов

Логическое и физическое адресные пространства ни по организации, ни по размеру не соответствуют друг другу => процессор и ОС д/б способны отобразить ссылки на адреса в коде программы в реальные физические адреса, соответствующие текущему положению программы в основной памяти. Такое отображение адресов называют трансляцией(привязкой адреса или связыванием адресов).

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

  • Этап компиляции – когда знаем куда загружать

  • Этап загрузки – отсутствует информация о размещении программ на стадии компиляции, окончательное связывание откладывается до момента загрузки

  • Этап выполнения – если процесс м/б перемещен во время выполнения из одной области памяти в другую, связывание откладывается до стадии выполнения

8.4 Функции системы управления памятью

При использовании памяти ОС должна выполнять следующие функции:

  1. Отображать адрес пространства процесса (логический адрес) на конкретную область оперативной памяти

  2. Распределение памяти между конкурирующими процессами

  3. Контроль доступа к адресным пространствам процессора

  4. Выгрузка процессов во внешнюю память, если оперативной памяти не достаточно

  5. Учет свободной и занятой памяти

8.5 Простейшие схемы управления памятью

8.5.1 Схема с фиксированными разделами

ОС




8.5.1.2 Овирлейная (overlay) структура

Если размер логического адресного пространства процесса превышает размер выделенной ему оперативной памяти.

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

8.5.4 Динамическое распределение памяти (swapping)

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

Swappingсвязан с системой планирования заданий.

8.5.5 Схема с переменными разделами

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

Р3

Р3

Р3

Р2

Р1

Р1

Р1

ОС

ОС

ОС

ОС

Возможны три стратегии размещения процессов в памяти с переменными разделами:

  1. Стратегия первого подходящего (First fit) – процесс помещается в первый подходящий по размеру раздел

  2. Стратегия наиболее подходящего (Best fit) – процесс помещается в тот свободный раздел, в котором меньше всего остается свободного места

  3. Стратегия наименее подходящего (Worstfit) – вновь поступающая задача размещается в самом большом разделе; расчет:

    1. на то, что в большом разделе останется достаточно памяти для других задач;

    2. на то, что можно быстрее разместить задачу в разделе

Эти стратегии используются при загрузке файлов на диски.

Типовой цикл работы менеджера памяти следующий:

  • Анализ запроса на выделение свободного участка

  • Выбор среди имеющихся свободных участков памяти для загрузки в него поступающего процесса

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

  • Изменение таблиц учета свободных и занятых участков памяти

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

Идеальный вариант – фрагментация должна отсутствовать.