Erinevus katkestamise ja küsitluse vahel OS-is

Autor: Laura McKinney
Loomise Kuupäev: 2 Aprill 2021
Värskenduse Kuupäev: 15 Mai 2024
Anonim
Erinevus katkestamise ja küsitluse vahel OS-is - Tehnoloogia
Erinevus katkestamise ja küsitluse vahel OS-is - Tehnoloogia

Sisu


Protsessori külge on ühendatud palju väliseid seadmeid, näiteks hiir, klaviatuur, skanner, er jne. Need seadmed vajavad ka protsessori tähelepanu. Oletame, et CPU on hõivatud PDF-i kuvamisega ja klõpsate töölaual akna meediumipleieri ikooni. CPU-l pole küll aimugi, millal selline sündmus aset leiab, kuid ta peab vastama sellistele sisenditele I / O-seadmetest. Katkestamine ja küsitlus on kaks viisi, kuidas käsitleda seadmete genereeritud sündmusi, mis võivad juhtuda igal ajal, kui CPU on hõivatud mõne muu protsessi täitmisega.

Polling and Interrupt laseb CPU-l peatada selle, mida ta praegu teeb, ja reageerida tähtsamale ülesandele. Küsitlus ja katkestamine erinevad üksteisest paljudes aspektides. Kuid põhiline punkt, mis eristab küsitlust ja katkestamist, on see, et küsitlus CPU kontrollib regulaarselt I / O seadmeid, kas see vajab CPU teenust, samas kui sisse lülitatud vahele segama, siis I / O-seade katkestab CPU ja teatab CPU-le, et ta vajab CPU-teenust. Olen arutanud mõningaid erinevusi katkestamise ja küsitluse vahel allolevas võrdlustabelis, palun uurige lähemalt.


  1. Võrdlusdiagramm
  2. Definitsioon
  3. Peamised erinevused
  4. Järeldus

Võrdlusdiagramm

Võrdluse alusVahele segamaKüsitlus
PõhilineSeade teatab CPU-le, et ta vajab CPU-le tähelepanu.CPU kontrollib pidevalt seadme olekut, kas see vajab CPU tähelepanu.
MehhanismKatkestus on riistvara mehhanism.Küsitlus on protokoll.
HooldamineKatkestatud käitleja teenindab seadet.Protsessor teenindab seadet.
MärgeKatkestusnõue näitab, et seade vajab hooldamist.Comand-ready bit näitab, et seade vajab hooldamist.
ProtsessorCPU on häiritud ainult siis, kui seade vajab hooldust, mis säästab CPU tsükleid.Protsessor peab ootama ja kontrollima, kas seade vajab hooldust, mis raiskab palju protsessori tsükleid.
EsinemineKatkestus võib toimuda igal ajal.CPU küsitleb seadmeid regulaarselt.
TõhususKatkestus muutub ebaefektiivseks, kui seadmed jätkavad CPU korduvat katkestamist.
Küsitlus muutub ebatõhusaks, kui CPU leiab harva seadme teenindusvalmis.
NäideLaske kelluke heliseda ja avage siis uks, et kontrollida, kes on tulnud.Jätkake ukse avamist, et kontrollida, kas keegi on tulnud.


Katkestuse mõiste

Katkestus on a riistvara mehhanism mis võimaldab CPU-l tuvastada, et seade vajab tähelepanu. Protsessoril on juhe katkesta-taotle rida mida kontrollib CPU pärast iga üksiku käsu täitmist. Kui CPU tunneb katkestussignaali katkestuse-päringu real, peatab CPU oma praegu täitva ülesande ja reageerib I / O-seadme katkestusele, juhtides juhtseadme katkestage käitleja. Katkestuste töötleja lahendab katkestuse seadet hooldades.

CPU ei tea küll katkestuse tekkimise hetkest, kuna see võib tekkida igal hetkel, kuid ta peab katkestusele reageerima alati, kui see juhtub.

Kui katkestuste töötleja lõpetab katkestamise, siis CPU jätkub katkestusele reageerimiseks peatatud ülesande täitmine. Tarkvara, riistvara, kasutaja, mingi viga programmisjne, võib tekitada ka katkestuse. Katkestab protsessori olemuse viimise multitegumtöötlus, st kasutaja saab korraga täita mitmeid erinevaid ülesandeid.

