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

Содержание

Слайд 2

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

Память ПК представляет собой иерархию запоминающих устройств: разновидности памяти могут

Управления реальной памятью Память ПК представляет собой иерархию запоминающих устройств: разновидности памяти
быть объединены в иерархию по убыванию времени доступа, возрастанию цены и увеличению емкости.

Слайд 3

Иерархия запоминающих устройств
Цена одного бита

Быстродействующая память
5-8нс 10-100кб

Оперативная память RAM
10-12нс Мб-Гб

Внешняя память
милисек

Регистры СPU
2-3нс

Иерархия запоминающих устройств Цена одного бита Быстродействующая память 5-8нс 10-100кб Оперативная память
(10б)

Быстродействие

Емкость

Слайд 4

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

отслеживание свободной и занятой памяти;
выделение памяти процессам;
Защита

Функции операционной системы по управлению памятью отслеживание свободной и занятой памяти; выделение
адресных пространств процессов;
Организация виртуальной памяти;
настройка адресов на конкретную область физической памяти;

Слайд 5

Типы адресов

Символьные имена присваивает пользователь при написании программы на алгоритмическом языке или

Типы адресов Символьные имена присваивает пользователь при написании программы на алгоритмическом языке
ассемблере.
Виртуальные адреса вырабатывает транслятор, переводящий программу на машинный язык.
Физические адреса соответствуют номерам ячеек оперативной памяти, где в действительности расположены переменные и команды.
Совокупность виртуальных адресов процесса называется виртуальным адресным пространством.
Максимальный размер виртуального адресного пространства определяется разрядностью процессора и не совпадает с объемом физической памяти, имеющимся в компьютере.

Слайд 6

Способы перехода от виртуальных адресов к физическим

Перемещающийся загрузчик
Динамическое преобразование

Способы перехода от виртуальных адресов к физическим Перемещающийся загрузчик Динамическое преобразование

Слайд 7

Алгоритмы распределения памяти

1. Распределение памяти фиксированными разделами
Оперативная память разделяется на несколько разделов

Алгоритмы распределения памяти 1. Распределение памяти фиксированными разделами Оперативная память разделяется на
фиксированной величины.
Подсистема управления памятью выполняет следующие задачи:
сравнивая размер программы, поступившей на выполнение, и свободных разделов, выбирает подходящий раздел.
осуществляет загрузку программы и настройку адресов.

Слайд 8

Распределение памяти фиксированными разделами

Распространены три стратегии распределение памяти:
Первого подходящего (First fit)
Наиболее подходящего

