Слайд 2Под памятью (memory) в данном случае подразумевается оперативная (основная) память компьютера. В однопрограммных операционных
системах основная память разделяется на две части. Одна часть для операционной системы (резидентный монитор, ядро), а вторая – для выполняющейся в текущий момент времени программы. В многопрограммных ОС "пользовательская" часть памяти – важнейший ресурс вычислительной системы – должна быть распределена для размещения нескольких процессов, в том числе процессов ОС.
Слайд 4Функциями ОС по управлению памятью в мультипрограммных системах являются:
- отслеживание (учет) свободной и занятой
памяти;
- первоначальное и динамическое выделение памяти процессам приложений и самой операционной системе и освобождение памяти по завершении процессов;
- настройка адресов программы на конкретную область физической памяти;
- полное или частичное вытеснение кодов и данных процессов из ОП на диск, когда размеры ОП недостаточны для размещения всех процессов, и возвращение их в ОП;
- защита памяти, выделенной процессу, от возможных вмешательств со стороны других процессов;
- дефрагментация памяти.
Слайд 5Типы адресов
Символьное адресное пространство – совокупность всех допустимых идентификаторов переменных
Логическое адресное пространство
– совокупность всех допустимых адресов, с которыми работает процессор.
Физическое адресное пространство – совокупность всех доступных физических адресов в вычислительной системе
Слайд 8Схема
с фиксированными разделами
ОС
0
Раздел 1
Раздел 2
Раздел 3
Задание 1
Задание 2
Задание 3
Задание 4
Очередь заданий
Процесс 1
Процесс 2
Процесс 3
Слайд 9Распределение памяти фиксированными разделами
Память разбивается на несколько областей фиксированной величины, называемых
разделами.
Очередной новый процесс, поступивший на выполнение, помещается в очередь к некоторому разделу.
Слайд 10При использовании разделов с одинаковым размером имеются две проблемы.
Программа может быть слишком
велика для размещения в разделе. В этом случае программист должен разрабатывать программу, использующую оверлеи, чтобы в любой момент времени требовался только один раздел памяти. Когда требуется модуль, отсутствующий в данный момент в ОП, пользовательская программа должна сама его загрузить в раздел памяти программы. Таким образом, в данном случае управление памятью во многом возлагается на программиста.
Использование ОП крайне неэффективно. Любая программа, независимо от ее размера, занимает раздел целиком. При этом могут оставаться неиспользованные участки памяти большого размера. Этот феномен появления неиспользованной памяти называется внутренней фрагментацией (internal fragmentation).
Слайд 11Преимущество: простота реализации.
Недостаток: жесткость, в каждом разделе может выполняться только один процесс.
Применялся
в ранних мультипрограммных ОС.
Слайд 12Внутренняя фрагментация
ОС
0
Раздел 1
Раздел 2
Раздел 3
Процесс 1
Процесс 2
Процесс 3
Внутренняя фрагментация – «потеря» части
памяти, выделенной процессу, но не используемой им
Слайд 13Распределение памяти динамическими разделами
Слайд 14 Функции операционной системы
Ведение таблиц свободных и занятых областей.
Анализ требований
к памяти, просмотр таблицы свободных областей и выбор раздела, размер которого достаточен для размещения кодов и данных нового процесса.
Загрузка программы в выделенный ей раздел и корректировка таблиц свободных и занятых областей.
После завершения процесса корректировка таблиц свободных и занятых областей.
Слайд 15Выбор раздела может осуществляться по разным правилам:
Первый подходящий (first-fit). Процесс
размещается в первое подходящее по размеру пустое место.
Наиболее подходящий (best-fit). Процесс размещается в наименьшее подходящее по размеру пустое место.
Наименее подходящий (worst-fit). Процесс размещается в наибольшее пустое место.
Слайд 16Схема с динамическими разделами
ОС
0
200
1000
Очередь заданий
P1
время 10
400
700
P3
время 20
950
P4
время 8
650
Слайд 17Внешняя фрагментация – невозможность использования памяти, неиспользуемой процессами, из-за ее раздробленности
Возможна и
внутренняя фрагментация при почти полном заполнении процессом пустого фрагмента
Слайд 18Перемещаемые разделы
Для устранения фрагментации все занятые участки перемещаются в сторону старших или
младших адресов, так, чтобы вся свободная память образовала единую свободную область