Скачать презентацию Основы операционных систем Часть III Управление памятью Скачать презентацию Основы операционных систем Часть III Управление памятью

3-1 Простейшие схемы управления памятью.ppt

  • Количество слайдов: 24

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

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

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

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

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

Связывание адресов Этап компиляции Исходная программа Динамические библиотеки Другие объектные модули Компилятор Объектный модуль Связывание адресов Этап компиляции Исходная программа Динамические библиотеки Другие объектные модули Компилятор Объектный модуль Редактор связей Процессор и БУП Двоичный образ в памяти Загрузчик Этап выполнения Этап загрузки Загрузочный модуль Системные библиотеки

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

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

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

Схема с фиксированными разделами 0 Раздел 1 Раздел 2 Очереди заданий Очередь заданий ОС Схема с фиксированными разделами 0 Раздел 1 Раздел 2 Очереди заданий Очередь заданий ОС Процесс 1 Процесс 2 Процесс 3 Задание 1 Задание 2 Задание 3 Раздел 3 Задание 4

Внутренняя фрагментация 0 Раздел 1 Раздел 2 ОС Процесс 1 Процесс 2 Процесс 3 Внутренняя фрагментация 0 Раздел 1 Раздел 2 ОС Процесс 1 Процесс 2 Процесс 3 Раздел 3 Внутренняя фрагментация – «потеря» части памяти, выделенной процессу, но не используемой им

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

Схема с динамическими разделами ОС 0 P 1 P 5 время 10 200 270 Схема с динамическими разделами ОС 0 P 1 P 5 время 10 200 270 P 4 P 2 4 время 8 5 время 400 P 3 время 11 16 20 650 700 950 1000 Очередь заданий № 1 2 3 4 5 память 200 300 250 70 время 10 5 20 8 15

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

Схема с динамическими разделами P 1 время 5 ОС 0 200 P 4 время Схема с динамическими разделами P 1 время 5 ОС 0 200 P 4 время 8 400 P 3 время 16 650 700 950 1000 Очередь заданий № 5 память 70 время 15

Схема с динамическими разделами P 1 время 5 ОС 0 200 P 4 время Схема с динамическими разделами P 1 время 5 ОС 0 200 P 4 время 8 400 P 3 время 15 650 700 950 1000 Внешняя фрагментация – невозможность использования памяти, неиспользуемой процессами, из-за ее раздробленности Возможна и внутренняя фрагментация при почти полном заполнении процессом пустого фрагмента

Схема с динамическими разделами Сборка мусора ОС 0 P 5 P 4 200 270 Схема с динамическими разделами Сборка мусора ОС 0 P 5 P 4 200 270 400 MMU – БУП CPU Логический адрес 520 P 3 650 700 770 950 1000 Сегментный регистр + Физический адрес Память

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

Линейное кусочно-непрерывное отображение Страничная организация памяти Логическое адресное пространство Page 0 Page 1 Page Линейное кусочно-непрерывное отображение Страничная организация памяти Логическое адресное пространство Page 0 Page 1 Page 2 Page 3 Page 4 Логический адрес = Npage*size + offset (Npage, offset) Серый цвет – занятое место Физическое адресное пространство Кадр 0 Кадр 1 Кадр 2 Кадр 3 Кадр 4 0 Таблица страниц 1 2 3 4 6 7 1 Кадр 5 Кадр 6 Кадр 7 Кадр 8 Физический адрес = Nframe*size + offset (Nfrаme, offset) Npage -> Nframe Свойственна внутренняя фрагментация

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

Линейное кусочно-непрерывное отображение Сегментная организация памяти Сегмент 1 Логическое адресное пространство 0 0 Серый Линейное кусочно-непрерывное отображение Сегментная организация памяти Сегмент 1 Логическое адресное пространство 0 0 Серый цвет – занятое место Сегмент 2 Сегмент 3 0 Логический адрес – двумерный = (Nseg, offset) Физическое адресное пространство Физический адрес линейный = физический адрес начала сегмента + offset Свойственна внешняя фрагментация

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

Линейное кусочно-непрерывное отображение Сегментная организация памяти Максимальный размер сегмента Логический адрес Nseg CPU offset Линейное кусочно-непрерывное отображение Сегментная организация памяти Максимальный размер сегмента Логический адрес Nseg CPU offset ошибка нет Таблица сегментов адрес начала размер Offset <= размер да Память Физический адрес +

Линейное кусочно-непрерывное отображение Сегментно-страничная организация памяти Максимальный размер сегмента Логический адрес Nseg CPU Offset Линейное кусочно-непрерывное отображение Сегментно-страничная организация памяти Максимальный размер сегмента Логический адрес Nseg CPU Offset внутри сегмента Page Offset Размер страницы адрес размер Таблица сегментов Offset у сегмента <= размер нет ошибка да Pa ge Физический адрес Память Кадр кадр Таблица страниц Offset