Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Система переривань у ПК. Апаратні та програмні переривання




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

Селектор являє собою 16-розрядний покажчик, що має три полючи:

- поле RPL (Requested Privilege Level) визначає рівень привілеїв запиту, т.ч. вказує той припустимий рівень захисту сегмента, при якому сегмент може бути обраний за допомогою даного селектора.

Благодаря указанию уровня привилегий можно запретить одним программным компонентам доступ к сегментам памяти, выделенным для других компонентов. О том, как это работает, мы еще скажем ниже.

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

Число дескрипторних таблиць, доступних задачі (GDT і LDT), їх максимальний розмір, а також максимальний розмір сегмента визначають розмір віртуальної пам'яті мікропроцесора

- поле ІНДЕКС служить номером для вибору одного з дескрипторів, що містяться в таблиці. Першим дескриптором у таблиці завжди указується дескриптор, називаний нуль-дескриптор (він містить нулі у всіх полях). Завантаження нуль-дескриптора в сегментні регістри коду і стека відразу викликає переривання 13 (“Порушення загальної захисту”). При завантаженні нуль-дескриптора в сегментні регістри даних це переривання не виникає. Однак воно виробляється при спробі програми звернутися до цих сегментів. Це може бути використане для запобігання доступу до тих чи іншим сегментної регістрам.

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

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

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

програмні переривання. Вони викликаються командою hit з числовим аргументом, який розглядається процесором, як номер вектора переривання. Якщо в програмі зустрічається, наприклад, команда

 

int 13h

 

то процесор виконує ту ж процедуру переривання, використовуючи як номер вектора операнд команди int. Програмні переривання застосовуються насамперед для виклику системних обслуговуючих програм - функцій DOS і BIOS.

16. Зміст векторів переривань. Їх розміщення у адресному просторі.

Самий початок оперативної пам'яті від адреси 0000h до 03FFh відводиться під вектори переривання - чотірьохбайтові області, в яких зберігаються адреси програм обробки переривання (ПОП). У два старші байти кожного вектора записується сегментна адреса ПОП, в два молодші - відносна адреса точки входу в ПОП в сегменті. Вектори, як і відповідні їм переривання, мають номери, які називаються типами, причому вектор з номером 0 (вектор типу 0) розташовується починаючи з адреси 0, вектор типу 1-з адреси 4, вектор типу 2 - з адреси 8 і т.д. Вектор з номером N займає, таким чином, байти пам'яті від N * 4 до N * 4 +2. Всього у виділеній під вектори області пам'яті поміщається 256 векторів.

 

Одержавши сигнал на виконання процедури переривання з певним номером, процесор зберігає в стеку виконуваної програми слово прапорів, а також сегментно і відносну адресу програмного сегменту (вміст CS і IP) і завантажує CS і IP з відповідного вектора переривання, здійснюючи тим самим перехід на ПОП (рис 1).




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


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


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



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




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