284.75K
Category: informaticsinformatics

Распределение памяти

1.

Распределение памяти

2.

Методы распределения памяти с использованием
дискового пространства
•Страничный - перемещение данных между памятью и
диском происходит частями фиксированного размера.
•Сегментная - перемещение данных между памятью и
диском происходит частями виртуального адресного
пространства произвольного размера, полученными с
учетом смыслового значения данных.
•Сегментно-страничная - способ управления памятью
объединяет в себе элементы обоих предыдущих
подходов.
Слайд № 2

3.

Страничное
распределение
•Виртуальное адресное пространство и вся оперативная
память делится на части одинакового, фиксированного
для данной системы размера, которые называются
виртуальными и физическими страницами
соответственно.
•При загрузке каждого процесса операционная система
создаёт таблицу страниц – специальную
информационную структуру, элемент которой
называется десктриптор страницы.
Слайд № 3

4.

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

5.

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

6.

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

7.

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

8.

Страничное
распределение
Если в памяти имеется свободная физическая
страница, то загрузка выполняется немедленно, если же
свободных страниц нет, то решается вопрос, какую
страницу следует выгрузить из оперативной памяти.
Критерии выбора:
1)
дольше всего не использовавшаяся страница;
2)
первая попавшаяся страницa;
3)
страница, к которой в последнее время было
меньше всего обращений.
Слайд № 8

9.

Страничное
•После того, распределение
как выбрана страница, которая должна
покинуть оперативную память, анализируется ее
признак модификации (из таблицы страниц).
•Если выталкиваемая страница с момента загрузки была
модифицирована, то ее новая версия переписывается
на диск иначе физическая страница объявляется
свободной.
Слайд № 9

10.

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

11.

Страничное распределение: cпособы
повышения производительности
•1) увеличение размера страницы – приводит к
уменьшению частоты страничных прерываний и
размера таблицы страниц, т.е. уменьшается затраты
времени и оперативной памяти. Однако, при
увеличении размера страницы увеличивается и
фиктивная область в последней виртуальной странице
каждой программы.
•2) размещение таблицы страниц в "быстрых"
запоминающих устройствах, т.е. уменьшается время
доступа к таблице страниц.
Слайд № 11

12.

Страничное распределение
Виртуальное адресное
пространство процесса 1
Таблица страниц
процесса 1
Nср.с
Виртуальные
страницы
0
Физическая память
0
Упр. инф.
1
Стр. 3, пр.1
1
0
5
2
1
ВП
3
3
2
10
4
5
4
3
2
Стр. 0, пр.1
2
6
7
Виртуальное адресное
пространство процесса 2
Таблица страниц
процесса 2
Nср.с
Виртуальные
страницы
0
Упр. инф.
Стр. 0, пр.2
9
Стр. 2, пр.1 10
Стр. 3, пр.2 11
1
0
8
12
2
1
ВП
13
3
2
ВП
14
4
3
11
15
..
.
Страничный
обмен
Слайд № 12
8
Дисковая память
16

13.

Двоичное представление адресов
Слайд № 13

14.

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

15.

Схема преобразования
виртуального адреса в физический
к двоичных разрядов
Виртуальный адрес
Номер виртуальной
страницы - р
№ вирт.
страницы
№ физич.
страницы
р
Номер физической
страницы - n
Слайд № 15
Смещение в виртуальной
странице - S
Физический адрес
Размер
к
страницы 2
n
Смещение в физической
странице - S
к двоичных разрядов

16.

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

17.

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

18.

Особенности функционирования
системы с сегментной
организацией
•1) при
отсутствии нужных сегментов в памяти
происходит прерывание для обработки возникшей
исключительной ситуации, т.е. необходимые сегменты
загружаются из внешней памяти;
•2) при необходимости освобождения памяти по
определенному алгоритму определяются сегменты,
которые выгружаются на диск;
•3) при каждом обращении к оперативной памяти
выполняется преобразование виртуального адреса в
физический.
•4) при обращении к памяти проверяется, разрешен ли
доступ требуемого типа к данному сегменту.
Слайд № 18

19.

Особенности функционирования
системы с сегментной организацией
Недостатком данного метода распределения памяти
является фрагментация на уровне сегментов и более
медленное по сравнению со страничной организацией
преобразование адреса.
Слайд № 19

20.

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

21.

Сегментное распределение
Виртуальное адресное
пространство процесса А
Таблица сегментов
процесса А
Сегмент 0
0
Сегмент 1
1
Сегмент 2
ОС
Сегмент 0
процесса А
2
Выгружен
3
Выгружен
Сегмент 3
Разделенный
сегмент
Виртуальное адресное
пространство процесса В
Слайд № 21
Таблица сегментов
процесса В
Сегмент 0
0
Сегмент 1
1
Сегмент 2
Сегмент 1 процесса А
и
сегмент 2 процесса В
2
Выгружен
Сегмент 0
процесса В

22.

Сегментно-страничное
распределение
•Виртуальное пространство процесса делится на
сегменты, а каждый сегмент в свою очередь делится на
виртуальные страницы, которые нумеруются в пределах
сегмента.
•Оперативная память делится на физические страницы.
•Загрузка процесса выполняется операционной
системой постранично, при этом часть страниц
размещается в оперативной памяти, а часть на диске.
Слайд № 22

23.

Сегментно-страничное
распределение
•Для каждого сегмента создается своя таблица страниц,
структура которой полностью совпадает со структурой
таблицы страниц, используемой при страничном
распределении.
•Для каждого процесса создается таблица сегментов, в
которой указываются адреса таблиц страниц для всех
сегментов данного процесса.
•Адрес таблицы сегментов загружается в специальный
регистр процессора, когда активизируется
соответствующий процесс.
Слайд № 23

24.

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

25.

Схема преобразования виртуального адреса в физический для
№ виртуальной
сегментно-страничной№организации
сегмента - g
Смещение - S
страницы - n
Таблица сегментов
g
Таблица страниц
сегментов g
p
№ физической
страницы - т
n
Смещение - s
Физический адрес
Слайд № 25

26.

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

27.

Сегментно-страничное
распределение
•Достоинства:
•- эффективное использование памяти
•- минимальная фрагментация
Слайд № 27
English     Русский Rules