Материал: Уч_пос_АрхКомп_2017

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Бит D задает тип данных, размещенных в сегменте:

D = 0 – 16-битные данные, D = 1 – 32-битные данные.

AVL – бит, предоставляемый в распоряжение пользователя (available).

Бит P – бит присутствия: 0 – на диске, 1 – в оперативной памяти, биты DPL – уровень привилегий дескриптора (Descriptor Privilege Level), обеспечивающий защиту доступа к сегменту..

При доступе к сегменту запрашиваемый уровень привилегий RPL или текущий уровень привилегий CPL (соответствует уровню привилегий дескриптора кода выполняемой сейчас программы) должны быть больше DPL (в логическом смысле; для сравнения их числовых значений отношение должно быть меньше).

Бит S – бит режима сегмента: пользовательский или системный (User / Supervisor).

Биты типа говорят, является сегмент программой или данными и определяют режим доступа:

Биты

11

10

9

Данные

1

E

W

Код

0

C

R

R – только чтение; W – только запись; E – бит расширения при загрузке сегмента (1 – при увеличении адресов, 0 – при уменьшении адресов); бит С – признак согласования сегментов (уровень привилегий, с которыми обращается к данному сегменту, всегда приравнивается к уровню данного сегмента – в моделях процессоров выше i386 он существует только для поддержки).

Бит А – бит обращения к сегменту, устанавливается при обращении к сегменту и через некоторое время сбрасывается операционной системой (обеспечивает дисциплины замещения сегментов).

Алгоритм преобразования виртуального адреса в физический адрес (рис. 6.12).

База Виртуальный

или

логический

+ Смещение адрес

(ЛА)

+ * Индекс

Коэффициент

масштабирования (1,2,4,8)

ЛА селектор ЛА смещения

Сегментная трансляция

Линейный адрес

0

PG&PE

1

DIR PAGE offset

Страничная трансляция

Физический адрес ФА

Рис. 6.12

Схема выполнения сегментной трансляции (рис. 6.13)

I этап

Сегментная трансляция – это преобразование логического адреса (селектор сегмента и смещение сегмента из команды программы) в линейный адрес. На основании селектора происходит выборка дескриптора из локальной или глобальной таблицы дескрипторов и запись его в скрытую часть сегментного регистра. В результате формируется линейный адрес сегмента (ЛАС) по правилу ЛАС = БАС + смещение.

II этап

Страничная трансляция (Рис.6.14) – это преобразование линейного адреса в физический адрес. Если используется реальный режим или нет разбиения сегмента на страницы, то этот этап пропускается и ФА = ЛАС.

Каталог Страница Смещение Линейный адрес

(10) (10) (12)

PG PE TC1 TC2

CR0

+ + + ФА

dir page

CR3 База адреса каталога

Рис.6.14

CRi – i-й ( i =0..3) регистр управления, PG – бит признака страничной организации сегмента, PE (Protect Enable) – признак установки защищенного режима; (CR0. PG)&(CR0. PE) = 1 - признак страничной трансляции. ТС1 – таблица каталогов, ТС2 – таблица страниц

Размер ФАП = 1К каталогов* 1К страниц * 4К смещение = 1k x 1k x 4k= 4Gb.

Формат строки таблицы страниц:

31 12

11

10 7

6

5

4 3

2

1

0

Адрес страни-чного кадра

AVL

0

D

A

00

U/S

R/W

P

AVL – бит, предоставляемый в распоряжение пользователя, бит P – бит присутствия страницы, бит D – бит мусора, бит А – бит обращения к странице, бит U/S (User / Supervisor) – бит режима использования страницы: пользовательский или системный, бит R/W (Read/Write) – бит доступа (по чтению/записи).

    1. Защита памяти в процессоре Intel 80386

Обеспечивается только при CR0.PE =1(защищенный режим). Защита может осуществляться на уровне страниц и на уровне сегментов.

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

RPL – запрашиваемый уровень (при помещении селектора в сегментный регистр);

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

CPL – текущий уровень привилегий, который соответствует уровню кодового сегмента текущей программы.

Виды защиты на уровне сегментов:

  1. Контроль типа не зависит от уровня привилегий, определяется дескриптором

  2. Контроль границ

  3. Ограничение адресуемой области памяти.

  4. Ограничение точек входа в процедуру зависят от RPL, DPL, CPL

  5. Ограничение набора команд.

Контроль типа выполняется:

  1. На этапе загрузки селектора в регистр сегмента (проверка типа сегмента, для которого осуществляется загрузка селектора)

  2. На этапе обращения к сегменту.

Примеры: В CS может быть загружен только селектор дескриптора программного сегмента; в DS не может быть загружен селектор дескриптора, который не доступен для чтения; в SS не может быть загружен селектор дескриптора, который не доступен для записи.

При обращении:

  1. Нельзя записать в кодовый сегмент.

  2. Нельзя записать в сегмент данных, если бит записи равен нулю.

  3. Нельзя читать кодовый сегмент, если бит чтения равен нулю.

Контроль границ. Предотвращает выход за пределы сегмента.

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

{RPL, CPL}  DPL (численно).

Ограничение точек входа в процедуру.

Если CPL = DPL, то возможен вход в процедуру по Call, Jump.

Если CPL  DPL (численно), то возможен только доступ по Call через специальный дескриптор, называемый «вентиль вызова».

Ограничение набора команд. Все команды по уровню доступа на выполнение делятся на 3 группы:

  1. Свободные команды (непривилегированные) – выполняются в любом режиме.

  2. Привилегированные команды – выполняются на уровне ядра.

  3. Чувствительные команды, зависят от уровня привилегий, но могут выполняться в любом режиме супервизора (от 0 до 2). В основном это команды ввода-вывода.

Виды защиты на уровне страниц:

  1. Контроль типа.

  2. Ограничение адресной области памяти.

На уровне страниц защита зависит только от битов режима U/S и доступа R/W.

  1. Организация работы с внешней памятью

7.1. Типы, виды, свойства дисковых накопителей информации.

Выпускаемые накопители информации представляют собой гамму запоминающих устройств (ЗУ) с различным принципом действия, физическими и эксплуатационными характеристиками. ЗУ принято делить на виды и категории в связи с их принципами функционирования, эксплуатационными, физическими и программными характеристиками. Так, например, по принципам функционирования различают следующие виды устройств:

Источник: https://studfile.net/preview/15919868/