Polling in Interrupt omogočata CPU, da ustavi trenutno delo in se odzove na pomembnejšo nalogo. Polling in Interrupt se v mnogih pogledih med seboj razlikujejo. Toda osnovna točka, ki razlikuje Polling in Interrupt, je, da pri klicanju CPU redno preverja I / O naprave v rednih intervalih, ali potrebuje storitev CPU, medtem ko V / O naprava prekinja CPU in pove CPU, da potrebuje storitev CPU . Razpravljal sem o nekaterih razlikah med prekinitvami in anketo v spodnji tabeli za primerjavo, prosim poglejte.
Primerjalna tabela
Podlaga za primerjavo | Prekinite | Glasovanje |
---|---|---|
Osnovno | Naprava obvesti CPU, da potrebuje pozornost CPU. | CPU stalno preverja stanje naprave, ali potrebuje pozornost CPU. |
Mehanizem | Prekinitev je mehanizem strojne opreme. | Glasovanje je protokol. |
Servisiranje | Naprava za prekinitev dela napravo. | CPU uporablja napravo. |
Indikacija | Vrstica za zahtevo prekinitve pomeni, da naprava potrebuje servisiranje. | Bit-pripravljen bit kaže, da naprava potrebuje servisiranje. |
CPU | CPU je moten le, ko naprava potrebuje servisiranje, ki prihrani cikle procesorja. | CPU mora počakati in preveriti, ali naprava potrebuje servisiranje, ki zapravlja veliko ciklov procesorja. |
Pojavnost | Do prekinitve lahko pride kadar koli. | CPU anketira naprave v rednih intervalih. |
Učinkovitost | Prekinitev postane neučinkovita, ko naprave neprekinjeno prekinejo procesor. | Pozivanje postane neučinkovito, ko CPU redko najde napravo, pripravljeno za uporabo. |
Primer | Pustite zvonček, da odprete vrata, da preverite, kdo je prišel. | Nenehno odpirajte vrata in preverite, ali je kdo prišel. |
Opredelitev prekinitve
Prekinitev je strojni mehanizem, ki CPU omogoča, da zazna, da naprava potrebuje njegovo pozornost. CPU ima linijo za prekinitev z žico, ki jo CPU preveri po izvedbi vsakega posameznega navodila. Ko CPU zazna prekinitveni signal na liniji zahtevka prekinitve, CPU ustavi svojo trenutno izvršljivo nalogo in se odzove na prekinitveno pošiljanje z V / I napravo tako, da prenese nadzor prekinjenega upravljavca . Upravljalec prekinitve odpravi prekinitev s servisiranjem naprave.
Čeprav se CPU ne zaveda, kdaj pride do prekinitve, kot se lahko pojavi v vsakem trenutku, vendar se mora odzvati na prekinitev, kadar se pojavi.
Ko vodja prekinitve konča izvajanje prekinitve, CPU nadaljuje z izvajanjem naloge, ki jo je zaustavil zaradi odziva na prekinitev. Programska oprema, strojna oprema, uporabnik, nekatere napake v programu itd. Lahko povzročijo prekinitev. Narava CPU-jev zaradi prekinitev vodi v večopravilnost, kar pomeni, da lahko uporabnik izvaja več različnih nalog hkrati.
Če je na CPU poslanih več prekinitev, pomaga prekinitveni vodja pri upravljanju prekinitev, ki čakajo na obdelavo. Ko se prekinjevalnik sproži s sprejemom prekinitve, daje prednost prekinitvam, ki čakajo, da jih procesor obdela, in jih razporedi v čakalno vrsto, da jih servisira.
Opredelitev ankete
Kot smo videli v prekinitvah, lahko vhod iz I / O naprave prispete v vsakem trenutku in zahteva, da CPU obdeluje. Opravljanje je protokol, ki obvesti CPU, da naprava potrebuje njegovo pozornost. Za razliko od prekinitve, kjer naprava obvesti CPU, da potrebuje obdelavo CPU-ja, pri iskanju CPU še naprej sprašuje I / O napravo, ali potrebuje procesiranje procesorja.
CPU neprekinjeno preizkuša vsako napravo, ki je priključena nanj, za odkrivanje, ali katera naprava potrebuje pozornost CPU. Vsaka naprava ima bitno pripravljen ukaz, ki označuje stanje te naprave, tj. Ali ima kakšen ukaz, ki ga mora izvesti CPU ali ne. Če je ukazni bit nastavljen 1, potem ima še en ukaz, ki ga je treba izvesti, če je bit 0, potem nima ukazov. CPU ima zaseden bit, ki označuje stanje CPE, ali je zaseden ali ne. Če je zaseden bit nastavljen na 1, je zaseden pri izvrševanju ukaza neke naprave, drugače pa je 0 .
Algoritem za anketiranje
- Če ima naprava nekaj ukazov, ki jih mora izvesti CPU, neprekinjeno preverja zaseden bit CPU, dokler ne postane jasen (0).
- Ko postane bit za zasedenost jasen, naprava nastavi zapisovalni bit v svoj ukazni register in zapiše bajt v register podatkov.
- Zdaj naprava nastavi (1) bit pripravljen za ukaz.
- Ko CPU preveri bit-bit pripravljenosti naprav in ugotovi, da je nastavljen (1), nastavi (1) svoj zasedeni bit.
- CPU nato prebere ukazni register naprave in izvede ukaz naprave.
- Po izvedbi ukaza CPU izbriše (0) bit pripravljen za ukaz, bit napake naprave, ki označuje uspešno izvedbo ukaza naprave, in nadalje počisti (0) njegov zasedeni bit, da pokaže, da je CPU prost. ukaz druge naprave.
Ključne razlike med prekinitvami in javljanjem v OS
- V prekinitvi naprava obvesti CPU, da potrebuje servisiranje, medtem ko pri javljanju CPU večkrat preveri, ali naprava potrebuje servisiranje.
- Prekinitev je strojni mehanizem, saj ima CPU žico, prekinitveno zahtevo, ki signalizira, da je prišlo do prekinitve. Po drugi strani pa je Polling protokol, ki preverja kontrolne bitove, da bi obvestil, ali ima naprava nekaj, kar bi bilo treba izvesti.
- Upravljalec prekinitev obravnava prekinitve, ki jih generirajo naprave. Po drugi strani CPU v anketiranju uporablja napravo, ko jo potrebujejo.
- Prekinitve se signalizirajo z linijo zahtevka prekinitve . Vendar pa bitni ukaz Command-ready kaže, da naprava potrebuje servisiranje.
- V prekinitvah se CPU moti le, če ga prekine katera koli naprava. Po drugi strani pa pri polingu CPU zapravlja veliko ciklov procesorja z večkratnim preverjanjem bit-a pripravljenosti vsake naprave.
- Prekinitev se lahko pojavi v vsakem trenutku, medtem ko CPU ohranja napravo v rednih intervalih .
- Pozivanje postane neučinkovito, ko CPU še naprej preverja delovanje naprave in le redko najde napravo, pripravljeno za servisiranje. Po drugi strani pa prekinitve postanejo neučinkovite, ko naprave neprekinjeno prekinejo procesiranje procesorja.
Sklep:
Obe funkciji Polling in Interrupts sta učinkoviti pri obisku I / O naprav. Vendar pa lahko postanejo neučinkoviti v določenih pogojih, kot je opisano zgoraj.