Różnica między przerwaniem a odpytywaniem w systemie operacyjnym

Autor: Laura McKinney
Data Utworzenia: 2 Kwiecień 2021
Data Aktualizacji: 5 Móc 2024
Anonim
Różnica między przerwaniem a odpytywaniem w systemie operacyjnym - Technologia
Różnica między przerwaniem a odpytywaniem w systemie operacyjnym - Technologia

Zawartość


Mamy wiele urządzeń zewnętrznych podłączonych do procesora, takich jak mysz, klawiatura, skaner, er itp. Urządzenia te również wymagają uwagi procesora. Załóżmy, że procesor jest zajęty wyświetlaniem pliku PDF i klikniesz ikonę programu Windows Media Player na pulpicie. Chociaż procesor nie ma pojęcia, kiedy takie zdarzenie miałoby miejsce, ale musi reagować na takie sygnały wejściowe z urządzeń we / wy. Przerwanie i odpytywanie to dwa sposoby obsługi zdarzeń generowanych przez urządzenia, które mogą wystąpić w dowolnym momencie, gdy procesor jest zajęty wykonywaniem innego procesu.

Polling i Interrupt pozwalają procesorowi zatrzymać to, co aktualnie robi i odpowiedzieć na ważniejsze zadanie. Sondowanie i przerwanie różnią się od siebie pod wieloma względami. Ale podstawową kwestią odróżniającą odpytywanie i przerwanie jest to, że w ankieta Procesor ciągle sprawdza urządzenia we / wy w regularnych odstępach czasu, czy potrzebuje usługi procesora, podczas gdy w przerwać, urządzenie we / wy przerywa procesor i informuje procesor, że potrzebuje usługi procesora. Omówiłem niektóre różnice między Przerwaniem a odpytywaniem w poniższej tabeli porównawczej, proszę spojrzeć.


  1. Wykres porównania
  2. Definicja
  3. Kluczowe różnice
  4. Wniosek

Wykres porównania

Podstawa do porównaniaPrzerwaćAnkieta
PodstawowyUrządzenie powiadamia procesor, że wymaga uwagi procesora.Procesor stale sprawdza stan urządzenia, czy wymaga uwagi procesorów.
MechanizmPrzerwanie jest mechanizmem sprzętowym.Sondowanie to protokół.
SerwisowanieProgram obsługi przerwań obsługuje urządzenie.Procesor obsługuje urządzenie.
WskazanieWiersz żądania przerwania wskazuje, że urządzenie wymaga serwisowania.Bit gotowy do komend wskazuje, że urządzenie wymaga serwisowania.
procesorProcesor jest zakłócany tylko wtedy, gdy urządzenie wymaga serwisowania, co oszczędza cykle procesora.Procesor musi poczekać i sprawdzić, czy urządzenie wymaga serwisowania, które marnuje wiele cykli procesora.
WystępowaniePrzerwanie może nastąpić w dowolnym momencie.Procesor odpytuje urządzenia w regularnych odstępach czasu.
WydajnośćPrzerwanie staje się nieefektywne, gdy urządzenia ciągle przerywają procesor.
Sondowanie staje się nieefektywne, gdy procesor rzadko znajduje urządzenie gotowe do obsługi.
PrzykładNiech dzwon zadzwoni, a następnie otwórz drzwi, aby sprawdzić, kto przyszedł.Ciągle otwieraj drzwi, aby sprawdzić, czy ktoś przyszedł.


Definicja przerwania

Przerwanie to mechanizm sprzętowy który pozwala procesorowi wykryć, że urządzenie wymaga uwagi. Procesor ma drut linia żądania przerwania który jest sprawdzany przez CPU po wykonaniu każdej pojedynczej instrukcji. Gdy procesor wykryje sygnał przerwania na linii żądania przerwania, procesor zatrzymuje swoje aktualnie wykonywane zadanie i reaguje na przerwanie przez urządzenie we / wy, przekazując sterowanie do program obsługi przerwań. Procedura obsługi przerwania rozwiązuje przerwanie przez serwisowanie urządzenia.

Chociaż procesor nie jest świadomy, kiedy wystąpi przerwanie, ponieważ może ono nastąpić w dowolnym momencie, ale musi reagować na przerwanie, ilekroć nastąpi.

Gdy procedura obsługi przerwań zakończy wykonywanie przerwania, wtedy CPU wznawia wykonanie zadania, które zostało zatrzymane w odpowiedzi na przerwanie. Oprogramowanie, sprzęt komputerowy, użytkownik, jakiś błąd w programieitp. może również generować przerwanie. Przerwania obsługi natury CPU prowadzą do wielozadaniowość, tj. użytkownik może wykonywać wiele różnych zadań jednocześnie.

