Управление памятью компьютера. Простые схемы управления памятью презентация

Содержание

Слайд 2

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

Иерархия памяти

Регистры

Кэш

Оперативная память

Вторичная память

Стоимость одного бита

Время доступа
Объем

Управляется ОС

Управляется менеджером памяти

Слайд 3

Принцип локальности связан с особенностями человеческого мышления

Большинство реальных программ в течение некоторого отрезка

времени работает с небольшим набором адресов памяти – это принцип локальности

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

Принцип локальности

Слайд 4

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

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

Человеку свойственно символическое мышление. Адреса (имена) переменных описываются идентификаторами, формируя символьное адресное пространство

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

Проблема разрешения адресов

Как ?

Когда ?

Слайд 5

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

Связывание адресов

Исходная программа

Компилятор

Объектный модуль

Другие объектные модули

Редактор связей

Загрузочный модуль

Системные библиотеки

Загрузчик

Двоичный образ в памяти

Динамически загружаемые библиотеки

Процессор и БУП

Этап компиляции

Этап выполнения

Этап загрузки

Слайд 6

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

Символьное адресное

пространство – совокупность всех допустимых идентификаторов переменных

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

Логическое адресное пространство

Логическое адресное пространство – совокупность всех допустимых адресов, с которыми работает процессор

Слайд 7

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

Функции ОС и hardware

Отображение логического адресного пространства процесса на физическое адресное пространство
Распределение

памяти между конкурирующими процессами
Контроль доступа к адресным пространствам процессов
Выгрузка процессов (целиком или частично) во внешнюю память
Учет свободной и занятой памяти

Слайд 8

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

Однопрограммная система

0

ОС

max

ОС

Процесс пользователя

Процесс пользователя

Слайд 9

Оверлейная структура
Программа разбивается на несколько частей. Постоянно в памяти находится только загрузчик оверлеев,

небольшое количество общих данных и процедур, а части загружаются по очереди
Динамическая загрузка процедур
Процедуры загружаются в память только по мере необходимости, после обращения к ним

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

Организация больших программ

Оба способа основаны на применении принципа локальности

Слайд 10

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

Фиксированные разделы

0

ОС

Раздел 1

max

Раздел 2

Раздел 3

Очереди заданий

1

2

3

Слайд 11

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

Фиксированные разделы

0

ОС

Раздел 1

max

Раздел 2

Раздел 3

Очередь заданий

Задание 1

3адание 2

Задание 3

Задание 4

Процесс

1

Процесс 2

Процесс 3

Слайд 12

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

Фиксированные разделы

0

ОС

Раздел 1

max

Раздел 2

Раздел 3

Задание 4

Процесс 1

Процесс 2

Процесс 3

Внутренняя фрагментация

– «потеря» части памяти, выделенной процессу, но не используемой им

Слайд 13

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

Динамические разделы

0

1000

ОС

200

Очередь заданий

Память

1

200

10

2

300

5

3

250

20

4

250

8

5

70

15

P1
время 10

400

P2
время 5

700

P3
время 20

950

Слайд 14

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

Динамические разделы

0

1000

ОС

200

Очередь заданий

Память

4

250

8

5

70

15

P1
время 5

400

700

P3
время 16

950

P4
время 8

650

Слайд 15

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

Динамические разделы

0

1000

ОС

200

Очередь заданий

Память

5

70

15

400

700

P3
время 11

950

P4
время 4

650

P5

270

Слайд 16

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

Динамические разделы

Стратегии размещения нового процесса в памяти
Первый подходящий (first-fit). Процесс

размещается в первое подходящее по размеру пустое место
Наиболее подходящий (best-fit). Процесс размещается в наименьшее подходящее по размеру пустое место
Наименее подходящий (worst-fit). Процесс размещается в наибольшее пустое место

Слайд 17

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

Динамические разделы

0

1000

ОС

200

Очередь заданий

Память

5

70

15

P1
время 5

400

700

P3
время 16

950

P4
время 8

650

Слайд 18

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

Динамические разделы

0

1000

ОС

200

Внешняя фрагментация – невозможность использования памяти, неиспользуемой процессами, из-за

ее раздробленности

P1
время 5

400

700

P3
время 16

950

P4
время 8

650

Память

Слайд 19

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

Динамические разделы

0

1000

ОС

200

Очередь заданий

Сборка мусора

5

70

15

P1
время 5

400

700

P3
время 16

950

P4
время 8

650

P3
время 16

900

P5

970

Слайд 20

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

Динамические разделы

0

1000

ОС

200

Сборка мусора

P1
время 5

400

P3
время 16

P4
время 8

650

P3
время 16

900

P5

970

CPU

Память

Сегментный регистр

+

Логический адрес

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

БУП (MMU)

Слайд 21

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

Динамические разделы

0

1000

ОС

200

P1

400

700

P3

950

P4

698

Память

P4

Возможна и внутренняя фрагментация при почти полном заполнении процессом

пустого фрагмента

Слайд 22

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

Линейное непрерывное отображение

Логическое адресное пространство

0

100

Физическое адресное пространство

N

N+100

Слайд 23