Распределение памяти фиксированными разделами Распространены три стратегии распределение памяти: Первого подходящего (First
(Best fit)
Наименее подходящего (Worst fit)

Слайд 9

Недостатки стратегии распределение памяти фиксированными разделами

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

Недостатки стратегии распределение памяти фиксированными разделами 1. Число одновременно выполняемых процессов ограничено
разделов.
2. Наличие фрагментации - потери памяти, не используемой ни одним процессом.
Фрагментация – это наличие большого числа несмежных участков свободной памяти очень маленького размера (фрагментов).

Слайд 10

Оверлейная структура (для фиксированных разделов)

Так как размер логического адресного пространства процесса может

Оверлейная структура (для фиксированных разделов) Так как размер логического адресного пространства процесса
быть больше чем  размер выделенного ему раздела (или больше чем размер самого большого раздела), иногда используется техника, называемая оверлей (overlay) или организация структуры с перекрытием. 
Основная идея - держать в памяти только те инструкции программы, которые нужны в данный момент времени.

Слайд 11

Распределение памяти динамическими (переменными) разделами

ОЗУ делится на разделы, но границы разделов не

Распределение памяти динамическими (переменными) разделами ОЗУ делится на разделы, но границы разделов
фиксируются.
Недостаток – фрагментация памяти.

Слайд 12

Перемещаемые разделы (Сжатие). Способ борьбы с фрагментацией

Одним из методов борьбы с фрагментацией

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

Слайд 13

Защита памяти

Однозадачная ОС - в памяти размещается один пользовательский процесс.
Чтобы пользовательская программа

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

Слайд 14

Один граничный регистр
0
CPU
а
б

Регистр
Границы
а

ОС

Пользовательская программа

фрагмент

Один граничный регистр 0 CPU а б Регистр Границы а ОС Пользовательская программа фрагмент

Слайд 15

Защита памяти при мультипрограммировании с фиксированными разделами

В каждом разделе размещается один процесс.

Защита памяти при мультипрограммировании с фиксированными разделами В каждом разделе размещается один
Для защиты памяти в этом случае необходимо два регистра. Первый – регистр верхней границы (наименьший адрес) второй – регистр нижней границы (наибольший адрес).

Слайд 16

Два граничных регистра

CPU
0
а
б

ОС

Раздел N

Регистр границыа

Регистр границы б

Два граничных регистра CPU 0 а б ОС Раздел N Регистр границыа Регистр границы б

Слайд 17

Управления виртуальной памятью

Виртуальная память – это продолжение оперативной памяти на внешней памяти.
При

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

Слайд 18

Виртуальная память

В.П. может быть осуществлена на основе двух различных подходов:
свопинг (swapping) —

Виртуальная память В.П. может быть осуществлена на основе двух различных подходов: свопинг
образы процессов выгружаются на диск и возвращаются в оперативную память целиком;
виртуальная память (virtual memory) — между оперативной памятью и диском перемещаются части образов процессов.

Слайд 19

Модели виртуальной памяти

Страничная;
сегментная;
сегментно-страничная;

Модели виртуальной памяти Страничная; сегментная; сегментно-страничная;

Слайд 20

Страничная виртуальная память

Виртуальные  адресное пространство каждого процесса делится на части одинакового, фиксированного

Страничная виртуальная память Виртуальные адресное пространство каждого процесса делится на части одинакового,
размера –это виртуальные страницы. Вся ОП делится на части такового же размера – это физические страницы (page frames).
Передача информации между памятью и диском всегда осуществляется целыми страницами. Страницы имеют фиксированную длину, обычно являющуюся степенью числа 2 (512, 1024 и т.д.) и не могут перекрываться.
Для каждого процесса ОС создает таблицу страниц, в которой содержится № физической страницы, признаки присутствия, модификации, обращения.

Слайд 21

Свойства страничной организации

Объем страницы равен степени двойки.
Смещения в виртуальном и физическом адресах

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

Слайд 22

Схема преобразование виртуального адреса в физический при страничной организации
Регистр
процессора

№ номер

Схема преобразование виртуального адреса в физический при страничной организации Регистр процессора №
виртуальной страницы -p

Смещение в виртуальной страницы S

n

Начальный адрес таблицы страниц

Номер физической страницы - n

Смещение в физической страницы S

Слайд 23

Сегментное распределение

Сегментное распределение предусматривает перемещение данных сегментами - частями виртуального адресного пространства

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

Слайд 24

Сегментная организация
Таблица сегментов
Базовый адрес сегмента

Номер сегмента - g

Смещение в сегменте -

Сегментная организация Таблица сегментов Базовый адрес сегмента Номер сегмента - g Смещение
s

+

Физический адрес

Слайд 25

Cегментно-cтраничное распределение

Виртуальное адресное пространство процесса делится на сегменты (это позволяет обеспечить разные

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

Слайд 26

Странично-сегментное распределение
Таблица сегментов
таблица страниц сегмента g

№ сегмента - g

№ виртуальной страницы

Странично-сегментное распределение Таблица сегментов таблица страниц сегмента g № сегмента - g
-p

Смещение -s

g

P n

№ физической страницы - n

Смещение -s

Слайд 27

Стратегии выталкивания страниц

Если все страницы ОП оказываются занятыми, то какую-то страницу надо

Стратегии выталкивания страниц Если все страницы ОП оказываются занятыми, то какую-то страницу
удалить из ОП.
дольше всего не использовавшаяся страница, делается вывод о том, что она не будет использована в ближайшее время;
первая попавшаяся страница (случайный выбор);
страница, к которой в последнее время было меньше всего обращений;