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

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

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

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

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

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

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

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

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

ОС

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

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

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

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

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

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

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

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

Р3 Р3
Р3 Р2
Р1 Р1 Р1
ОС ОС ОС ОС

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

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

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

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

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

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

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

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

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

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

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

Страничная память

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

\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Размер кратный размеру страницы
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
Размер кратный размеру страницы
ОС

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

Page frame – физический блок, размер кратен 2k.

(p, d) – логический адрес, где p – страница, d — смещение в рамках одной страницы.

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

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

p – номер виртуальной страницы

d – смещение внутри виртуальной странице

b-адресует адрес
p

p

d

Таблица страниц

Атрибуты p’
p’ d

Используя атрибуты можно организовать контроль доступа к конкретной странице и ее защиту.

Рандомно подобранные статьи с сайта:

Лекция 8: Управление памятью


Похожие статьи:

  • Управление памятью

    Функции ОС по управлению памятью Типы адресов Алгоритмы распределения памяти Распределение памяти фиксированными разделами Распределение памяти…

  • Управление памятью в windows

    Структура адресного пространства Принято считать, что каждый процесс, запущенный в Windows, получает в свое распоряжение виртуальное адресное…

  • Подсистема управления памятью в ос ms-dos

    MS-DOS – это ОС, работающая в реальном режиме процессора i86, что предполагает использование адресного пространства размером всего лишь 1 Мб. На самом…

admin