Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


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

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

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

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

Презентация на тему Керування оперативною пам'яттю у процесорах архітектури х86. (Лекція 8)

Содержание

Лекція 8План лекціїСистемні таблиці і регістри системних адресСелектор і дескриптор сегментаЗахист сегментівЗавантаження селектора у сегментний регістрЗвернення до пам’ятіСторінковий механізм керування пам'яттю
Операційні системиЛекція 8Керування оперативною пам'яттю у процесорах архітектури х86 Лекція 8План лекціїСистемні таблиці і регістри системних адресСелектор і дескриптор сегментаЗахист сегментівЗавантаження Лекція 8Керування пам'яттю у процесорах архітектури х86У захищеному режимі підтримується сегментний і Лекція 8Системні таблиці і  регістри системних адресРегістри системних адрес містять покажчики Лекція 8Системні таблиці і  регістри системних адресОбробники переривань доступні через таблицю Лекція 8Системні таблиці і  регістри системних адрес Лекція 8Селектор сегментаСелектор – це 16-розрядна структура, яка завантажується в сегментні регістриСелектор Лекція 8Дескриптор сегментаДескриптор сегмента є 8-байтовою структуроюГоловні поля дескриптора: 32-розрядна базова адреса Лекція 8Розряд 7 (P – Present) показує наявність сегмента у пам'ятіРозряди 5 Лекція 8Значення поля типу сегмента Лекція 8Завантаження селектора у сегментний регістрЯкщо у селекторі TI == 0, то Лекція 8Дозволені комбінації бітів байту захисту дескриптора при завантаженні селектора  у сегментний регістр Лекція 8Перетворення адрес за сегментного розподілу пам'яті	дескриптор сегмента знаходиться у таблиці GDT Лекція 8Перетворення адрес за сегментного розподілу пам'яті	дескриптор сегмента знаходиться у таблиці LDT Лекція 8Звернення до пам’яті Перевіряють дозвіл на операціюПеревіряють коректність доступу (відсутність виходу Лекція 8Сторінковий механізм керування пам'яттюЛінійна адреса є 32-розрядною, старші 20 розрядів інтерпретуються Лекція 8Регістри, що забезпечують сторінковий механізм
Слайды презентации

Слайд 2 Лекція 8
План лекції
Системні таблиці і регістри системних адрес
Селектор

Лекція 8План лекціїСистемні таблиці і регістри системних адресСелектор і дескриптор сегментаЗахист

і дескриптор сегмента
Захист сегментів
Завантаження селектора у сегментний регістр
Звернення до

пам’яті
Сторінковий механізм керування пам'яттю

Слайд 3 Лекція 8
Керування пам'яттю у процесорах архітектури х86
У захищеному

Лекція 8Керування пам'яттю у процесорах архітектури х86У захищеному режимі підтримується сегментний

режимі підтримується сегментний і сегментно-сторінковий розподіл пам'яті
Сторінкове перетворення включається

або відключається окремим прапорцем у регістрі керування процесором cr0
Максимальний розмір сегмента – 4 ГБ
У 16-розрядні сегментні регістри процесора завантажуються селектори, які вказують на дескриптори сегментів
cs – сегмент коду
ss – сегмент стека
ds, es, fs, gs – сегменти даних
Дескриптори містяться у спеціальних системних таблицях, на які вказують регістри системних адрес
У дескрипторах містяться:
базова адреса сегмента
межа (розмір) сегмента
правила доступу до сегмента

Слайд 4 Лекція 8
Системні таблиці і регістри системних адрес
Регістри системних

Лекція 8Системні таблиці і регістри системних адресРегістри системних адрес містять покажчики

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

пам’яттю та диспетчеризації процесів
Доступ до сегментів у пам'яті здійснюється через дескриптори
Дескриптори містяться у двох таблицях, доступних процесу
Глобальна таблиця дескрипторів (Global Descriptor Table, GDT)
Містить дескриптори, що описують програмний код і дані, спільні для усіх процесів (наприклад, бібліотеки, драйвери пристроїв, тощо), а також численні системні об'єкти
На цю таблицю вказує регістр gdtr
Локальна таблиця дескрипторів (Local Descriptor Table, LDT)
Доступна лише тому процесу, який виконується в даний момент
Кожний процес має свою власну локальну таблицю
На цю таблицю вказує регістр ldtr


