Разделы презентаций


Лекция 6

Содержание

Функции ОС по управлению памятью:отслеживание свободной и занятой памяти;выделение памяти процессам и освобождение памяти по их завершении;вытеснение кодов и данных процессов из оперативной памяти на диск, когда размеры основной памяти не

Слайды и текст этой презентации

Слайд 1Лекция 6
Управление памятью.
Алгоритмы распределения памяти.

Лекция 6Управление памятью.Алгоритмы распределения памяти.

Слайд 2Функции ОС по управлению памятью:
отслеживание свободной и занятой памяти;
выделение памяти

процессам и освобождение памяти по их завершении;
вытеснение кодов и данных

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

Слайд 3Типы адресов
Для идентификации переменных и команд используются символьные имена (метки),

виртуальные адреса и физические адреса.
Символьные имена присваивает пользователь при написании

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

Слайд 4Совокупность виртуальных адресов процесса называется виртуальным адресным пространством. Например, при

использовании 32-разрядных виртуальных адресов диапазон возможных адресов виртуального пространства задается

границами 0000000016 и FFFFFFFF16.
Каждый процесс имеет собственное виртуальное адресное пространство.
Совокупность виртуальных адресов процесса называется виртуальным адресным пространством. Например, при использовании 32-разрядных виртуальных адресов диапазон возможных адресов

Слайд 5Виртуальным называется ресурс, который пользователю или пользовательской программе представляется обладающим

свойствами, которыми он в действительности не обладает. В данном случае

в распоряжение пользователя предоставляется виртуальная оперативная память, размер которой намного превосходит всю имеющуюся в системе реальную оперативную память.
Виртуальным называется ресурс, который пользователю или пользовательской программе представляется обладающим свойствами, которыми он в действительности не обладает.

Слайд 7Используются разные способы структуризации виртуального адресного пространства.
1.Линейная. Виртуальным адресом

является единственное число, представляющее собой смещение относительно начала (обычно это

значение 000...000) виртуального адресного пространства. Адрес такого типа называют линейным виртуальным адресом.
Используются разные способы структуризации виртуального адресного пространства. 1.Линейная. Виртуальным адресом является единственное число, представляющее собой смещение относительно

Слайд 92. Сегментная. Виртуальное адресное пространство делится на части, называемые сегментами.

В этом случае помимо линейного адреса может быть использован виртуальный

адрес, представляющий собой пару чисел (п, m), где п определяет сегмент, a m — смещение внутри сегмента.
2. Сегментная. Виртуальное адресное пространство делится на части, называемые сегментами. В этом случае помимо линейного адреса может

Слайд 11Алгоритмы распределения памяти
Распределение памяти фиксированными разделами
Простейший способ управления оперативной памятью

состоит в том, что память разбивается на несколько областей фиксированной

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

Слайд 13Подсистема управления памятью в этом случае выполняет следующие задачи.
Сравнивает объем

памяти, требуемый для вновь поступившего процесса, с размерами свободных разделов

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

Слайд 14Распределение памяти динамическими разделами
Память не делится заранее на разделы. Сначала

вся память, свободна. Каждому поступающему на выполнение приложению выделяется вся

необходимая ему память (если достаточный объем памяти отсутствует, то приложение не принимается на выполнение).
После завершения процесса память освобождается, и на это место может быть загружен другой процесс.
Метод обладает гораздо большей гибкостью, но ему присущ очень серьезный недостаток — фрагментация памяти.
Распределение памяти динамическими разделамиПамять не делится заранее на разделы. Сначала вся память, свободна. Каждому поступающему на выполнение

Слайд 16Перемещаемые разделы
Одним из методов борьбы с фрагментацией является перемещение всех

занятых участков в сторону старших или младших адресов, так, чтобы

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

Слайд 18В условиях, когда для обеспечения приемлемого уровня мультипрограммирования имеющейся оперативной

памяти недостаточно, был предложен метод организации вычислительного процесса – виртуальная

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

Слайд 19В настоящее время все множество реализаций виртуальной памяти может быть

представлено тремя классами.
Страничная виртуальная память организует перемещение данных между памятью

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

Слайд 20Сегментная виртуальная память предусматривает перемещение данных сегментами — частями виртуального

