Rozdiel medzi prerušením a výzvou v OS

Autor: Laura McKinney
Dátum Stvorenia: 2 Apríl 2021
Dátum Aktualizácie: 15 Smieť 2024
Anonim
Rozdiel medzi prerušením a výzvou v OS - Technológie
Rozdiel medzi prerušením a výzvou v OS - Technológie

Obsah


Máme veľa externých zariadení pripojených k CPU ako myš, klávesnica, skener, er atď. Tieto zariadenia si tiež vyžadujú pozornosť CPU. Predpokladajme, že procesor je zaneprázdnený zobrazovaním PDF a kliknete na ikonu prehrávača médií Windows na pracovnej ploche. Aj keď CPU nevie, kedy by nastala takáto udalosť, musí reagovať na takéto vstupy z I / O zariadení. Prerušenie a výzva sú dva spôsoby spracovania udalostí generovaných zariadeniami, ktoré sa môžu vyskytnúť kedykoľvek, keď je CPU zaneprázdnené vykonaním iného procesu.

Polling a Interrupt nechajú CPU zastaviť, čo práve robí, a reagovať na dôležitejšiu úlohu. Hlasovanie a prerušenie sa navzájom líšia v mnohých aspektoch. Ale základný bod, ktorý rozlišuje Polling a Interrupt, je ten v dopytovania CPU stále kontroluje vstupno-výstupné zariadenia v pravidelných intervaloch, či potrebuje službu CPU, zatiaľ čo v roku 2007 prerušiť, I / O zariadenie preruší CPU a oznámi CPU, že potrebuje CPU službu. V nasledujúcom porovnávacom diagrame som diskutoval o niektorých rozdieloch medzi prerušením a hlasovaním.


  1. Porovnávacia tabuľka
  2. definícia
  3. Kľúčové rozdiely
  4. záver

Porovnávacia tabuľka

Základ pre porovnaniePrerušiťpolling
základnéZariadenie upozorní CPU, že potrebuje pozornosť CPU.CPU neustále kontroluje stav zariadenia, či si vyžaduje pozornosť CPU.
MechanizmusPrerušenie je hardvérový mechanizmus.Anketa je protokol.
opravovaťObsluha prerušenia obsluhuje zariadenie.CPU obsluhuje zariadenie.
indikáciaRiadok prerušenia žiadosti naznačuje, že zariadenie potrebuje servis.Bit pripravený na použitie indikuje, že zariadenie potrebuje servis.
CPUCPU je narušený iba vtedy, keď zariadenie potrebuje servis, ktorý šetrí cykly CPU.CPU musí počkať a skontrolovať, či zariadenie potrebuje údržbu, ktorá zbytočne vyťažuje veľa cyklov CPU.
výskytK prerušeniu môže dôjsť kedykoľvek.CPU dotazuje zariadenia pravidelne.
efektívnosťPrerušenie sa stáva neúčinným, keď zariadenia opakovane prerušujú CPU.
Polling sa stáva neúčinným, keď CPU zriedka nájde zariadenie pripravené na servis.
príkladNech zvonček zazvoní a otvorí dvere, aby skontroloval, kto prišiel.Neustále otvárajte dvere, aby ste skontrolovali, či prišiel niekto.


Definícia prerušenia

Prerušenie je hardvérový mechanizmus ktorý CPU umožňuje zistiť, či zariadenie potrebuje svoju pozornosť. CPU má drôt riadok prerušenia žiadosti ktorý je skontrolovaný CPU po vykonaní každej jednotlivej inštrukcie. Keď CPU zistí signál prerušenia na riadku požiadavky na prerušenie, CPU zastaví svoju aktuálne vykonávanú úlohu a odpovie na prerušenie vstupno-výstupným zariadením odovzdaním riadenia do obsluha prerušenia, Obsluha prerušenia vyrieši prerušenie obsluhou zariadenia.

Aj keď CPU nie je informovaný o tom, kedy by nastalo prerušenie, pretože môže nastať kedykoľvek, musí prerušenie kedykoľvek reagovať.

Keď obsluha prerušenia dokončí vykonanie prerušenia, potom CPU pokračuje vykonanie úlohy, ktorú zastavila kvôli odpovedi na prerušenie. softvér, technické vybavenie, užívateľ, nejaká chyba v programeatď. môže tiež spôsobiť prerušenie. Prerušenie spracovania charakteru CPU vedie k multitasking, t. j. užívateľ môže vykonávať niekoľko rôznych úloh súčasne.

