Содержание

Слайд 2

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

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

Слайд 3

Функции системы управления памятью :
- учет состояния свободных и уже распределенных

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

Слайд 4

a – начальное распределение;
б – после завершения программы A;
в – после

a – начальное распределение; б – после завершения программы A; в –
завершения программы B;
г – после завершения программы C

Исходное состояние:
VОП = 10 МБ,
для выполнения программ A, B, C, D требуются следующие объемы памяти: A – 2МБ, B – 1МБ, C – 4МБ, D – 4МБ.

ПРИМЕР СТАТИЧЕСКОГО РАСПРЕДЕЛЕНИЯ ПАМЯТИ

Слайд 5

При динамическом распределении памяти каждой программе в начальный момент выделяется лишь часть

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

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

Слайд 6

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

Принцип виртуальной памяти предполагает, что пользователь при подготовке своей программы имеет дело
не с физической ОП, действительно работающей в составе компьютера и имеющей некоторую фиксированную емкость, а с виртуальной (кажущейся) одноуровневой памятью, емкость которой равна всему адресному пространству, определяемому размером адресной шины (Lша) компьютера:
Vвирт >> Vфиз,
Vвирт = 2Lша.

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

Слайд 7

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

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

Слайд 8

Пример преобразования адреса виртуальной страницы в адрес физической страницы
Пусть компьютер использует адресное

Пример преобразования адреса виртуальной страницы в адрес физической страницы Пусть компьютер использует
пространство, предполагающее разбиение на страницы объемом Vстр=1, и имеет оперативную память VОЗУ=3 страницы.
Пусть на компьютере одновременно выполняются четыре программы, имеющие следующее количество страниц: VA=2, VB=1, VC=3, VD=2.
Переключение между программами происходит через tk = 1.
Время выполнения каждой страницы любой программы составляет t = 2tk.
Страницы программ загружаются в оперативную память по мере их необходимости и, по возможности, в свободные области ОЗУ.
Если вся память занята, то новая страница замещает ту, к которой дольше всего не было обращений (механизм LRU).
Тогда таблица загрузки оперативной памяти и таблицы страничного преобразования для каждой программы будут следующий вид.

Слайд 10

Архитектура компьютера различает физическое адресное пространство (ФАП) и логическое адресное пространство (ЛАП).

Архитектура компьютера различает физическое адресное пространство (ФАП) и логическое адресное пространство (ЛАП).

Физическое адресное пространство – это память, организованная как простой одномерный массив байтов, доступ к которому реализуется аппаратурой памяти по адресу, присутствующему на шине адреса микропроцессорной системы (МПС).
Логическое адресное пространство организуется программистом исходя из своих потребностей. Процессор автоматически транслирует логические адреса в физические, выдаваемые затем на системную шину. Трансляция логических адресов программ в физические осуществляет диспетчер памяти (блок управления памятью memory manager unit – MMU).

Слайд 11

Варианты организации логического адресного пространства :
– плоское (линейное) ЛАП; состоит из массива

Варианты организации логического адресного пространства : – плоское (линейное) ЛАП; состоит из
байтов, не имеющего определенной структуры; трансляция адреса не требуется, так как логический адрес совпадает с физическим;
– сегментированное ЛАП; Состоит из сегментов, каждый из которых в общем случае содержит переменное число байтов; логический адрес содержит 2 части: идентификатор сегмента и смещение внутри сегмента. Трансляцию адреса проводит MMU;
– страничное ЛАП; состоит из страниц, каждая из которых содержит фиксированное число байтов; логический адрес состоит из номера (идентификатора) страницы и смещения внутри страницы; трансляция проводится блоком управления памятью MMU;
– сегментно-страничное ЛАП; состоит из сегментов, которые, в свою очередь, состоят из страниц; логический адрес состоит из идентификатора сегмента и смещения внутри сегмента. MMU производит трансляцию логического адреса в номер страницы и смещение в ней, которые затем транслируются в физический адрес.

Слайд 12

Режимы формирования физического адреса:
- режим реальных адресов (реальный режим);
- режим защищенной памяти

Режимы формирования физического адреса: - режим реальных адресов (реальный режим); - режим
(защищенный режим).
При работе в реальном режиме возможности процессора ограничены:
- объем адресуемой памяти составляет 1 Мб,
- длина сегмента постоянная и равна 216 байт,
- отсутствует страничная организация памяти,
- отсутствуют механизмы защиты.
Этот режим обычно используется на начальном этапе загрузки компьютера для перехода в защищенный режим.

Слайд 13

