Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГОСЫ 61-123.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
549.68 Кб
Скачать
  1. Класифікація переривань ibm pc. Апаратні переривання. Маскирование апаратних переривань.

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

Залежно від джерела виникнення сигналу переривання поділяються на:

  • Асинхронні або зовнішні (апаратні) — події, які створені зовнішніми джерелами (наприклад, периферійними пристроями) та можуть відбутися в довільний момент: сигнал від таймера, мережевої карти або дискового накопичувача, натискання клавіш клавіатури, рух миші;

  • Синхронні або внутрішні — події в самому процесорі як результат порушення якихось умов при виконанні машинного коду: поділ на нуль або переповнення, звернення до неприпустимих адрес або неприпустимий код операції;

  • Програмні (частковий випадок внутрішнього переривання) — ініціюються виконанням спеціальної інструкції в коді програми. Програмні переривання, як правило використовуються для звернення до функцій вбудованого програмного забезпечення (firmware), драйверів й операційної системи.

.

  1. Оброблювачі переривань ibm pc. Обробка переривань з використанням мов ассемблера і с. Модифікація оброблювачів переривань.

Програмне переривання — синхронне переривання, яке може здійснити програма за допомогою спеціальної інструкції.

У процесорах архітектури x86 для явного виклику синхронного переривання є інструкція Int, аргументом якої є номер переривання (від 0 до 255). В IBM PC-сумісних комп'ютерах обробку переривань здійснюють підпрограми BIOS, які в процесі завантаження у фазі POST переміщаються з ПЗУ до оперативної пам'яті. В подальшому це слугує інтерфейсом для їх використання в сеансі операційної системи.

Також, обслуговування переривань можуть взяти на себе BIOS карт розширень (наприклад, мережевих або відеокарт), операційна система і навіть звичайні (прикладні) програми, які постійно знаходяться в пам'яті під час роботи інших програм (т. зв. резидентні програми). На відміну від реального режиму, в захищеному режимі x86-процесорів звичайні програми не можуть обслуговувати переривання: ця функція доступна тільки системного коду (операційній системі).

MS-DOS використовує для взаємодії зі своїми модулями і прикладними програмами переривання з номерами від 20h до 3Fh (числа дані в шістнадцятковій системі числення, як це прийнято при програмуванні мовою асемблера x86). Наприклад, доступ до основної множини функцій MS-DOS здійснюється виконанням інструкції Int 21h (при цьому номер функції та її аргументи передаються в регістрах). Цей розподіл номерів переривань не закріплений апаратно та інші програми можуть встановлювати свої обробники переривань замість або поверх вже наявних обробників, встановлених MS-DOS або іншими програмами, що, як правило, використовується для зміни функціоналу або розширення списку системних функцій. Також, цією можливістю користуються віруси.