Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по операционным системам.doc
Скачиваний:
91
Добавлен:
02.05.2014
Размер:
344.06 Кб
Скачать

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

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

-отображение адресного пространства процесса на конкретные области физической памяти

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

-контроль доступа к адресному пространству процесса

-выгрузка процессов (целиком или частично) во внешнюю память когда в ОП недостаточно места

-учет свободной и занятой памяти

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

Для выбора стратегии распространены три стратегии:

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

-Стратегия наиболее подходящего (best fit) процесс помещается в тот раздел где после его загрузки останется меньше всего свободного места

-Стратегия наименее подходящего (Worst fit). При помещении в самый большой раздел в нем остается достаточно места для размещения еще одного процесса.

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

Перечисленные стратегии широко применяются и другими компонентами ОС, например для размещения файлов на диске.

Недостатки этой схемы:

  1. число одновременно выполняемых процессов ограничено числом разделов

  2. схема страдает от внутренней фрагментации – потери части памяти, выделенной процессу но не используемой им.

34.Оверлейная структура (Overlay)

В случае когда размер логического адресного пространства процесса может быть больше чем размер выделенного ему раздела. Используется техника называемая Overlay или организация структуры перекрытием. Основная идея держать в памяти только те инструкции программы которые нужны в данный момент.

Организация структуры с перекрытием:

Program A Subroutine C

…… ……

Call B Call D

…… ……

Call C Call E

Можно поочередно загружать в память ветви АВ, АСD, ACE в программу. Коды ветвей Overlay структуры находятся на диске как абсолютные образы памяти и считываются деревьями Overlay при необходимости.

Для описания Overlay структуры используются специальный язык. (Overlay Description Language (ODL)) (.odl) Совокупность файлов использующие программы заполняются файлами с расширением .odl. Описывающих дерево вызовов внутри программы A – (B,C) C – (D,Е). В современных 32-х разрядных системах, где виртуальное адресное пространство измеряется гигабайтами проблемы с нехваткой памяти решаются другими способами.