Основы операционных систем

Содержание

Слайд 2

Часть III. Управление памятью Лекция 8. Простейшие схемы управления памятью

Часть III. Управление памятью

Лекция 8. Простейшие схемы управления памятью

Слайд 3

Иерархия памяти Вторичная память Оперативная память Кэш Регистры Стоимость одного бита

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

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

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

Кэш

Регистры

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

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

Объем

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

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

Слайд 4

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

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

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

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

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

Слайд 5

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

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

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

формируя символьное адресное пространство

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

Как ?

Когда ?

Слайд 6

Связывание адресов Другие объектные модули Загрузчик Двоичный образ в памяти Системные

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

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

Загрузчик

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

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

Динамические библиотеки

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

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

Компилятор

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

Редактор

связей

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

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

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

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

Слайд 7

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

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

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

Логическое

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

Функции ОС и hardware для управления памятью Отображение логического адресного пространства

Функции ОС и hardware для управления памятью

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

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

Однопрограммная вычислительная система ОС ОС 0 Процесс пользователя Процесс пользователя

Однопрограммная вычислительная система

ОС

ОС

0

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

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

Слайд 10

Схема с фиксированными разделами ОС 0 Раздел 1 Раздел 2 Раздел

Схема с фиксированными разделами

ОС

0

Раздел 1

Раздел 2

Раздел 3

Задание 1

Задание 2

Задание 3

Задание 4

Очередь

заданий

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




Процесс 1

Процесс 2

Процесс 3

Слайд 11

Внутренняя фрагментация ОС 0 Раздел 1 Раздел 2 Раздел 3 Процесс

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

ОС

0

Раздел 1

Раздел 2

Раздел 3

Процесс 1

Процесс 2

Процесс 3

Внутренняя фрагментация – «потеря»

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

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

Способы организации больших программ

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

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

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

Слайд 13

Схема с динамическими разделами ОС 0 200 1000 Очередь заданий 1

Схема с динамическими разделами

ОС

0

200

1000

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

1

2

3

4

5

200

300

250

10

5

20

250

70

8

15

P1 время 10

400

P2 время 5

700

P3 время 20

950

P4 время 8

650

P1 время 5

P3 время 16

P3 время

11

P4 время 4

P5

270

Слайд 14

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

Схема с динамическими разделами

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

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

Схема с динамическими разделами ОС 0 200 1000 Очередь заданий 5

Схема с динамическими разделами

ОС

0

200

1000

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

5

70

15

P1 время 5

400

700

P3 время 16

950

P4 время 8

650

Слайд 16

Схема с динамическими разделами ОС 0 200 1000 P1 время 5

Схема с динамическими разделами

ОС

0

200

1000

P1 время 5

400

700

P3 время 15

950

P4 время 8

650

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

памяти, неиспользуемой процессами, из-за ее раздробленности

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

Слайд 17

Схема с динамическими разделами ОС 0 200 1000 400 700 950

Схема с динамическими разделами

ОС

0

200

1000

400

700

950

P4

650

P5

270

520

770

P3

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

CPU

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

+

Память

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

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

MMU – БУП

Слайд 18

Линейное непрерывное отображение Логическое адресное пространство Физическое адресное пространство 0 100 N N+100

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

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

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

0

100

N

N+100

Слайд 19

Линейное кусочно-непрерывное отображение Логическое адресное пространство Физическое адресное пространство Page 0

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

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

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

Page 0

Page 1

Page 2

Page 3

Page 4

Кадр 0

Кадр 1

Кадр 2

Кадр

3

Кадр 4

Кадр 5

Кадр 6

Кадр 7

Кадр 8

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

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

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

0

1

2

3

4

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

3

4

6

7

1

Npage -> Nframe

Серый цвет – занятое место

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

Слайд 20

Линейное кусочно-непрерывное отображение Страничная организация памяти CPU Логический адрес offset page

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

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

CPU

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

offset

page

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

кадр

Память

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

offset

кадр

MMU

атрибуты

Слайд 21

Линейное кусочно-непрерывное отображение Логическое адресное пространство Физическое адресное пространство Логический адрес

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

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

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

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

Физический адрес линейный

= физический адрес начала сегмента + offset

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

Сегмент 1

Сегмент 2

Сегмент 3

Серый цвет – занятое место

0

0

0

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

Слайд 22

Линейное кусочно-непрерывное отображение Сегментная организация памяти CPU Логический адрес offset Nseg

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

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

CPU

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

offset

Nseg

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

Память

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

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

+

Слайд 23

Линейное кусочно-непрерывное отображение Сегментная организация памяти CPU Логический адрес offset Nseg

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

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

CPU

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

offset

Nseg

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

Память

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

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

Offset <= размер

+

ошибка

нет

да