адресного пространства произвольного размера, полученными с учетом смыслового значения данных.
Сегментно-страничная

виртуальная память использует двухуровневое деление: виртуальное адресное пространство делится на сегменты, а затем сегменты делятся на страницы. Единицей перемещения данных здесь является страница.
Сегментная виртуальная память предусматривает перемещение данных сегментами — частями виртуального адресного пространства произвольного размера, полученными с учетом

Слайд 21Страничное распределение
Виртуальное адресное пространство каждого процесса делится на части одинакового,

фиксированного для данной системы размера, называемые виртуальными страницами. Вся оперативная

память машины также делятся на части такого же размера- физические страницы.
Размер страницы выбирается равным степени двойки: 512, 1024, 4096 байт и т.д. Это позволяет упростить механизм преобразования адресов.
Страничное распределениеВиртуальное адресное пространство каждого процесса делится на части одинакового, фиксированного для данной системы размера, называемые виртуальными

Слайд 22Для каждого процесса операционная система создает таблицу страниц — информационную

структуру, содержащую записи обо всех виртуальных страницах процесса.

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

Слайд 24Запись таблицы, называемая дескриптором страницы, включает следующую информацию:
номер физической

страницы, в которую загружена данная виртуальная страница;
признак присутствия, устанавливаемый в

единицу, если виртуальная страница находится в оперативной, памяти;

Запись таблицы, называемая дескриптором страницы, включает следующую информацию: номер физической страницы, в которую загружена данная виртуальная страница;признак

Слайд 25признак модификации страницы, который устанавливается в единицу всякий раз, когда

производится запись по адресу, относящемуся к данной странице;
признак обращения к

странице, называемый также битом доступа, который устанавливается в единицу при каждом обращении по адресу, относящемуся к данной странице.
признак модификации страницы, который устанавливается в единицу всякий раз, когда производится запись по адресу, относящемуся к данной

Слайд 26Виртуальный адрес при страничном распределении может быть представлен в виде

пары (р, sv), где р — порядковый номер виртуальной страницы

процесса (нумерация страниц начинается с 0), a sv — смещение в пределах виртуальной страницы. Физический адрес также может быть представлен в виде пары (n, sf), где n— номер физической страницы, a sf — смещение в пределах физической страницы.
Виртуальный адрес при страничном распределении может быть представлен в виде пары (р, sv), где р — порядковый

Слайд 27Базисные свойства страничной организации.
Объем страницы выбирается равным степени двойки —

2к. Из этого следует, что смещение s может быть получено

простым отделением к младших разрядов в двоичной записи адреса, а оставшиеся старшие разряды адреса представляют собой двоичную запись номера страницы (виртуальной или физической).
Базисные свойства страничной организации.Объем страницы выбирается равным степени двойки — 2к. Из этого следует, что смещение s

Слайд 28Например, если размер страницы 1 Кбайт (210), то из двоичной

записи адреса 50718 = 101 000 111 0012 можно определить,

что он принадлежит странице, номер которой в двоичном выражении равен 102 и смещен относительно ее начала на 1 000 111 0012 байт (рис. 5.13). Начальный адрес страницы называется базовым адресом.

Например, если размер страницы 1 Кбайт (210), то из двоичной записи адреса 50718 = 101 000 111

Слайд 30В пределах страницы непрерывная последовательность виртуальных адресов однозначно отображается в

непрерывную последовательность физических адресов, а значит, смещения в виртуальном и

физическом адресах sv и sf равны между собой (рис. 5.14).
В пределах страницы непрерывная последовательность виртуальных адресов однозначно отображается в непрерывную последовательность физических адресов, а значит, смещения

Слайд 32Отсюда следует простая схема преобразования виртуального адреса в физический.
Младшие

разряды физического адреса, соответствующие смещению, получаются переносом такого же количества

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

Слайд 33Сегментное распределение
При страничной организации виртуальное адресное пространство процесса делится на

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

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

Слайд 34Разбиение виртуального адресного пространства на “осмысленные” части делает принципиально возможным

совместное использование фрагментов программ разными процессами. Пусть, например, двум процессам

требуется одна и та же подпрограмма, которая к тому же обладает свойством реентерабельности.
Разбиение виртуального адресного пространства на “осмысленные” части делает принципиально возможным совместное использование фрагментов программ разными процессами. Пусть,