ФА - физический адрес
ЭА - эффективный адрес (смещение в сегменте, формируемое исходя

ФА - физический адрес ЭА - эффективный адрес (смещение в сегменте, формируемое
из режима адресации операнда
Абаз - базовый адрес сегмента

Формирование физического адреса в реальном режиме работы микропроцессора

ФА - физический адрес
Абаз - базовый адрес сегмента
ЭА - эффективный адрес (смещение в сегменте, формируемое исходя из режима адресации операнда

Для команды
ADD AX,[CX+DI+25]
эффективный адрес операнда
ЭА = [CX]+[DI]+25

Слайд 14

Обобщённая схема формирования адреса при сегментно-страничной организации памяти в защищённом режиме работы

Обобщённая схема формирования адреса при сегментно-страничной организации памяти в защищённом режиме работы

Слайд 15

Обобщённая схема формирования адреса при сегментно-страничной организации памяти

Обобщённая схема формирования адреса при сегментно-страничной организации памяти

Слайд 16

Структура дескриптора сегмента

Структура дескриптора сегмента

Слайд 17

Бит разрядности D (demention) определяет длину адресов и операндов, используемых в команде

Бит разрядности D (demention) определяет длину адресов и операндов, используемых в команде
по умолчанию.
Бит пользователя U (User) может использоваться системными программистами по своему усмотрению. Доступен только на высшем уровне привилегий. Микропроцессор в своей работе этот бит игнорирует.
Бит обращения A: устанавливается в “1”при любом обращении к сегменту. Используется операционной системой для того, чтобы отслеживать сегменты, к которым дольше всего не было обращений.

Слайд 18

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

Байт доступа определяет основные правила обращения с сегментом. Бит присутствия P показывает
доступа к сегменту.
При P = 1 сегмент находится в физической памяти. Если P=0 (сегмент отсутствует), поля базового адреса и предела дескриптора игнорируются. При этом процессор отвергает все последующие попытки использовать дескриптор в командах. Операционная система копирует запрошенный сегмент с диска в память (при этом, возможно, удаляя другой сегмент), загружает в дескриптор новый базовый адрес сегмента, устанавливает P=1 и осуществляет рестарт, то есть повторное выполнение “виноватой” команды. Описанный процесс называется “свопингом”, или подкачкой.

Поле DPL (Descriptor privilege level) указывает уровень привилегий дескриптора, определяемый возможность доступа к сегменту со стороны тех или иных программ.

Слайд 19

ФОРМАТ ПОЛЯ ТИПА БАЙТА ДОСТУПА

В сегменте данных:
бит направления расширения ED (Expand

ФОРМАТ ПОЛЯ ТИПА БАЙТА ДОСТУПА В сегменте данных: бит направления расширения ED
Down): ED = 1 – сегмент стека (относительный адрес должен быть больше размера сегмента), при ED = 0 – сегмент собственно данных (относительный адрес должен быть меньше или равен размера сегмента);
бит разрешения записи W (Writeable): при W = 1 – разрешено изменение сегмента, при W = 0 запись в сегмент запрещена; при попытке записи в сегмент возникает исключение по защите памяти.

Слайд 20

В сегменте кода:
бит C (Conforming): бит подчинения или согласования – определяет дополнительные

В сегменте кода: бит C (Conforming): бит подчинения или согласования – определяет
правила обращения, которые обеспечивают защиту сегментов программ (специальный порядок обращения к подчиненным и неподчиненным сегментам – разрешение или запрещение межсегментных переходов); При С = 1 – подчиненный сегмент кода. В этом случае сегмент намеренно лишается защиты по привилегиям. Такое средство удобно для организации в системе библиотек, программы которых должны быть доступны всем выполняющимся в системе задачам. Библиотечные программы оформляются как подчиненные сегменты кода и они могут быть вызваны командой типа CALL любой текущей задачей. При C= 0 – обычный сегмент кода;
бит R (Readable) – бит считывания. Устанавливает, можно ли обращаться к сегменту только на исполнение или на исполнение и считывания (например, констант) как данных с помощью префикса замены сегмента. При R = 0 допускается только выборка из сегмента для выполнения через CS, при R = 1 чтение из сегмента разрешено.
При любой попытке записи в сегмент кода возникает прерывание.

Слайд 21

ФОРМАТ СЕЛЕКТОРА

Index: поле индекса – номер дескриптора в соответствующей таблице дескрипторов.
TI (Table

ФОРМАТ СЕЛЕКТОРА Index: поле индекса – номер дескриптора в соответствующей таблице дескрипторов.
Indicator): индикатор таблицы – показывает, к какой таблице идёт обращение.

RPL (Request privilege level) – уровень привилегий запроса. При обращении сравнивается с полем DPL в байте доступа дескриптора. Обращение разрешается, если уровень привилегий запроса не ниже, чем уровень привилегий дескриптора.

Имя файла: Лекция-3.pptx
Количество просмотров: 86
Количество скачиваний: 0