Odporúčaná, 2024

Redakcia Choice

Rozdiel medzi prerušením a hlasovaním v systéme OS

Na CPU máme pripojené veľa externých zariadení, ako myš, klávesnica, skener, tlačiareň atď. Tieto zariadenia tiež potrebujú pozornosť CPU. Predpokladajme, že CPU je zaneprázdnený pri zobrazení PDF a kliknete na ikonu prehrávača médií na pracovnej ploche. Napriek tomu, že procesor nemá vedieť, kedy by sa takáto udalosť vyskytla, musí reagovať na takéto vstupy z I / O zariadení. Prerušenie a prieskum sú dva spôsoby, ako zvládnuť udalosti generované zariadeniami, ktoré sa môžu stať kedykoľvek, keď je procesor zaneprázdnený pri vykonávaní iného procesu.

Výzva a prerušenie umožňujú CPU zastaviť to, čo práve robí, a reagovať na dôležitejšiu úlohu. Výzvy a prerušenie sa v mnohých aspektoch líšia. Základným bodom, ktorý rozlišuje prieskum a prerušenie, je to, že pri volaní procesor stále kontroluje I / O zariadenia v pravidelných intervaloch, či potrebuje CPU, zatiaľ čo pri prerušení I / O zariadenie prerušuje procesor a hovorí CPU, že potrebuje CPU, Rozprávali som niektoré rozdiely medzi prerušením a hlasovaním v porovnávacej tabuľke nižšie. Pozrite sa.

Porovnávacia tabuľka

Základ pre porovnaniePrerušiťpolling
základnéZariadenie oznámi CPU, že potrebuje pozornosť CPU.CPU neustále kontroluje stav zariadenia, či potrebuje pozornosť CPU.
MechanizmusPrerušenie je hardvérový mechanizmus.Polling je protokol.
opravovaťPrevádzkovateľ prerušenia obsluhuje zariadenie.CPU zariadenie zariadenie.
indikáciaLinka prerušenia-požiadavky označuje, že zariadenie potrebuje opravu.Bit pripravený na pripravenie znamená, že zariadenie potrebuje opravu.
CPUCPU je narušený len vtedy, keď zariadenie potrebuje servis, čo šetrí cykly procesora.CPU musí čakať a skontrolovať, či zariadenie potrebuje opravu, čo spôsobí mnoho cyklov CPU.
výskytPrerušenie môže nastať kedykoľvek.CPU spravidla vyhľadáva zariadenia v pravidelných intervaloch.
efektívnosťPrerušenie sa stáva neúčinným, keď zariadenia stále opakovane prerušujú procesor.
Polling sa stáva neúčinným, keď CPU zriedka nájde zariadenie pripravené na opravu.
príkladNech zvonček zvoní a otvorte dvere, aby ste zistili, kto prišiel.Neustále pokračujte v otvorení dverí, aby ste skontrolovali, či niekto prišiel.

Definícia prerušenia

Prerušenie je hardvérový mechanizmus, ktorý umožňuje procesorovi zistiť, že zariadenie potrebuje svoju pozornosť. CPU má linku na žiadosť o prerušenie drôtu, ktorú kontroluje procesor po vykonaní každej jednej inštrukcie. Keď CPU sníma signál prerušenia na linke požiadavky na prerušenie, CPU zastaví aktuálne vykonávanú úlohu a reaguje na príkaz na prerušenie odosielania zariadením I / O tým, že prejde ovládacím prvkom na obsluhu prerušenia . Funkcia prerušenia odstráni prerušenie obsluhou zariadenia.

Napriek tomu, že procesor si neuvedomuje, kedy dôjde k prerušeniu, kedykoľvek môže dôjsť k prerušeniu, musí reagovať na prerušenie vždy, keď k nemu dôjde.

Keď obslužný program prerušenia ukončí vykonanie prerušenia, CPU obnoví vykonanie úlohy, ktorá sa zastavila, aby reagovala na prerušenie. Softvér, hardvér, používateľ, niektoré chyby v programe atď. Môžu tiež spôsobiť prerušenie. Prerušenie manipulácie s povahou CPU vedie k multitaskingu, tj používateľ môže vykonávať rad rôznych úloh súčasne.

