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

5-Memory_Management.ppt

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

Операционные системы Лекция № 5. Управление памятью в ОС. Операционные Сист. (с) Кафедра ИСТ, Операционные системы Лекция № 5. Управление памятью в ОС. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 1

Управление памятью n n Эффективное распределение памяти для размещения нескольких процессов Эффективное распределение памяти Управление памятью n n Эффективное распределение памяти для размещения нескольких процессов Эффективное распределение памяти для обеспечения эффективного исполнения готовых процессов. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 2

Требования к управлению памятью n n n Перемещение Защита Совместное использование Логическая организация Физическая Требования к управлению памятью n n n Перемещение Защита Совместное использование Логическая организация Физическая организация Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 3

Перемещение n n n Программист не знает куда будет загружена программа при выполнении Во Перемещение n n n Программист не знает куда будет загружена программа при выполнении Во время выполнения программа может быть выгружена на диск и в дальнейшем загружена в память по другим адресам (перемещена) Ссылки на память должны быть переведены процессором и системой в реальные физические адреса. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 4

Перемещение (Relocate) Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings Перемещение (Relocate) Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 5

Защита n n n Процессы не должны без разрешения иметь возможности к обращениям к Защита n n n Процессы не должны без разрешения иметь возможности к обращениям к памяти других процессов Невозможно вычислить и проверить абсолютные адреса памяти при компиляции Защита памяти обеспечивается аппаратным обеспечением системы. q q Операционная система не в состоянии предвидеть все обращения к памяти. Использование механизма исключений (exception) для отслеживания нарушений доступа к памяти (0 x. Eh в системах Intel) Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 6

Разделение n Возможность нескольким процессам разделять общие адреса памяти q Эффективнее разделять общие блоки Разделение n Возможность нескольким процессам разделять общие адреса памяти q Эффективнее разделять общие блоки памяти несколькими процессами, чем создавать закрытые копии. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 7

Логическая организация n n Программы имеют модульную структуру Модули могут создаваться и компилироваться независимо Логическая организация n n Программы имеют модульную структуру Модули могут создаваться и компилироваться независимо Можно установить различную степень защиты для модулей (только для чтения, только для выполнения и т. д. ) Можно разделять модули между процессами Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 8

Физическая организация n Двухуровневая архитектура памяти q q n Основная Вторичная Основной задачей является Физическая организация n Двухуровневая архитектура памяти q q n Основная Вторичная Основной задачей является эффективная организация потоков информации между основной и вторичной памятью Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 9

Распределение памяти n n n n Фиксированное распределение Динамическое распределение Система двойников Простая страничная Распределение памяти n n n n Фиксированное распределение Динамическое распределение Система двойников Простая страничная организация Простая сегментная организация Страничная организация ВП Сегментная организация ВП Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 10

Фиксированное распределение n n n Любой процесс, чей размер меньше или равен размеру раздела Фиксированное распределение n n n Любой процесс, чей размер меньше или равен размеру раздела может быть загружен в свободный раздел Если все разделы заняты, то система может выгрузить простаивающий процесс во вторичную память Программы, которые не помещаются в раздел могут быть созданы с использованием оверлеев (overlays). Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 11

Фиксированное распределение Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings Фиксированное распределение Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 12

Алгоритм размещения при фиксированном распределении n Разделы одинакового размера q n Не имеет значения Алгоритм размещения при фиксированном распределении n Разделы одинакового размера q n Не имеет значения какой свободный раздел выбрать для использования. Разделы разного размера q q Использовать наименьший раздел, способный вместить процесс Очередь процессов для каждого раздела Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 13

Алгоритм размещения при фиксированном распределении Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. Алгоритм размещения при фиксированном распределении Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 14

Динамическое распределение n n Разделы имеют переменную длину Процесс распределяет памяти ровно столько, сколько Динамическое распределение n n Разделы имеют переменную длину Процесс распределяет памяти ровно столько, сколько требуется Возможно появления «дыр» в памяти – внешняя фрагментация памяти. Для преодоления фрагментации используется метод уплотнения для перемещения процессов в смежные области памяти; свободная память собирается в один блок. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 15

Динамическое распределение Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings Динамическое распределение Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 16

Динамическое распределение. Алгоритм размещения. n n Первый подходящий блок памяти Наилучший подходящий Операционные Сист. Динамическое распределение. Алгоритм размещения. n n Первый подходящий блок памяти Наилучший подходящий Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 17

Динамическое распределение. Алгоритм размещения. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) Динамическое распределение. Алгоритм размещения. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 18

Динамическое распределение. Система двойников. n n Всё доступное пространство считается единым блоком размером 2 Динамическое распределение. Система двойников. n n Всё доступное пространство считается единым блоком размером 2 U При запросе размером s, таким, что 2 U-1 < s <= 2 U, выделяется весь блок В противном случае блок разделяется на два эквивалентных двойника размерами 2 U-1 Если 2 U-2 < s <= 2 U-1, то по запросу выделяется один из двойников. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 19

Динамическое распределение. Система двойников. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) Динамическое распределение. Система двойников. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 20

Динамическое распределение. Система двойников. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) Динамическое распределение. Система двойников. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 21

Перемещение. Типы адресов. n n n Логический адрес (Logical). Ссылка на ячейку памяти, не Перемещение. Типы адресов. n n n Логический адрес (Logical). Ссылка на ячейку памяти, не зависящая от текущего расположения данных в памяти Относительный адрес (Relative). Частный случай логического адреса, когда адрес рассчитывается относительно известной точки в программе. Физический адрес (абсолютный, physical). Действительное расположение ячейки в основной памяти. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 22

Перемещение. n n n Абсолютные (физические) адреса памяти известны только при загрузке программы в Перемещение. n n n Абсолютные (физические) адреса памяти известны только при загрузке программы в память. Процесс может перемещаться между различными разделами в результате операций свопинга Уплотнение также вызывает перемещение процесса в основной памяти. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 23

Аппаратная поддержка перемещения Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Аппаратная поддержка перемещения Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 24

Страничная организация n n n Разделение физической памяти на блоки равной длины и разделение Страничная организация n n n Разделение физической памяти на блоки равной длины и разделение процесса на блоки этой же длины Блоки процесса называются страницы (pages). Блоки основной памяти – фреймы (frames). Операционная система поддерживает таблицу страниц для каждого процесса q q Содержит расположение кадра для каждой страницы процесса Адрес памяти представлен адресом страницы и смещением внутри страницы. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 25

Страничная организация. Распределение памяти. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) Страничная организация. Распределение памяти. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 26

Страничная организация. Распределение памяти. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) Страничная организация. Распределение памяти. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 27

Сегментация n n Сегменты программы могут иметь разный размер Существует максимальный размер сегмента Адрес Сегментация n n Сегменты программы могут иметь разный размер Существует максимальный размер сегмента Адрес состоит из двух частей: номера сегмента и смещения внутри сегмента Так как сегменты имеют переменный размер, сегментация похожа на динамическое распределение. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 28

Получение логического адреса в различных организациях Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. Получение логического адреса в различных организациях Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 29

Трансляция логических адресов. Страничная организация. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. Трансляция логических адресов. Страничная организация. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 30

Трансляция логических адресов. Сегментная организация. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. Трансляция логических адресов. Сегментная организация. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 31

Список литературы 1. Столлингс, Вильям. Операционные системы, 4 -е издание. «Вильямс» , 2002. Операционные Список литературы 1. Столлингс, Вильям. Операционные системы, 4 -е издание. «Вильямс» , 2002. Операционные Сист. (с) Кафедра ИСТ, Маракасов Ф. В. 2005. (c) William Stollings 32