Ak sa do CPU pošle viac ako jedno prerušenie, obsluha prerušenia pomáha pri riadení prerušení, ktoré čakajú na spracovanie. Ako sa obsluha preruší spustené prijatím prerušenia uprednostňuje prerušenia čakajúce na spracovanie procesorom a usporiadajú ich do a fronta opraviť.

Definícia prieskumu

Ako sme videli v prerušeniach, vstup zo vstupno / výstupného zariadenia môže prísť kedykoľvek, keď sa od CPU vyžaduje jeho spracovanie. Anketa je a protokol ktorý upozorňuje CPU, že zariadenie potrebuje svoju pozornosť. Na rozdiel od prerušenia, keď zariadenie povie CPU, že potrebuje spracovanie CPU, pri výzve CPU zachováva pýta I / O zariadenie, či to vyžaduje spracovanie CPU.

CPU nepretržite otestujte každé pripojené zariadenie, aby zistilo, či nejaké zariadenie potrebuje pozornosť CPU. každý zariadeniePríkaz-ready bit, ktorý označuje stav tohto zariadenia, t. j. či má nejaký príkaz na vykonanie procesorom alebo nie. Ak je nastavený príkazový bit 1, potom má nejaký príkaz vykonať, ak je bit 0, potom nemá žiadne príkazy. CPUbusy bit ktorý indikuje stav CPU, či je zaneprázdnený alebo nie. Ak je obsadený bit nastavený 1, potom je zaneprázdnený vykonaním príkazu niektorého zariadenia, inak je 0.

Algoritmus pre hlasovanie

  • Keď zariadenie má nejaký príkaz, ktorý má byť vykonaný procesorom CPU, nepretržite kontroluje rušný bit CPU, kým sa neobjaví (0).
  • Keď sa obsadený bit vyjasní, zariadenie nastaví zapisovací bit vo svojom registri príkazov a zapíše byte do registra výstupných dát.
  • Teraz zariadenie nastaví (1) bit pripravený na príkaz.
  • Keď CPU skontroluje bit pripravený na vybavenie príkazom a zistí, že je nastavený (1), nastaví (1) svoj zaneprázdnený bit.
  • CPU potom prečíta príkazový register zariadenia a vykoná príkaz zariadenia.
  • Po vykonaní príkazu CPU vymaže (0) bit pripravený na príkaz, chybový bit zariadenia, čo indikuje úspešné vykonanie príkazu zariadenia, a ďalej vymaže (0) jeho zaneprázdnený bit, aby indikoval, že CPU je voľný na vykonanie príkaz iného zariadenia.
  1. Prerušene zariadenie oznámi CPU, že potrebuje servis, zatiaľ čo pri výzve CPU opakovane kontroluje, či zariadenie potrebuje servis.
  2. Prerušenie je technické vybavenie mechanizmus pretože procesor má drôt, riadok prerušenia žiadosti ktorý signál prerušenia nastal. Na druhej strane, Polling je protokol ktorý neustále kontroluje kontrolné bity upozorniť, či má zariadenie niečo na vykonanie.
  3. Obsluha prerušenia spracováva prerušenia generované zariadeniami. Na druhej strane pri hlasovaní CPU opravuje zariadenie, keď to vyžaduje.
  4. Prerušenia sú signalizované riadok prerušenia žiadosti, Avšak, Command-ready bit indikuje, že zariadenie potrebuje servis.
  5. Pri prerušeniach je CPU narušený iba vtedy, keď ho preruší akékoľvek zariadenie. Na druhej strane pri dotazovaní CPU mrhá veľa cyklov CPU opakovanou kontrolou bitov každého zariadenia pripravených na príkaz.
  6. K prerušeniu môže dôjsť o v akomkoľvek okamihu času zatiaľ čo CPU stále dotazuje zariadenie na pravidelné intervaly.
  7. Polling sa stáva neúčinným, keď CPU pokračuje v prieskume zariadenia a zriedka nájde akékoľvek zariadenie pripravené na servis. Na druhej strane prerušenia sa stávajú neúčinnými, keď zariadenia opakovane prerušujú spracovanie CPU.

záver:

Polling aj Interrupts sú účinné pri obsluhe vstupno-výstupných zariadení. Môžu sa však stať neefektívnymi za určitých podmienok, ako je uvedené vyššie.