Кусочно-непрерывное отображение

Страничная организация памяти

Логическое адресное пространство

Физическое адресное пространство

Page 0

Page 1

Page 2

Page 3

Логический адрес = Npage*size + offset
(Npage, offset)

Кадр

0

Кадр 1

Кадр 2

Кадр 3

Кадр 4

Кадр 5

Кадр 6

Кадр 7

Физический адрес = Nframe*size + offset
(Nframe, offset)

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

0

1

2

3

4

5

7

1

Npage -> Nframe

Свойственна внутренняя фрагментация

Слайд 24

Кусочно-непрерывное отображение

Страничная организация памяти

Процессор

Память

Логический адрес

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

offset

offset

Npage

Nframe

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

MMU (БУП)

Атрибуты (биты управления доступом)

Слайд 25

Кусочно-непрерывное отображение

Сегментная организация памяти

Логическое адресное пространство

Физическое адресное пространство

Логический адрес – двумерный = (Nseg, offset)

Физический адрес - одномерный =

Начало(Nseg) + offset

Свойственна внешняя фрагментация

Сегмент 0

Сегмент 1

Сегмент 2

0

0

0

0

Таблица сегментов

0

1

2

Начало(Nseg)

Начало(0)

Начало(1)

Начало(2)

Слайд 26

Кусочно-непрерывное отображение

Сегментная организация памяти

Процессор

Память

Логический адрес

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

offset

Nseg

Таблица сегментов

Максимальный размер сегмента

+

Слайд 27

Кусочно-непрерывное отображение

Сегментная организация памяти

Процессор

Память

Логический адрес

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

offset

Nseg

Таблица сегментов

MMU (БУП)

Максимальный размер сегмента

offset <= Размер?

+

да

нет

Ошибка

Атрибуты (биты управления доступом)

Слайд 28

Кусочно-непрерывное отображение

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

Логическое адресное пространство

Физическое адресное пространство

Логический адрес – двумерный = (Nseg, soffset)
soffset = Np*size+poffset
(Nseg, Np, poffset)

Сегмент

0

Сегмент 1

0

Таблица сегментов

p0

p1

p2

p3

p4

p0

p1

p2

к0

к1

к2

к3

к4

к5

к6

к7

к8

к9

к10

к11

к12

к13

к14

к15

Физический адрес – линейный = Nframe*size + offset
(Nframe, offset)

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

Сегмент 0

Сегмент 1

0 1 2

0 1 2 3 4

0 1

(Nseg, Np) -> Nframe

0

0

L0

L1

Слайд 29

Soffset

Poffset

Кусочно-непрерывное отображение

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

Процессор

Память

Логический адрес

Soffset

Nseg

Максимальный размер сегмента

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

offset

Nframe

Таблица сегментов

Soffset в сегменте <= размер ?

нет

Ошибка

да

Размер страницы

Npage

Таблица

страниц

Слайд 30

Кусочно-непрерывное отображение

Многоуровневая таблица страниц

Логическое адресное пространство процесса

Физическое адресное пространство

Page 0

Page 1

Page 2

Page 3

Кадр 0

Кадр 1

Кадр 2

Кадр

3

Кадр 4

Кадр 5

Кадр 6

Кадр 7

Таблица страниц процесса

0

1

2

3

Таблица страниц процесса располагается в физическом адресном пространстве.
При больших размерах таблицы страниц её размещение в последовательных кадрах памяти проблематично.

Слайд 31

Кусочно-непрерывное отображение

Многоуровневая таблица страниц

Page 0

Page 1

Page 2

Page 3

0

1

2

3

Возникает двухуровневая таблица страниц.

Таблица страниц процесса (page

table)

Таблица страниц для таблицы страниц процесса

Физическое адресное пространство

Кадр 0

Кадр 1

Кадр 2

Кадр 3

Кадр 4

Кадр 5

Кадр 6

Кадр 7

Слайд 32

Кусочно-непрерывное отображение

Многоуровневая таблица страниц

p1

p1

При двухуровневой организации таблицы страниц логический адрес процесса описывается тройкой

(p1, p2, d)

Таблица страниц процесса (page table)

Таблица страниц для таблицы страниц процесса

Физическое адресное пространство

p

Esize

p2

Лог. адрес процесса = (p, d)

p = p1*Esize + p2

p2

d

d

p

p1

p2

Слайд 33

Кусочно-непрерывное отображение

Ассоциативная память (TLB)

Процессор

Память

Логический адрес

offset

page

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

offset

Кадр

TLB

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

Слайд 34

Кусочно-непрерывное отображение

Ассоциативная память (TLB)

Расчет среднего времени доступа к данному

Обозначения:
t0 – среднее время

доступа к оперативной памяти
t1 – среднее время доступа к TLB
h – вероятность наличия информации в TLB (hit ratio)

Среднее время доступа к данному при двухуровневой страничной схеме – это:
T =

+ h*t0

t1

+ (1-h)*3t0

Имя файла: Управление-памятью-компьютера.-Простые-схемы-управления-памятью.pptx
Количество просмотров: 66
Количество скачиваний: 0