Ak sa do CPU odosiela viac ako jedno prerušenie, obslužný program prerušenia pomáha pri spravovaní prerušení, ktoré čakajú na spracovanie. Keďže obslužný program prerušenia sa vyvolá prijímaním prerušenia, uprednostňuje prerušenie, ktoré čaká na spracovanie procesorom a usporiada ho do frontu, aby sa dostal do servisu.

Definícia hlasovania

Ako sme videli pri prerušení, vstup z I / O zariadenia môže doraziť kedykoľvek požadovať, aby procesor spracoval. Polling je protokol, ktorý oznámi CPU, že zariadenie potrebuje svoju pozornosť. Na rozdiel od prerušenia, kde zariadenie hovorí CPU, že potrebuje spracovanie procesora, v procesore dotazovania procesor stále pýta I / O zariadenie, či potrebuje spracovanie procesora.

CPU nepretržite testuje každé pripojené zariadenie na zisťovanie toho, či zariadenie vyžaduje pozornosť CPU. Každé zariadenie má bit pripravený na príkaz, ktorý označuje stav daného zariadenia, tj či má nejaký príkaz, ktorý má CPU vykonať, alebo nie. Ak je príkazový bit nastavený na hodnotu 1, potom má nejaký príkaz iný príkaz, ak je bit 0, potom nemá žiadne príkazy. CPUzaneprázdnený bit, ktorý indikuje stav procesora, či je obsadený alebo nie. Ak je obsadený bit nastavený na hodnotu 1, potom je obsadený pri vykonávaní príkazu niektorého zariadenia, inak je 0 .

Algoritmus pre hlasovanie

  • Keď zariadenie má nejaký príkaz na vykonanie CPU, nepretržite kontroluje zaneprázdnený bit CPU, kým sa nezjaví (0).
  • Keď je zaneprázdnený bit jasný, prístroj zapíše zápisný zápis do svojho registra príkazov a zapíše bajt v registri údajov.
  • Teraz prístroj nastaví (1) bit pripravený na príkaz.
  • Keď procesor skontroluje bit pripravený na príkazy a zistí, že je nastavený (1), nastaví (1) svoj zaneprázdnený bit.
  • CPU potom číta príkazový register prístroja a vykoná príkaz zariadenia.
  • Po vykonaní príkazu procesor vymaže (0) bit pripravený na príkaz, chybový bit prístroja, ktorý indikuje úspešné vykonanie príkazu zariadenia a ďalej vymaže (0) jeho zaneprázdnený bit takisto, aby indikoval, že CPU je schopný vykonať príkaz iného zariadenia.

Kľúčové rozdiely medzi prerušením a hlasovaním v systéme OS

  1. Pri prerušení prístroj oznámi CPU, že potrebuje servis, zatiaľ čo v procesore dotazovania procesor opakovane kontroluje, či zariadenie potrebuje servis.
  2. Prerušenie je hardvérový mechanizmus, pretože procesor má drôt, linku prerušenia-požiadavky, ktorá signalizuje, že došlo k prerušeniu. Na druhej strane je Polling protokol, ktorý kontroluje kontrolné bity, aby upozornili, či má zariadenie niečo vykonať.
  3. Manipulátor prerušenia spracováva prerušenia generované zariadeniami. Na druhej strane, pri volaní, procesor obsluhuje zariadenie, keď to vyžaduje.
  4. Prerušenia sú signalizované riadkom prerušenia-požiadavky . Bit pripravený na príkazy však naznačuje, že zariadenie potrebuje údržbu.
  5. Pri prerušení je procesor narušený len vtedy, keď ho niektoré zariadenie preruší. Na druhej strane v procese prieskumu procesor zlikviduje veľa cyklov CPU tým, že opakovane kontroluje bit pripravený na príkaz každého zariadenia.
  6. Prerušenie sa môže vyskytnúť v ľubovoľnom okamihu, zatiaľ čo CPU udržiava zariadenie v pravidelných intervaloch .
  7. Výzva sa stáva neúčinnou, keď procesor pokračuje v vyhľadávaní zariadenia a len zriedka nájde zariadenie pripravené na opravu. Na druhej strane, prerušenia sa stávajú neúčinnými, keď zariadenia stále opakovane prerušujú spracovanie procesora.

záver:

Funkcia prieskumu a prerušenia je účinná pri obsluhe vstupno-výstupných zariadení. Ale môžu sa stať neefektívnymi v určitom stave, ako je uvedené vyššie.

Top