Kui CPU-le saadetakse mitu katkestust, aitab katkestuste töötleja töödeldavate katkestuste haldamisel. Kui katkestaja käitleja saab vallandas katkestuse vastuvõtmisega tähtsustab katkestused, mis ootavad protsessori töötlemist, ja korraldab need a järjekorda teeninduse saamiseks.

Küsitluse määratlus

Nagu katkestustest nägime, võib sisend I / O-seadmest saabuda igal ajal, taotledes protsessorit selle töötlemiseks. Küsitlus on a protokoll , mis annab CPU-le teada, et seade vajab tähelepanu. Erinevalt katkestustest, kus seade teatab CPU-le, et ta vajab CPU töötlemist, hoiab protsessor küsitlustes küsides I / O-seade, kas see vajab protsessori töötlemist.

CPU pidevalt testige iga selle külge kinnitatud seadet, et tuvastada, kas mõni seade vajab protsessori tähelepanu. Iga seade on käsklusvalmis bitt, mis näitab selle seadme olekut, st kas sellel on mingi käsk, mida CPU täidab või mitte. Kui käsk bitti on seatud 1, siis on sellel mõni käsk täita ka mujal, kui bit on 0, siis pole sellel käske. Protsessor on hõivatud natuke mis näitab protsessori olekut olenemata sellest, kas see on hõivatud või mitte. Kui hõivatud bit on seatud 1, siis on mõne seadme käsu täitmine hõivatud, muidu on see nii 0.

Küsitluse algoritm

  • Kui seadmel on mõni käsk, mida protsessor täidab, kontrollib see pidevalt protsessori hõivatud bitti, kuni see selgub (0).
  • Kui hõivatud bit saab selgeks, seab seade käsuregistris kirjutusbiti ja kirjutab baiti andmete väljundregistrisse.
  • Nüüd seab seade (1) käskluse valmis bitti.
  • Kui CPU kontrollib seadmete käsukorralduse bitti ja leiab, et see on seatud (1), seab see (1) oma hõivatud biti.
  • Seejärel loeb CPU seadme käsuregistrit ja täidab seadme käsku.
  • Pärast käsu täitmist tühjendab CPU (0) seadme käsuvalmidusbiti, veabitti, et näidata seadme käskluse edukat täitmist, ja seejärel tühjendab (0) oma hõivatud biti ka selleks, et näidata, et CPU on vaba täitmiseks mõne muu seadme käsk.
  1. Katkestuse korral teatab seade CPU-le, et vajab hooldust, samas kui küsitlusel kontrollib CPU korduvalt, kas seade vajab hooldust.
  2. Katkestus on a riistvara mehhanism kuna protsessoril on juhe, katkesta-taotle rida milline signaal selle katkestuse kohta on toimunud. Teisalt on küsitlus a protokoll mis kontrollib juhtimisbitid et teatada, kas seadmel on midagi täide viia.
  3. Katkestaja käitleja tegeleb seadmete tekitatud katkestustega. Teiselt poolt, küsitlustes, Protsessor teenindab seadet siis, kui nad seda vajavad.
  4. Katkestustest annab märku katkesta-taotle rida. Kuid, Käsklus valmis natuke näitama, et seade vajab hooldamist.
  5. Katkestuste korral on protsessor häiritud ainult siis, kui mõni seade selle katkestab. Teisest küljest raiskab CPU küsitlustes palju CPU tsükleid, kontrollides korduvalt iga seadme käsklusvalmis bitti.
  6. Katkestus võib toimuda kell mis tahes ajahetkel arvestades, et CPU hoiab seadet küsitlemas regulaarsed intervallid.
  7. Küsitlus muutub ebaefektiivseks, kui CPU jätkab seadme küsitlust ja harva leiab mõni teenindusvalmis seade. Teisest küljest muutuvad katkestused ebaefektiivseteks, kui seadmed jätkavad protsessori korduvat töötlemist.

Järeldus:

Nii küsitlused kui katkestused on sisend- / väljundseadmetes osalemiseks tõhusad. Kuid need võivad teatud tingimustel muutuda ebaefektiivseteks, nagu eespool käsitletud.