Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Принципи адресації у захищеному режимі. Кільця безпеки




Види адресації даних у реальному режимі роботи програми.

Операційна система (! А не сама програма) розміщує сегменти програми в ОП за певними фізичним адресами, а значення цих адрес записує в певні місця, в залежності від режиму роботи мікропроцесора:

 

· В реальному режимі адреси поміщаються безпосередньо в сегментні регістри (cs, ds, ss, es, gs, fs);

 

· В захищеному режимі - в спеціальну системну дескрипторної таблиці (Елементом дескрипторної таблиці є дескриптор сегмента. Кожен сегмент має дескриптор сегмента -8 байт. Існує три дескрипторної таблиці. Адреса кожної таблиці записується в спеціальний системний регістр).

важливою відмінністю захищеного режиму від реального є інший принцип формування фізичної адреси. Пригадаємо, що в реальному режимі фізична адреса елементу пам'яті, що адресується, складається з двох компонентів - сегментної адреси і зсуву. Обидва компоненти мають розмір 16 битий, і процесор, звертаючись до пам'яті, користується наступним правилом обчислення фізичної адреси:

 

Фізична адреса = сегментна адреса * 16 + зсув

 

І сегментна адреса, і зсув не можуть бути більше Ffffh, звідки слідують два найважливіші обмеження реального режиму: об'єм адресного простору складає всього 1 Мбайт, а сегменти не можуть мати розміру, що перевищує 64 Кбайт.

У захищеному режимі програма як і раніше складається з сегментів, що адресуються за допомогою 16-розрядних сегментних регістрів, проте місцеположення сегментів у фізичній пам'яті визначається іншим способом.

У сегментні регістри в захищеному режимі записуються не сегментні адреси, а так звані селектори, биті 3...15 яких розглядаються, як номери (індекси) елементів спеціальної таблиці, що містить дескриптори сегментів програми. Таблиця дескрипторів зазвичай створиться операційною системою захищеного режиму

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

Лінійна адреса = базова адреса сегменту + зсув

У 32-розрядних процесорах зсув має розмір 32 битий, тому максимальна довжина сегменту складає 2" = 4 Гбайт

Операційна система (! А не сама програма) розміщує сегменти програми в ОП за певними фізичним адресами, а значення цих адрес записує в певні місця, в залежності від режиму роботи мікропроцесора:

 

· В реальному режимі адреси поміщаються безпосередньо в сегментні регістри (cs, ds, ss, es, gs, fs);

 

· В захищеному режимі - в спеціальну системну дескрипторної таблиці (Елементом дескрипторної таблиці є дескриптор сегмента. Кожен сегмент має дескриптор сегмента -8 байт. Існує три дескрипторної таблиці. Адреса кожної таблиці записується в спеціальний системний регістр).

 

 

Механізм захисту застосовується головним чином при багатозадачності для забезпечення захисту виконуваних програм один від одного. Існує чотири рівні привілеїв ("кільця") в якому може виконуватися програма, при цьому 0 позначає щонайвищі привілеї, а 3 – якнайменші. В сучасних ОС ядро системи виконується на 0 рівні, а призначені для користувача програми на третьому.

 

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

13. Роль таблиць дескрипторів в організації адресації у захищеному режимі.

У сегментні регістри в захищеному режимі записуються не сегментні адреси, а так звані селектори, биті 3...15 яких розглядаються, як номери (індекси) елементів спеціальної таблиці, що містить дескриптори сегментів програми. Таблиця дескрипторів зазвичай створиться операційною системою захищеного режиму (наприклад, системою Windows) і, як правило, недоступна програмі. Кожен дескриптор таблиці дескрипторів має розмір 8 байт, і в нім зберігаються всі характеристики, необхідні процесору для обслуговування цього сегменту. Серед цих характеристик необхідно виділити насамперед дві: адресу сегменту і його довжину (мал. 4.4).

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

Віртуальний адресний простір ділиться на дві рівні половини. До однієї половини звернення відбувається через GDT, до іншої половини через LDT. Як вже наголошувалося, весь віртуальний простір складається з 214 сегментів, з яких 213 сегментів адресуються через GDT, і ще 213 - через LDT.

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

Для програмування захищеного режиму і навіть для відладки прикладних програм, що працюють в захищеному режимі, корисно уявляти собі структуру дескриптора і сенс його окремих полів. Слід відмітити, що існує декілька типів дескрипторів, яким властиві різні формати. Так, дескриптор сегменту пам'яті (найбільш поширений тип дескриптора) відрізняється від дескриптора шлюзу, використовуваного, зокрема, для обслуговування переривань.




Поделиться с друзьями:


Дата добавления: 2015-05-26; Просмотров: 589; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.