Слайд 5 Лекція 8
Системні таблиці і регістри системних адрес
Обробники переривань

Лекція 8Системні таблиці і регістри системних адресОбробники переривань доступні через таблицю

доступні через таблицю дескрипторів переривань (Interrupt Descriptor Table, IDT)
На

неї вказує регістр idtr
Контекст процесу знаходиться у спеціальному системному об'єкті, що називається сегментом стану задачі (Task Status Segment, TSS)
Цей об'єкт описується дескриптором, на який вказує регістр ts
Сегменти, що вказують на глобальні системні об'єкти (gdtr та idtr) містять базові лінійні адреси цих об'єктів, а також задають розмір об'єктів
Сегменти, що вказують на локальні для кожного процесу об'єкти (ldtr та tr) містять лише селектори, які адресують відповідні дескриптори у глобальній таблиці
Таким чином, таблиця GDT містить дескриптори, що описують сегменти стану задач і локальні таблиці дескрипторів усіх процесів, що виконуються в системі
Для переходу до виконання іншого процесу необхідно просто завантажити у регістри ldtr та tr відповідні дескриптори

Слайд 6 Лекція 8
Системні таблиці і регістри системних адрес

Лекція 8Системні таблиці і регістри системних адрес

Слайд 7 Лекція 8
Селектор сегмента

Селектор – це 16-розрядна структура, яка

Лекція 8Селектор сегментаСелектор – це 16-розрядна структура, яка завантажується в сегментні

завантажується в сегментні регістри
Селектор адресує не сам сегмент, а

його дескриптор
13 старших розрядів селектора є індексом в таблиці дескрипторів
Таким чином, кожна таблиця може містити 213=8192 дескрипторів
Один розряд селектора (біт 2), який позначається як прапорець TI, вказує в якій з таблиць знаходиться дескриптор
TI==0 ? GDT
TI==1 ? LDT
Останні 2 розряди селектора (біти 1,0) відведені для задавання рівня привілеїв (Requested Privilege Level, RPL), який використовується механізмом захисту

Слайд 8 Лекція 8
Дескриптор сегмента
Дескриптор сегмента є 8-байтовою структурою
Головні поля

Лекція 8Дескриптор сегментаДескриптор сегмента є 8-байтовою структуроюГоловні поля дескриптора: 32-розрядна базова

дескриптора:
32-розрядна базова адреса (base)
20-розрядна межа сегмента (limit) –

визначає розмір сегмента в залежності від прапорця гранулярності G:
G==0 ? розмір у байтах (максимальний розмір сегмента 1 МБ)
G==1 ? розмір у 4-кБ сторінках (максимальний розмір сегмента – 4 ГБ)
Байт захисту (AR)
Прапорець розрядності (D):
D==0 ? 16-розрядні операнди і режими 16-розрядної адресації
D==1 ? 32-розрядні операнди і режими 32-розрядної адресації



Слайд 9 Лекція 8

Розряд 7 (P – Present) показує наявність

Лекція 8Розряд 7 (P – Present) показує наявність сегмента у пам'ятіРозряди

сегмента у пам'яті
Розряди 5 і 6 (DPL – Descriptor

Privilege Level) визначають рівень привілеїв дескриптора
Розряд 4 (S – System / Segment) визначає, чи є об’єкт, який описує цей дескриптор, сегментом у пам’яті чи спеціальним системним об’єктом
Розряди 1 – 3 визначають тип сегмента і права доступу до нього
Розряд 3 (E – Executable)
Розряд 2
Для сегментів коду – біт підпорядкованості (C – Conforming)
Для сегментів даних – біт розширення вниз (ED – Expand Down)
Розряд 1
Для сегментів коду – дозвіл на зчитування (R – Readable)
Для сегментів даних – дозвіл на записування (W – Writable)
Розряд 0 (A – Accessed) встановлюється при доступі до сегмента

