Слайд 3
Функции ОС по управлению памятью в мультипрограммной системе
отслеживание свободной и занятой памяти,
выделение памяти процессам и освобождение
памяти по завершении процессов,
недостаток объема оперативной памяти,
фрагментация,
настройка адресов программы на конкретную область физической памяти,
защита памяти.
Слайд 4
Типы адресов
Символьное адресное пространство – совокупность всех допустимых
идентификаторов переменных
Логическое адресное пространство – совокупность всех допустимых адресов,
с которыми работает процессор.
Физическое адресное пространство – совокупность всех доступных физических адресов в вычислительной системе
Слайд 5
Однопрограммная вычислительная система
ОС
ОС
0
Процесс
пользователя
Процесс
пользователя
Слайд 7
Схема
с фиксированными разделами
ОС
0
Раздел 1
Раздел 2
Раздел 3
Задание 1
Задание
2
Задание 3
Задание 4
Очередь заданий
Процесс 1
Процесс 2
Процесс
3
Слайд 8
Распределение памяти фиксированными разделами
Память разбивается на несколько
областей фиксированной величины, называемых разделами.
Очередной новый процесс, поступивший
на выполнение, помещается в очередь к некоторому разделу.
Слайд 9
Преимущество: простота реализации.
Недостаток: жесткость, в каждом разделе может
выполняться только один процесс.
Применялся в ранних мультипрограммных ОС.
Слайд 10
Внутренняя фрагментация
ОС
0
Раздел 1
Раздел 2
Раздел 3
Процесс 1
Процесс 2
Процесс 3
Внутренняя
фрагментация – «потеря» части памяти, выделенной процессу, но не
используемой им
Слайд 11
Способы организации больших программ
Оверлейная структура
Программа разбивается на несколько
частей. Постоянно в памяти находится только загрузчик оверлеев, небольшое
количество общих данных и процедур, а части загружаются по очереди
Динамическая загрузка процедур
Процедуры загружаются в память только по мере необходимости, после обращения к ним
Слайд 12
Распределение памяти динамическими разделами
Слайд 13
Функции операционной системы
Ведение таблиц свободных и занятых
областей.
Анализ требований к памяти, просмотр таблицы свободных областей и
выбор раздела, размер которого достаточен для размещения кодов и данных нового процесса.
Загрузка программы в выделенный ей раздел и корректировка таблиц свободных и занятых областей.
После завершения процесса корректировка таблиц свободных и занятых областей.
Слайд 14
Выбор раздела может осуществляться по разным правилам:
Первый
подходящий (first-fit). Процесс размещается в первое подходящее по размеру
пустое место.
Наиболее подходящий (best-fit). Процесс размещается в наименьшее подходящее по размеру пустое место.
Наименее подходящий (worst-fit). Процесс размещается в наибольшее пустое место.
Слайд 15
Схема с динамическими разделами
ОС
0
200
1000
Очередь заданий
P1
время 10
400
700
P3
время 20
950
P4
время 8
650
Слайд 16
Внешняя фрагментация – невозможность использования памяти, неиспользуемой процессами,
из-за ее раздробленности
Возможна и внутренняя фрагментация при почти полном
заполнении процессом пустого фрагмента
Слайд 17
Перемещаемые разделы
Для устранения фрагментации все занятые участки перемещаются
в сторону старших или младших адресов, так, чтобы вся
свободная память образовала единую свободную область
Слайд 18
Распределение памяти перемещаемыми разделами
Слайд 19
Свопинг и виртуальная память
Виртуализация решает следующие задачи:
размещение данных в запоминающих устройствах разного типа;
выбор
образов процессов или их частей для перемещения из оперативной памяти на диск и обратно;
перемещение по мере необходимости данных между памятью и диском;
преобразование виртуальных адресов в физические.
Слайд 20
Подходы к организации виртуальной памяти:
свопинг (swapping) —
образы процессов выгружаются на диск и возвращаются в оперативную
память целиком;
виртуальная память (virtual memory) — между оперативной памятью и диском перемещаются части (сегменты, страницы и т. п.) образов процессов.
Слайд 21
Способы реализации виртуальной памяти:
1. Страничная виртуальная память –
организует перемещение данных между ОП и диском страницами –
частями виртуального адресного пространства фиксированного и сравнительно небольшого размера.
Слайд 22
Страничная организация виртуальной памяти
Виртуальное адресное пространство процесса 1
Виртуальное
адресное пространство процесса 2
Виртуальные страницы
Виртуальные страницы
0
1
2
.
.
k
n
0
1
2
Таблица страниц процесса 1
Nф.с.
P
A
D
W
P
A
Таблица
страниц процесса 2
Nф.с.
D
W
Магнитный диск
Физическая память
0123456789 . . . .
01234
5
ВП
ВП
9
2
Страничный обмен
1
1
1
0
Стр. 4 процесса 1
Стр. 3 процесса 1
01234
3
Стр. 1 процесса 2
Стр. 0 процесса 1
1
0
0
1
Слайд 23
Виртуальное адресное пространство каждого процесса делится на части
одинакового, фиксированного для данной системы размера, называемые виртуальными страницами.
Вся
оперативная память также делится на части такого же размера, называемые физическими страницами.
Слайд 24
При создании процесса ОС загружает в оперативную память
несколько его виртуальных страниц (начальные страницы кодового сегмента и
сегмента данных). Копия всего виртуального адресного пространства процесса находится на диске. Смежные виртуальные страницы не обязательно располагаются в смежных физических страницах.
Для каждого процесса операционная система создает таблицу страниц – информационную структуру, содержащую записи обо всех виртуальных страницах процесса.
Слайд 25
Запись таблицы включает:
номер физической страницы, в которую
загружена данная виртуальная страница;
признак присутствия, устанавливаемый в единицу, если
виртуальная страница находится в оперативной памяти;
признак модификации страницы, который устанавливается в единицу всякий раз, когда производится запись по адресу, относящемуся к данной странице;
признак обращения к странице, называемый также битом доступа, который устанавливается в единицу при каждом обращении по адресу, относящемуся к данной странице.
Слайд 26
Способы реализации виртуальной памяти:
2. Сегментная память
Сегментная виртуальная память
предусматривает перемещение данных сегментами – частями виртуального адресного пространства
произвольного размера, полученного с учетом смыслового значения данных.
Слайд 27
Виртуальный адрес
Номер сегмента - N
Смещение - S
+
Физический адрес
Таблица
сегментов
Базовый адрес
Размер
Управляющая информация
Управляющая информация:
P – присутствие; M – модификация; U – использование; Sh – разделение; S – защита.
Слайд 28
При загрузке процесса в оперативную память помещается только
часть его сегментов, полная копия виртуального адресного пространства находится
в дисковой памяти. Для каждого загружаемого сегмента ОС отводит непрерывный участок свободной памяти достаточного размера.
Слайд 29
Таблица сегментов
базовый физический адрес начала сегмента в оперативной
памяти;
размер сегмента;
правила доступа к сегменту;
признаки модификации, присутствия и обращения
к данному сегменту и др. информация.
Слайд 30
Недостатки сегментной организации
1. Увеличение времени преобразования виртуального адреса
в физический.
2. Избыточность перемещаемых данных.
3. Внешняя фрагментация
памяти.
Слайд 31
Способы реализации виртуальной памяти:
3. Сегментно-страничная виртуальная память использует
двухуровневое деление: виртуальное адресное пространство делится на сегменты, а
затем сегменты делятся на страницы. Единицей перемещения данных является страница.