Міністерство освіти Республіки Білорусь
МІНІСТЕРСТВО ОСВІТИ «ГРОДНЕНСЬКИЙ ДЕРЖАВНИЙ УНІВЕРСИТЕТ ІМЕНІ ЯНКІ КУПАЛА»
Кафедра теоретичної фізики.
Реферат на тему:
«Переривання і виключення»
Студента 5 курсу фізико-технічного факультету
Пецевіча Андрія Івановича
Гродно +2014
Зміст
1. Переривання
1.1 обробку переривань
1. Зовнішні
. Внутрішні
. Програмні
1.2 Вектори переривань
. 3 Механізм обробки переривань
. 4 Типи переривань
2. Винятки
2.1 Загальне поняття виняткової ситуації
2.2 Види виняткових ситуацій
. 3 Оброблювачі винятків
1. Переривання
1.1 обробку переривань
Переривання - це сигнал, який сигналізує про вчинення деякої події в комп'ютері. При це ОС повинна певним чином відреагувати на дане переривання. Залежно від джерела всі переривання діляться на три класи:
1. Зовнішні;
. Внутрішні;
. Програмні.
З кожним перериванням пов'язують число, зване номером типу переривання або просто номером переривання. Система вміє розпізнавати, яке переривання, з яким номером воно сталося, і запускає відповідну цим номером програму обробки переривання. Таким чином, при надходженні сигналу на переривання відбувається примусова передача керування від виконуваної програми до системи, а через неї - до обробника переривань.
Наприклад переривання з номером 9 - переривання від клавіатури, яка генерується при натисканні і при отжатии клавіші. Використовується для читання даних з клавіатури. Позначається у ОС як IRQ1, де IRQ - позначення переривання, а 1 - пріоритет переривання.
Оброблювач переривань - програма обробки переривання, що є частиною ОС, призначена для виконання відповідних дій на умова, що викликала переривання.
Припустимо, що в момент надходження сигналу переривання від деякого джерела програма А знаходиться в рішенні. У результаті управління автоматично передається обробнику переривань. Після завершення обробки управління може бути знову передано в ту точку програми А, де її виконання було перервано:
1.2 Вектори переривань
Адреси програм, відповідних різним перериваннях, зібрані в таблицю, що називається таблицею векторів переривань.
Таблиця векторів переривань займає перше кілобайт оперативної пам'яті - адреси від 0000: 0000 до 0000: 03FF. Таблиця складається з 256 елементів - FАR-адрес обробників переривань. Ці елементи називаються векторами переривань. У першому слові елемента таблиці записано зсув, а в другому - адреса сегмента обробника переривання. Векторами є просто повні адреси пам'яті програми (у сегментованої формі), яка повинна бути активізована у разі виникнення переривання.
переривання з номером 0 відповідає адреса 0000: 0000, перериванню з номером 1 - 0000: 0004 і т.д. Адреса такий складається з пари 2-байтових слів, тому кожен з векторів займає чотири байти.
Ви можете переглянути таблицю векторів переривань в комп'ютері, якщо скористатися програмою DЕBUG. Використовуйте команду D для виведення вмісту початку пам'яті: D 0: 0. Програма DЕBUG покаже вам перші 128 байтів або 32 вектора, які можуть мати вигляд на зразок наступного:
1.3 Механізм обробки переривань
При обробці кожного переривання повинна виконуватися наступна послідовність дій:
· Сприйняття запиту на переривання: прийом сигналу та ідентифікація переривання.
· Запам'ятовування стану перерваного процесу: визначається значенням лічильника команд (адресою наступної команди) і вмістом регістрів процесора.
· Передача управління перериває програмою (в лічильник команд заноситься початкова адреса підпрограми обробки переривань, а у відповідні регістри - інформація з слова стану процесора).
· Обробка переривання.
· Відновлення перерваного процесу і повернення в перервану програму.
Головні функції механізму переривання:...