Байт захисту


Слайд 10 Лекція 8
Значення поля типу сегмента

Лекція 8Значення поля типу сегмента

Слайд 11 Лекція 8
Завантаження селектора у сегментний регістр
Якщо у селекторі

Лекція 8Завантаження селектора у сегментний регістрЯкщо у селекторі TI == 0,

TI == 0, то дескриптор міститься в GDT
З

регістру gdtr визначають базову адресу і розмір таблиці GDT
За індексом вибирають з GDT потрібний дескриптор
Перевіряють, чи не виходить дескриптор (з урахуванням його розміру – 8 байтів) за встановлену межу таблиці GDT. В разі виходу за межу – виняткова ситуація 11
Перевіряють сумісність типу дескриптора і достатність привілеїв для доступу до нього. Якщо щось не так – виняткова ситуація 13
Якщо у селекторі TI == 1, то дескриптор міститься в LDT
З регістру gdtr визначають базову адресу і розмір таблиці GDT
З таблиці GDT вибирають дескриптор, що описує таблицю LDT, для чого в якості селектора використовують вміст регістру ldtr
Перевіряють, чи відповідає тип дескриптора таблиці дескрипторів і чи присутня таблиця у фізичній пам’яті
З дескриптора таблиці LDT визначають базову адресу таблиці та її межу
Далі здійснюють операцію вибору з таблиці необхідного дескриптора, яка аналогічна операції вибору дескриптора з таблиці GDT, з тими ж перевірками.

Слайд 12 Лекція 8
Дозволені комбінації бітів байту захисту дескриптора при

Лекція 8Дозволені комбінації бітів байту захисту дескриптора при завантаженні селектора у сегментний регістр

завантаженні селектора у сегментний регістр


Слайд 13 Лекція 8

Перетворення адрес за сегментного розподілу пам'яті
дескриптор сегмента

Лекція 8Перетворення адрес за сегментного розподілу пам'яті	дескриптор сегмента знаходиться у таблиці GDT

знаходиться у таблиці GDT


Слайд 14 Лекція 8

Перетворення адрес за сегментного розподілу пам'яті

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

Лекція 8Перетворення адрес за сегментного розподілу пам'яті	дескриптор сегмента знаходиться у таблиці LDT

знаходиться у таблиці LDT


Слайд 15 Лекція 8
Звернення до пам’яті
Перевіряють дозвіл на операцію
Перевіряють

Лекція 8Звернення до пам’яті Перевіряють дозвіл на операціюПеревіряють коректність доступу (відсутність

коректність доступу (відсутність виходу за межу сегмента)
Сегмент стека зростає

в бік молодших адрес, і обчислена адреса повинна бути не меншою за межу сегмента
Сегменти коду і даних зростають у бік старших адрес, тому до обчисленої адреси додається розмір даних, і отримана адреса повинна бути не більшою за межу сегмента
Дозволені комбінації бітів байту захисту:

Слайд 16 Лекція 8
Сторінковий механізм керування пам'яттю
Лінійна адреса є 32-розрядною,

Лекція 8Сторінковий механізм керування пам'яттюЛінійна адреса є 32-розрядною, старші 20 розрядів

старші 20 розрядів інтерпретуються як номер сторінки, а молодші

12 – як зміщення в сторінці
Номер сторінки інтерпретується як індекс дескриптора сторінки, а з дескриптора визначається номер сторінки у фізичній пам’яті


P (Present) Прапорець присутності сторінки у фізичній пам’яті.
W (Writable) Прапорець дозволу записування у сторінку
U (User mode) Прапорець користувач/супервізор
PWT Керують механізмом кешування сторінок (введені, починаючи з процесора i486)
PCD
A (Accessed) Ознака, що мав місце доступ до сторінки
D Ознака модифікації вмісту сторінки
0 Зарезервовані
AVL (Available) Зарезервовані для потреб операційної системи


  • Имя файла: keruvannya-operativnoyu-pamyattyu-u-protsesorah-arhіtekturi-h86-lektsіya-8.pptx
  • Количество просмотров: 105
  • Количество скачиваний: 0