Препоръчано, 2024

Избор На Редактора

Разлика между прекъсване и гласуване в операционната система

Имаме много външни устройства, свързани с процесора като мишка, клавиатура, скенер, принтер и т.н. Тези устройства също се нуждаят от внимание на процесора. Да предположим, че CPU е зает с показването на PDF файл и щракнете върху иконата на прозореца за мултимедиен плейър на работния плот. Въпреки че процесорът няма никаква представа кога ще се случи такова събитие, но той трябва да отговори на такива входове от I / O устройствата. Прекъсването и анкетата са двата начина за справяне със събития, генерирани от устройствата, които могат да се случат във всеки един момент, докато процесорът е зает при изпълнението на друг процес.

Проучването и прекъсването позволяват на процесора да спре това, което в момента прави, и да отговори на по-важната задача. Анкетирането и прекъсването са различни един от друг в много аспекти. Но основната точка, която отличава Polling и Interrupt е, че при запитване CPU продължава да проверява I / O устройства на редовни интервали дали се нуждае от CPU услуга, докато в прекъсване I / O устройството прекъсва процесора и казва на CPU, че има нужда от CPU, Обсъдих някои различия между Interrupt и Polling в таблицата за сравнение по-долу. Моля, погледнете.

Сравнителна таблица

Основа за сравнениеПрекъсванеPolling
ОсновенУстройството уведомява CPU, че има нужда от CPU внимание.CPU непрекъснато проверява състоянието на устройството, ако се нуждае от внимание на процесора.
механизъмПрекъсването е хардуерен механизъм.Анкетата е протокол.
ОбслужванеПрекъсвачът обработва Устройството.CPU обслужва устройството.
посочванеЛинията за искане на прекъсване показва, че устройството се нуждае от обслужване.Comand-ready бит показва, че устройството се нуждае от обслужване.
процесорПроцесорът е нарушен само когато устройството се нуждае от обслужване, което спестява цикли на процесора.Процесорът трябва да изчака и да провери дали устройството се нуждае от обслужване, което губи много цикли на процесора.
явлениеПрекъсване може да се случи по всяко време.CPU анализира устройствата на редовни интервали.
ЕфективностПрекъсването става неефективно, когато устройствата непрекъснато прекъсват процесора.
Опростяването става неефективно, когато процесорът рядко намира устройство, готово за обслужване.
примерНека звънецът да отвори вратата, за да провери кой е дошъл.Постоянно отваряйте вратата, за да проверите дали някой е дошъл.

Определение на прекъсване

Прекъсването е хардуерен механизъм, който позволява на CPU да открие, че устройството се нуждае от неговото внимание. Процесорът има линия за искане на прекъсване, която се проверява от CPU след изпълнение на всяка отделна инструкция. Когато CPU разпознае прекъсващ сигнал по линията на заявката за прекъсване, CPU спира текущо изпълняващата се задача и реагира на прекъсващото изпращане чрез I / O устройство, като предава контрола на прекъсвача . Устройството за прекъсване разрешава прекъсването чрез обслужване на устройството.

Въпреки че CPU не е наясно кога ще се случи прекъсване, както може да се случи във всеки един момент, но той трябва да отговори на прекъсването, когато това се случи.

Когато манипулаторът на прекъсване приключи изпълнението на прекъсването, процесорът възобновява изпълнението на задачата, която е спряла, за да отговори на прекъсването. Софтуер, хардуер, потребител, грешка в програмата и т.н. също могат да генерират прекъсване. Прекъсващата обработка на процесора води до многозадачност, т.е. потребителят може да изпълнява няколко различни задачи едновременно.

Ако към CPU се изпращат повече от едно прекъсвания, операторът на прекъсване помага при управлението на прекъсванията, които чакат да бъдат обработени. Тъй като обработващият прекъсване се задейства от приемането на прекъсване, той приоритизира прекъсванията, чакащи да бъдат обработени от процесора, и ги подрежда в опашка, за да бъдат обслужвани.

Дефиниция на избирателния процес

Както видяхме в прекъсванията, входът от I / O устройството може да пристигне във всеки един момент с искане на процесора да го обработи. Анкетата е протокол, който уведомява CPU, че устройството се нуждае от неговото внимание. За разлика от прекъсването, където устройството казва на процесора, че се нуждае от обработка на процесора, при запитване CPU продължава да пита I / O устройството дали се нуждае от обработка на процесора.

Процесорът непрекъснато тества всяко устройство, прикрепено към него, за да открие дали всяко устройство има нужда от CPU внимание. Всяко устройство има готов за командите бит, който показва състоянието на това устройство, т.е. дали има някаква команда, която да се изпълни от CPU или не. Ако командният бит е зададен 1, тогава има някаква команда, която трябва да бъде изпълнена, ако битът е 0, тогава няма команди. CPU има зает бит, който показва състоянието на CPU дали е зает или не. Ако заетът е зает 1, то той е зает при изпълнение на командата на някое устройство, иначе е 0 .

Алгоритъм за анкетиране

  • Когато едно устройство има някаква команда, която трябва да бъде изпълнена от CPU, тя непрекъснато проверява заетото малко на CPU, докато стане ясно (0).
  • Тъй като заетият бит стане ясен, устройството е настроило записващия бит в своя регистър на командите и записва байт в регистъра за данни.
  • Сега устройството задава (1) готовия за команда бит.
  • Когато CPU провери готовия бит за командните устройства и установи, че е зададен (1), той задава (1) своя зает бит.
  • След това CPU чете командния регистър на устройството и изпълнява командата на устройството.
  • След изпълнение на командата, CPU изчиства (0) бита за готовността на командите, бит за грешка на устройството, за да посочи успешното изпълнение на командата на устройството, а по-нататък изчиства (0) своя зает бит, за да покаже, че процесорът е свободен да изпълни командата на друго устройство.

Ключови разлики между прекъсване и гласуване в операционната система

  1. При прекъсване, устройството уведомява CPU, че се нуждае от обслужване, докато при запитване CPU многократно проверява дали устройството се нуждае от обслужване.
  2. Прекъсването е хардуерен механизъм, тъй като CPU има линия за прекъсване, която сигнализира за прекъсване. От друга страна, Polling е протокол, който проверява контролните битове, за да уведоми дали устройството има какво да изпълни.
  3. Прекъсвачът обработва прекъсванията, генерирани от устройствата. От друга страна, в анкетата, CPU обслужва устройството, когато те изискват.
  4. Прекъсванията се сигнализират от линията за искане на прекъсване . Въпреки това битът за готовност за управление показва, че устройството се нуждае от обслужване.
  5. При прекъсвания CPU се нарушава само когато някое устройство го прекъсва. От друга страна, в анкетата, процесора губи много цикли на процесора, като многократно проверява готовия за командите бит на всяко устройство.
  6. Прекъсването може да се случи във всеки един момент, докато процесора продължава да избира устройството на редовни интервали .
  7. Изпращането става неефективно, когато процесорът продължава да избира устройството и рядко намира устройство, готово за обслужване. От друга страна, прекъсванията стават неефективни, когато устройствата продължават да прекъсват обработката на процесора неколкократно.

Заключение:

И Polling, и Interrupts са ефективни при посещаването на I / O устройствата. Но те могат да станат неефективни при определени условия, както е описано по-горе.

Top