Preporučeno, 2024

Izbor Urednika

Razlika između prekida i glasovanja u OS-u

Imamo mnogo vanjskih uređaja priključenih na CPU kao što su miš, tipkovnica, skener, pisač, itd. Ovi uređaji također trebaju pozornost CPU-a. Pretpostavimo da je CPU zauzet prikazivanjem PDF-a i na radnoj površini kliknete ikonu prozora media player. Iako CPU nema nikakvu ideju kada bi se takav događaj dogodio, ali na takve ulaze mora odgovoriti od U / I uređaja. Prekid i anketiranje dva su načina za rukovanje događajima koje generiraju uređaji koji se mogu dogoditi u bilo kojem trenutku dok je CPU zauzet u izvršavanju drugog procesa.

Polling i Interrupt dopuštaju CPU-u da zaustavi ono što trenutno radi i odgovori na važniji zadatak. Glasanje i prekid su međusobno različiti u mnogim aspektima. No, osnovna točka koja razlikuje Polling i Interrupt je da u glasovanju CPU nastavlja provjeravati I / O uređaje u redovitim intervalima, da li mu je potrebna CPU usluga, dok, u prekidu, I / O uređaj prekida CPU i kaže CPU-u da treba CPU uslugu, Razgovarao sam o nekim razlikama između interrupta i ankete u donjoj tablici usporedbe, pogledajte.

Tablica usporedbe

Osnova za usporedbuPrekinutiprozivanje
Osnovni, temeljniUređaj obavijesti CPU da mu je potrebna CPU pozornost.CPU stalno provjerava status uređaja da li mu treba pozornost CPU-a.
MehanizamPrekid je hardverski mehanizam.Anketiranje je protokol.
ServisiranjeVoditelj prekida servisira uređaj.CPU servisira uređaj.
naznakaLinija zahtjeva za prekidom označava da je uređaju potrebno servisiranje.Komandna bit označava da uređaj treba servisirati.
CPUCPU je poremećen samo kada uređaj treba servisirati, što štedi cikluse procesora.CPU mora čekati i provjeriti treba li uređaju servisiranje koje troši puno CPU ciklusa.
događajDo prekida može doći u bilo koje vrijeme.CPU ispituje uređaje u redovitim intervalima.
efikasnostPrekid postaje neučinkovit kada uređaji stalno prekidaju procesor.
Pozivanje postaje neučinkovito kada CPU rijetko nađe uređaj spreman za uslugu.
PrimjerNeka zvono zazvoni onda otvorite vrata da provjerite tko je došao.Stalno nastavite otvarati vrata kako bi provjerili je li netko došao.

Definicija prekida

Prekid je hardverski mehanizam koji omogućuje CPU-u da otkrije da uređaj treba njegovu pozornost. CPU ima liniju zahtjeva za prekidom žice koju provjerava CPU nakon izvršenja svake pojedine instrukcije. Kada CPU osjeti signal prekida na liniji zahtjeva za prekidom, CPU zaustavlja svoj trenutačno izvršavajući zadatak i reagira na slanje prekida putem I / O uređaja prosljeđivanjem kontrole prekidaču . Rukovatelj prekidom rješava prekid servisiranjem uređaja.

Iako CPU nije svjestan kada bi došlo do prekida kao što se može dogoditi u bilo kojem trenutku, ali mora reagirati na prekid kad god se to dogodi.

Kada rukovatelj prekida završi izvršenje prekida, procesor nastavlja izvršavanje zadatka koji je zaustavljen radi odgovora na prekid. Softver, hardver, korisnik, neka pogreška u programu, itd. Također mogu generirati prekid. Priroda CPU-a u prekidima dovodi do višezadaćnosti, tj. Korisnik može istodobno izvesti niz različitih zadataka.

Ako se CPU-u pošalje više od jednog prekida, rukovatelj prekidom pomaže u upravljanju prekidima koji čekaju na obradu. Kako se rukovatelj prekidom pokreće prijemom prekida, on daje prioritet prekidima koji čekaju da ih obradi CPU i rasporedi ih u red kako bi ih se moglo servisirati.