Слайд 35Реентерабельность (reentrantable) — свойство повторной входимости кода, которое по­зволяет одновременно

использовать его несколькими процессами.
Тогда коды этой подпрограммы могут быть

оформлены в виде отдельного сегмента и включены в виртуальные адресные пространства обоих процессов. При отображении в физическую память сегменты, содержащие коды подпрограммы из обоих виртуальных пространств, проецируются на одну и ту же область физической памяти. Таким образом оба процесса получат доступ к одной и той же копии подпрограммы (рис. 5.18).
Реентерабельность (reentrantable) — свойство повторной входимости кода, которое по­зволяет одновременно использовать его несколькими процессами. Тогда коды этой

Слайд 37Отдельный сегмент может представлять собой подпрограмму, массив данных и т.

п. Деление виртуального адресного пространства на сегменты осуществляется компилятором на

основе указаний программиста или по умолчанию. Максимальный размер сегмента определяется разрядностью виртуального адреса, например при 32-разрядной организации процессора он равен 4 Гбайт.
Отдельный сегмент может представлять собой подпрограмму, массив данных и т. п. Деление виртуального адресного пространства на сегменты

Слайд 38В каждом сегменте виртуальные адреса находятся в диапазоне от 0000000016

до FFFFFFFF16. Сегменты не упорядочиваются друг относительно друга, так что

общего для сегментов линейного виртуального адреса не существует, виртуальный адрес задается парой чисел: номером сегмента и линейным виртуальным адресом внутри сегмента.
В каждом сегменте виртуальные адреса находятся в диапазоне от 0000000016 до FFFFFFFF16. Сегменты не упорядочиваются друг относительно

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

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

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

Слайд 40На этапе создания процесса система создает таблицу сегментов процесса (аналогичную

таблице страниц), в которой для каждого сегмента указывается:
базовый физический адрес

сегмента в оперативной памяти;
размер сегмента;
правила доступа к сегменту;
признаки модификации, присутствия и обращения к данному сегменту, а также некоторая другая информация.
На этапе создания процесса система создает таблицу сегментов процесса (аналогичную таблице страниц), в которой для каждого сегмента

Слайд 41Механизмы преобразования адресов этих двух способов управления памятью тоже весьма

схожи, однако в них имеются и существенные отличия, так как

сегменты в отличие от страниц имеют произвольный размер. Виртуальный адрес при сегментной организации памяти может быть представлен парой (g, s), где g — номер сегмента, a s — смещение в сегменте. Физический адрес получается путем сложения базового адреса сегмента, который определяется по номеру сегмента g из таблицы сегментов и смещения s
Механизмы преобразования адресов этих двух способов управления памятью тоже весьма схожи, однако в них имеются и существенные

Слайд 43В данном случае нельзя обойтись операцией конкатенации, как это делается

при страничной организации памяти. Страницы имеют одинаковый размер, а значит,

их начальные адреса кратны размеру страниц и выражаются также чис­лами с нулями в младших разрядах. Именно поэтому ОС заносит в таблицы страниц не полные адреса, а номера физических страниц, которые совпадают со старшими разрядами базовых адресов.
В данном случае нельзя обойтись операцией конкатенации, как это делается при страничной организации памяти. Страницы имеют одинаковый

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

начиная с любого адреса, следовательно, для определения местоположения в памяти

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

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

перемещения между памятью и диском является сегмент, имеющий в общем

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

Слайд 46Но главный недостаток сегментного распределения — это фрагментация, которая возникает

из-за непредсказуемости размеров сегментов. В процессе работы системы в памяти

образуются небольшие участки свободной памяти, в которые не может быть загружен ни один сегмент.
Но главный недостаток сегментного распределения — это фрагментация, которая возникает из-за непредсказуемости размеров сегментов. В процессе работы

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

возможность задания дифференцированных прав доступа процесса к его сегментам. Например,

один сегмент данных, содержащий исходную инфор­мацию для приложения, может иметь права доступа «только чтение», а сегмент данных, представляющий результаты, — «чтение и запись». Это свойство дает принципиальное преимущество сегментной модели памяти над страничной.
Одним из существенных отличий сегментной организации памяти от страничной является возможность задания дифференцированных прав доступа процесса к

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика