Різниця між перериванням і опитуванням в ОС

Автор: Laura McKinney
Дата Створення: 2 Квітень 2021
Дата Оновлення: 13 Травень 2024
Anonim
Бесшумное zigbee реле в подрозетник без нулевой линии, особенности монтажа, установка конденсатора
Відеоролик: Бесшумное zigbee реле в подрозетник без нулевой линии, особенности монтажа, установка конденсатора

Зміст


У нас є багато зовнішніх пристроїв, підключених до процесора, як миша, клавіатура, сканер, ер та ін. Ці пристрої також потребують уваги процесора. Припустимо, процесор зайнятий відображенням PDF-файлу, і ви натискаєте піктограму вікна медіаплеєра на робочому столі. Хоча процесор не має уявлення про те, коли відбудеться подібна подія, але він повинен реагувати на такі входи з пристроїв вводу / виводу. Переривання та опитування - це два способи обробляти події, породжені пристроями, які можуть статися в будь-який момент, поки процесор зайнятий виконанням іншого процесу.

Опитування та переривання дозволяють ЦП зупинити те, що він зараз робить, і відповісти на більш важливе завдання. Опитування та переривання відрізняються один від одного в багатьох аспектах. Але основним моментом, що відрізняє опитування та переривання, є те, що в опитування Процесор регулярно перевіряє пристрої вводу / виводу регулярно, чи потрібна йому послуга ЦП, тоді як в перервати, пристрій вводу / виводу перериває процесор і повідомляє процесору, що йому потрібна служба CPU. Я обговорював деякі відмінності між Перериванням та Опитуванням у таблиці порівняння нижче, будь ласка, подивіться.


  1. Порівняльна діаграма
  2. Визначення
  3. Ключові відмінності
  4. Висновок

Порівняльна діаграма

Основа для порівнянняПерерватиОпитування
ОсновніПристрій повідомляє ЦП, що йому потрібна увага процесора.Процесор постійно перевіряє стан пристрою, чи потребує його уваги процесора.
МеханізмПерерва - це апаратний механізм.Опитування - це протокол.
ОбслуговуванняОбробник перерв обслуговує Пристрій.ЦП обслуговує пристрій.
ПоказанняРядок запиту на перерву вказує, що пристрій потребує обслуговування.Біт, готовий до команди, вказує на необхідність обслуговування пристрою.
ЦПЦП порушується лише тоді, коли пристрою потрібне обслуговування, що економить цикли процесора.Процесору доводиться чекати і перевіряти, чи потребує пристрій обслуговування, яке витрачає багато циклів процесора.
ВиникненняПереривання може статися в будь-який час.Процесор регулярно опитує пристрої.
ЕфективністьПереривання стає неефективним, коли пристрої постійно переривають процесор.
Опитування стає неефективним, коли процесор рідко знаходить пристрій, готовий до обслуговування.
ПрикладНехай дзвонить, а потім відкриє двері, щоб перевірити, хто прийшов.Постійно продовжуйте відкривати двері, щоб перевірити, чи хтось прийшов.


Визначення перерви

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

Хоча процесор не знає, коли відбудеться переривання, оскільки це може статися в будь-який момент, але він повинен реагувати на переривання щоразу, коли воно відбувається.

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

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

Визначення опитування

Як ми бачили в перериваннях, вхід з пристрою вводу / виводу може надійти в будь-який момент з проханням ЦП обробити його. Опитування - це протокол який повідомляє процесор, що пристрій потребує його уваги. На відміну від переривання, де пристрій повідомляє процесору, що йому потрібна обробка процесора, при опитуванні процесор зберігає питаючи пристрій вводу / виводу, чи потребує він обробки процесора.

Процесор безперервно протестуйте кожен приєднаний до нього пристрій, щоб виявити, чи потребує якогось пристрою увага процесора. Кожен пристрій має готовий до команд біт, який вказує на стан цього пристрою, тобто, чи має він якусь команду виконувати CPU чи ні. Якщо встановлений біт команди 1, то він має якусь команду, яку слід виконати інше, якщо біт є 0, то в ньому немає команд. ЦП має зайнятий шматочок що вказує на стан процесора, зайнятий він чи ні. Якщо біт зайнято встановлено 1, то він зайнятий виконанням команди якогось пристрою, інакше це 0.

Алгоритм опитування

  • Коли пристрій має деяку команду, яку слід виконати процесором, він постійно перевіряє зайнятий біт процесора, поки не стане зрозумілим (0).
  • По мірі того, як біт зайнятості стає зрозумілим, пристрій встановлює біт запису у свій регістр команд і записує байт у регістр виведення даних.
  • Тепер пристрій встановлює (1) біт, готовий до команд.
  • Коли процесор перевіряє пристрій, готовий до команд, і знаходить його (1), він встановлює (1) його зайнятий біт.
  • Потім процесор зчитує регістр команд пристрою і виконує команду пристрою.
  • Після виконання команди ЦП очищає (0) біт, готовий до команд, біт помилки пристрою, що вказує на успішне виконання команди пристрою, і далі він очищає (0) свій зайнятий біт, щоб також вказати, що процесор вільний виконувати команда якогось іншого пристрою.
  1. При перерві пристрій повідомляє ЦП, що йому потрібне обслуговування, тоді як при опитуванні ЦП кілька разів перевіряє, чи потрібен пристрій для обслуговування.
  2. Переривання - це обладнання механізм оскільки процесор має провід, рядок запиту-переривання який сигнал, що відбулося переривання. З іншого боку, опитування - це протокол що продовжує перевірку контрольні біти повідомляти, чи має щось на пристрої виконати.
  3. Обробник перерв обробляє переривання, генеровані пристроями. З іншого боку, при опитуванні ЦП обслуговує пристрій, коли цього вимагають.
  4. Перерви сигналізуються рядок запиту-переривання. Однак, Готова команда біт вказує на те, що пристрій потребує обслуговування.
  5. При перериваннях ЦП порушується лише тоді, коли будь-який пристрій його перериває. З іншого боку, при опитуванні процесор витрачає багато циклів процесора, повторно перевіряючи біт, готовий до команд на кожному пристрої.
  6. Перерва може статися на будь-якої миті тоді як процесор продовжує опитувати пристрій на регулярні інтервали.
  7. Опитування стає неефективним, коли ЦП продовжує опитувати пристрій і рідко знаходить якийсь пристрій, готовий до обслуговування. З іншого боку, переривання стають неефективними, коли пристрої постійно переривають процес обробки процесора.

Висновок:

Як опитування, так і переривання є ефективними для відвідування пристроїв вводу / виводу. Але вони можуть стати неефективними за певної умови, про яку говорилося вище.