Definicija glasovanja

Kao što smo vidjeli u prekidima, ulaz iz I / O uređaja može stići u bilo kojem trenutku od CPU-a da ga obradi. Anketiranje je protokol koji CPU obavještava da je uređaju potrebna njegova pažnja. Za razliku od u prekidu, gdje uređaj govori CPU-u da mu je potrebna obrada CPU-a, u glasovanju CPU nastavlja tražiti I / O uređaj da li mu je potrebna procesorska obrada.

CPU kontinuirano testira svaki uređaj priključen na njega kako bi otkrio treba li bilo koji uređaj CPU pozornost. Svaki uređaj ima bit spreman za naredbe koji označava status tog uređaja, tj. Ima li neka naredba koju treba izvršiti CPU ili ne. Ako je naredbeni bit postavljen 1, onda ima neku naredbu koja će biti izvršena ako je bit 0, onda nema naredbe. CPU ima zauzet bit koji ukazuje na status CPU-a da li je zauzet ili ne. Ako je zauzet bit postavljen 1, onda je zauzet u izvršavanju naredbe nekog uređaja, inače je 0 .

Algoritam za glasovanje

  • Kada uređaj ima neku naredbu koju treba izvršiti CPU, on kontinuirano provjerava zauzet dio CPU-a dok ne postane jasan (0).
  • Kako je zauzet bit postaje jasan, uređaj postavlja zapisni bit u svoj naredbeni registar i zapisuje bajt u registar podataka-izlaz.
  • Sada uređaj postavlja (1) bit spreman za naredbe.
  • Kada CPU provjeri bit komandi spreman za uređaje i pronađe da je postavljen (1), postavlja (1) svoj zauzet bit.
  • CPU zatim čita registar naredbi uređaja i izvršava naredbu uređaja.
  • Nakon izvršavanja naredbe, CPU briše (0) bit spreman za naredbe, bit pogreške na uređaju da označi uspješno izvršenje naredbe uređaja, a nadalje briše (0) njegov zauzet bit i ukazuje na to da je CPU slobodan za izvršavanje naredbu nekog drugog uređaja.

Ključne razlike između prekida i glasovanja u OS-u

  1. U prekidu, uređaj obavještava CPU da mu je potrebno servisiranje, dok u ispitivanju CPU stalno provjerava treba li uređaj servisiranje.
  2. Prekid je hardverski mehanizam jer CPU ima liniju za prekidanje zahtjeva koja signalizira da je došlo do prekida. S druge strane, anketiranje je protokol koji stalno provjerava kontrolne bitove kako bi se obavijestilo ima li uređaj nešto za izvršenje.
  3. Rukovatelj prekidima obrađuje prekide koje generiraju uređaji. S druge strane, u anketiranju, CPU servisira uređaj kada to zahtijeva.
  4. Prekidi se signaliziraju linijom zahtjeva za prekidom . Međutim, bit Command-ready pokazuje da uređaj treba servisirati.
  5. U prekidima, CPU je poremećen samo ako ga bilo koji uređaj prekine. S druge strane, u anketiranju, CPU troši mnogo procesorskih ciklusa tako što ponovno provjerava bit spreman za naredbe svakog uređaja.
  6. Prekid se može pojaviti u bilo kojem trenutku vremena, dok CPU stalno prati uređaj u redovitim intervalima .
  7. Pozivanje postaje neučinkovito kada procesor nastavi s ispitivanjem uređaja i rijetko pronalazi bilo koji uređaj spreman za servisiranje. S druge strane, prekidi postaju neučinkoviti kada uređaji nastavljaju prekidati obradu procesora više puta.

Zaključak:

I Polling i Interrupts su učinkoviti u pristupanju I / O uređajima. Ali oni mogu postati neučinkoviti u određenim uvjetima kao što je gore raspravljeno.

Top