Jeśli do procesora wysyłanych jest więcej niż jedno przerwanie, procedura obsługi przerwań pomaga w zarządzaniu przerwaniami oczekującymi na przetworzenie. Gdy pojawi się moduł obsługi przerwań rozsierdzony przez odbiór przerwania, to ustala priorytety przerwania oczekujące na przetworzenie przez CPU i ustawiają je w kolejka zostać obsłużonym.

Definicja odpytywania

Jak widzieliśmy w przerwaniach, dane wejściowe z urządzenia we / wy mogą dotrzeć w dowolnym momencie i poprosić procesor o przetworzenie. Sondowanie to protokół który informuje procesor, że urządzenie wymaga uwagi. W przeciwieństwie do przerwań, gdy urządzenie mówi procesorowi, że potrzebuje przetwarzania procesora, odpytywanie zachowuje procesor pytać urządzenie I / O, czy wymaga przetwarzania procesora.

CPU bez przerwy przetestuj każde podłączone do niego urządzenie w celu wykrycia, czy jakieś urządzenie wymaga uwagi procesora. Każdy urządzenie ma gotowy na polecenia bit wskazujący status tego urządzenia, tj. czy ma jakieś polecenie do wykonania przez CPU, czy nie. Jeśli ustawiony jest bit polecenia 1, to ma jakieś polecenie do wykonania w innym przypadku, jeśli bit jest 0, to nie ma poleceń. procesor ma zajęty kawałek wskazuje status procesora bez względu na to, czy jest zajęty czy nie. Jeśli bit zajętości jest ustawiony 1, jest zajęty wykonywaniem polecenia przez inne urządzenie, w przeciwnym razie jest 0.

Algorytm odpytywania

  • Gdy urządzenie ma jakieś polecenie do wykonania przez CPU, stale sprawdza zajęty bit CPU, aż stanie się czysty (0).
  • Gdy zajęty bit staje się jasny, urządzenie ustawia bit zapisu w rejestrze poleceń i zapisuje bajt w rejestrze danych.
  • Teraz urządzenie ustawia (1) bit gotowy do polecenia.
  • Gdy CPU sprawdza bit gotowy do polecenia urządzeń i stwierdza, że ​​jest ustawiony (1), ustawia (1) swój zajęty bit.
  • Następnie CPU odczytuje rejestr poleceń urządzenia i wykonuje polecenie urządzenia.
  • Po wykonaniu polecenia CPU kasuje (0) bit gotowości polecenia, bit błędu urządzenia, aby wskazać pomyślne wykonanie polecenia urządzenia, a następnie usuwa (0) swój zajęty bit, aby wskazać, że procesor może wykonać bezpłatnie polecenie innego urządzenia.
  1. W przerwaniu urządzenie powiadamia procesor o potrzebie serwisowania, natomiast podczas odpytywania procesor wielokrotnie sprawdza, czy urządzenie wymaga serwisowania.
  2. Przerwanie to sprzęt komputerowy mechanizm ponieważ procesor ma drut, linia żądania przerwania który sygnał, że wystąpiło przerwanie. Z drugiej strony, Polling to protokół który ciągle sprawdza bity kontrolne aby powiadomić, czy urządzenie ma coś do wykonania.
  3. Obsługa przerwań obsługuje przerwania generowane przez urządzenia. Z drugiej strony, podczas głosowania procesor obsługuje urządzenie, kiedy tego wymaga.
  4. Przerwania są sygnalizowane przez linia żądania przerwania. Jednak, Gotowy do polecenia bit wskazuje, że urządzenie wymaga serwisowania.
  5. W przerwaniach procesor jest zakłócany tylko wtedy, gdy przerywa je dowolne urządzenie. Z drugiej strony podczas odpytywania procesor marnuje wiele cykli procesora poprzez wielokrotne sprawdzanie gotowego do użycia bitu każdego urządzenia.
  6. Przerwanie może nastąpić o godzinie w każdej chwili podczas gdy procesor ciągle odpytuje urządzenie w regularne odstępy.
  7. Odpytywanie staje się nieefektywne, gdy procesor ciągle odpytuje urządzenie i rzadko znajduje jakieś urządzenie gotowe do obsługi. Z drugiej strony, przerwania stają się nieefektywne, gdy urządzenia ciągle przerywają przetwarzanie procesora.

Wniosek:

Zarówno odpytywanie, jak i przerwanie są skuteczne w obsłudze urządzeń we / wy. Ale mogą stać się nieefektywne w określonych warunkach, jak omówiono powyżej.