Плоская модель памяти

Слайд 2

Сегментная модель памяти. Сегментация – такая организация памяти, при которой используется

Сегментная модель памяти.

Сегментация – такая организация памяти, при которой используется

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

Сегментация памяти в процессорах 8086 Разрядность адреса n=20. Линейное адресное пространство

Сегментация памяти в процессорах 8086

Разрядность адреса n=20.
Линейное адресное пространство 1Мбайт
Разрядность

внутренних регистров, используемых, в том числе, и для вычисления адресов, 16.
Сегмент – блок сегментных ячеек памяти с максимальным размером 64к и начальным адресом, находящимся на границе параграфа.
Параграф – блок смежных ячеек из 16 байт. Граница параграфа имеет линейный адрес кратный 16, т.е. содержащий 4 нулевых младших разряда.
Для задания старших 16 разрядов начальных адресов сегментов используются сегментные регистры.
CS (code segment) – определяет сегмент кода.
DS (data segment) – определяет сегмент данных.
SS (stack segment) – определяет сегмент стека.
ES (extra segment) – определяет дополнительный сегмент данных.
Слайд 4

Слайд 5

Слайд 6

Недостатки сегментации в процессоре 8086. Сегменты имеют всего лишь два атрибута,

Недостатки сегментации в процессоре 8086.

Сегменты имеют всего лишь два атрибута, начальный

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

Слайд 8

Слайд 9

Слайд 10

Слайд 11

Слайд 12

Слайд 13

Слайд 14

Слайд 15

Слайд 16

Слайд 17

Слайд 18

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

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

Линейное адресное пространство разбивается на страницы фиксированного размера

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

Слайд 20

Слайд 21