При зверненні порівнюється із полем...

Мікропроцесор здатний працювати у двох режимах: реальному та захищеному.

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

порівнюється

зверненні

p align="justify"> Сегменти мікропроцесора, що працює в захищеному режимі, характеризуються великою кількістю параметрів. Тому в універсальних 32-розрядних мікропроцесорах інформація про сегмент зберігається в спеціальній 8-байтної структурі даних, званоїдескриптором, а за сегментними регістрами закріплена основна функція - визначення розташування дескриптора.

Структура дескриптора сегмента представлена ​​рис. 3.3.

Величина елемента визначається одним з атрибутів дескриптора бітом G(Granularity-гранулярність, або дробність):

Таким чином, сегмент може мати розмір з точністю до 1 байта в діапазоні від 1 байта до 1 Мбайт (при G = 0). При об'ємі сторінки в 2^12 = 4 Кбайт можна задати обсяг сегмента до 4 Гбайт (при G = 1):

Біт обігуA(Accessed) встановлюється в "1" при будь-якому зверненні до сегмента. Використовується операційною системою для того, щоб відстежувати сегменти, до яких найдовше не було звернень.

Перевага: Можна завантажувати/вивантажувати сторінками. Віртуальна, оперативна та зовнішня пам'ять розбивається на сторінки однакової довжини.

Недоліки: сегменти погані тим, що мають змінну довжину

Сегментна організація пам'яті в захищеному режимі

Дескрипторизберігаються або у глобальній таблиці дескрипторів (Global Descriptor Table - GDT), або у локальних таблицях дескрипторів (Local Descriptor Table - LDT). GDT містить дескриптори сегментів, які доступні всім активним завданням, що є в системі на даний момент. GDT може містити будь-якідескриптори сегментів, за винятком дескрипторів переривань та пасток. Зазвичай GDT включає дескриптори сегментів кодів та даних операційної системи, сегментів стану задач та дескриптори сегментів, що містять локальні таблиці дескрипторів. Мікропроцесорна система має єдину глобальну таблицю дескрипторів.

Локальна таблиця дескрипторів LDT використовується для зберігання дескрипторів, доступних тільки для цього завдання. Їх кількість визначається кількістю активних завдань у системі.

Для знаходженнядескрипторау таблиці дескрипторів використовується селектор, який міститься в одному із сегментних регістрів. Селектор є 16-розрядним словом, яке розбите на 3 поля:

* TI (Table Indicator - індикатор таблиці) показує, якої таблиці йде звернення: TI = 0 - дескриптор перебуває у глобальній таблиці дескрипторів GDT, TI = 1 - у локальної таблиці LDT;

* Index: поле індексу – номер дескриптора у відповідній таблиці дескрипторів;

* RPL (Request privilege level - рівень привілеїв запиту). При зверненні порівнюється з полем DPL у байті доступу дескриптора.

Звертання дозволяється, якщо рівень привілеїв запиту не нижчий, ніж рівень привілеїв дескриптора.

-«осмисленість» сегментів спрощує їх захист

-Дозволяє організувати доступ до загальних даних/підпрограм для різних процесів з посиланням на одну фізичну ділянку ВП.

-Високий рівень фрагментації, яка виникає через непередбачуваність розмірів сегментів

(Під час роботи системи в пам'яті утворюються невеликі ділянки вільної пам'яті, в які не може бути завантажений жоден сегмент. Сумарний обсяг, займаний фрагментами, може скласти істотну частину загальної пам'яті системи, приводячи до її пам'яті.неефективне використання)