Ieteicams, 2020

Redaktora Izvēle

Starpība starp pārtraukšanu un aptauju operētājsistēmā

CPU ir pievienotas daudzas ārējas ierīces, piemēram, pele, tastatūra, skeneris, printeris utt. Šīm ierīcēm ir nepieciešama arī CPU uzmanība. Pieņemsim, ka CPU ir aizņemts, parādot PDF failu un noklikšķinot uz loga multivides atskaņotāja ikonas uz darbvirsmas. Lai gan CPU nav ideju, ja tāds notikums varētu notikt, bet tam ir jāatbild uz I / O ierīcēm. Pārtraukšana un aptaujas ir divi veidi, kā rīkoties ar ierīcēm, kas var notikt jebkurā brīdī, kamēr CPU ir aizņemts, lai izpildītu citu procesu.

Aptaujas un pārtraukšana ļauj CPU apturēt to, ko tas pašlaik dara, un atbildēt uz svarīgāko uzdevumu. Aptaujas un pārtraukšana daudzos aspektos atšķiras viena no otras. Bet galvenais jautājums, kas atšķir Polling un Interrupt, ir tas, ka vēlēšanu procesors regulāri pārbauda I / O ierīces, vai tai ir nepieciešams CPU pakalpojums, bet, pārtraucot, I / O ierīce pārtrauc CPU un norāda CPU, ka CPU ir nepieciešams CPU . Es esmu apspriedis dažas atšķirības starp pārtraukumu un aptaujas jautājumiem zemāk esošajā salīdzinājuma tabulā, lūdzu, apskatiet.

Salīdzinājuma diagramma

Salīdzinājuma pamatsPārtrauktAptaujas
PamataIerīce paziņo CPU, ka tai ir nepieciešama CPU uzmanība.CPU pastāvīgi pārbauda ierīces statusu, vai tai ir nepieciešama CPU uzmanība.
MehānismsPārtraukums ir aparatūras mehānisms.Aptauja ir protokols.
ApkalpošanaPārrāvuma apkalpošana nodrošina ierīci.CPU nodrošina ierīci.
NorādePieprasījuma rinda norāda, ka ierīcei ir nepieciešama apkope.Komanda-gatavs bits norāda, ka ierīcei nepieciešama apkope.
ProcesorsCPU tiek traucēts tikai tad, ja ierīcei nepieciešama apkope, kas ietaupa CPU ciklus.CPU ir jāgaida un jāpārbauda, ​​vai ierīcei nepieciešama apkope, kas izšķērdē daudz CPU ciklu.
NotikumsPārtraukums var notikt jebkurā laikā.CPU regulāri aptauj ierīces.
EfektivitātePārtraukšana kļūst neefektīva, kad ierīces atkārtoti pārtrauc CPU.
Apsekošana kļūst neefektīva, ja CPU reti atrod ierīci, kas ir gatava darbam.
PiemērsTad ļaujiet zvana gredzenam atvērt durvis, lai pārbaudītu, kas ir ieradies.Pastāvīgi turpiniet atvērt durvis, lai pārbaudītu, vai kāds ir ieradies.

Apturēšanas definīcija

Pārtraukums ir aparatūras mehānisms, kas ļauj CPU atklāt, ka ierīcei ir nepieciešama tās uzmanība. CPU ir vadu pārtraukšanas pieprasījuma līnija, kuru CPU pārbauda pēc katras atsevišķas instrukcijas izpildes. Kad CPU uztver pārtraukuma signālu uz pārtraukuma pieprasījuma līnijas, CPU aptur tā pašlaik izpildošo uzdevumu un reaģē uz pārtraukšanas sūtīšanu ar I / O ierīci, nododot vadību, lai pārtrauktu apstrādātāju . Pārtraucējs pārtrauc pārtraukumu, apkalpojot ierīci.

Lai gan CPU nav informēts par to, kad pārtraukums varētu notikt, jo tas var notikt jebkurā brīdī, bet tai ir jāatbild uz pārtraukumu, kad tas notiek.

Kad pārtraukt apstrādātājs pabeidz pārtraukumu, tad CPU atsāk izpildīt uzdevumu, ko tā pārtrauca, lai reaģētu uz pārtraukumu. Programmatūra, aparatūra, lietotājs, kāda kļūda programmā utt. Var radīt arī pārtraukumu. CPU darbības pārtraukšana noved pie daudzuzdevumu veikšanas, ti, lietotājs vienlaikus var veikt vairākus dažādus uzdevumus.

Ja CPU tiek nosūtīti vairāki pārtraukumi, pārtraukt apstrādātājs palīdz pārvaldīt pārtraukumus, kas gaida apstrādi. Tā kā pārtraukuma apstrādātājs tiek aktivizēts ar pārtraukuma saņemšanu, tas prioritāti piešķir pārtraukumiem, kas gaida, lai tos apstrādātu CPU, un tos sakārto rindā, lai saņemtu servisu.

Aptaujas definīcija

Kā mēs redzējām pārtraukumos, I / O ierīces ieeja var nonākt jebkurā brīdī, pieprasot CPU to apstrādāt. Aptauja ir protokols, kas paziņo CPU, ka ierīcei ir nepieciešama tās uzmanība. Atšķirībā no pārtraukuma, kur ierīce CPU norāda, ka tai ir nepieciešama CPU apstrāde, vēlēšanu procesā CPU jautā I / O ierīcei, vai tai ir nepieciešama CPU apstrāde.

CPU nepārtraukti pārbauda katru pievienoto ierīci, lai noteiktu, vai kādai ierīcei ir nepieciešama CPU uzmanība. Katrai ierīcei ir komandu gatavs bits, kas norāda šīs ierīces statusu, ti, vai tai ir kāda komanda, kas jāveic CPU, vai nē. Ja komandu bits ir iestatīts 1, tad tam ir jābūt izpildāmai komandai, ja bits ir 0, tad tai nav komandu. CPU ir aizņemts bits, kas norāda CPU statusu neatkarīgi no tā, vai tas ir aizņemts vai nē. Ja aizņemts bits ir iestatīts 1, tad tas ir aizņemts, izpildot kādas ierīces komandu, citādi tas ir 0 .

Aptaujas algoritms

  • Ja ierīcei ir kāda CPU izpildāmā komanda, tā nepārtraukti pārbauda CPU aizņemto bitu, līdz tas kļūst skaidrs (0).
  • Tā kā aizņemts bits kļūst skaidrs, ierīce ieraksta biti komandu reģistrā un raksta baitu datu izejas reģistrā.
  • Tagad ierīce iestata (1) komandu gatavo bitu.
  • Kad CPU pārbauda ierīču komandu gatavo bitu un atrod to (1), tas iestata (1) aizņemto bitu.
  • Tad CPU nolasa ierīces komandu reģistru un izpilda ierīces komandu.
  • Pēc komandas izpildes CPU izdzēš (0) komandu gatavo bitu, ierīces kļūdas bitu, lai norādītu uz ierīces komandas veiksmīgu izpildi, un turklāt tā dzēš (0) aizņemto bitu, lai norādītu, ka CPU var brīvi izpildīt kādas citas ierīces komandu.

Galvenās atšķirības starp pārtraukšanu un aptauju operētājsistēmā

  1. Pārtraukšanas gadījumā ierīce paziņo CPU, ka tai ir nepieciešama apkalpošana, savukārt CPU atkārtoti pārbauda, ​​vai ierīcei nepieciešama apkope.
  2. Pārtraukt ir aparatūras mehānisms, jo CPU ir vads, pārtraukuma pieprasīšanas līnija, kas signalizē, ka pārtraukums ir noticis. No otras puses, aptauja ir protokols, kas kontrolē kontroles bitus, lai paziņotu, vai ierīcei ir kaut kas izpildāms.
  3. Pārtraucējs apstrādā ierīces radītos pārtraukumus. No otras puses, aptaujā, CPU nodrošina ierīci, kad tas nepieciešams.
  4. Pārtraukumus pieprasa pārtraukšanas pieprasījuma līnija . Tomēr komandu sagatavošanas bits norāda, ka ierīcei nepieciešama apkope.
  5. Pārrāvumos CPU tiek traucēts tikai tad, ja kāda ierīce to pārtrauc. No otras puses, aptaujā, CPU atkritumi daudz CPU cikli, atkārtoti pārbaudot komandu gatavo bitu katras ierīces.
  6. Pārtraukums var notikt jebkurā laika brīdī, kamēr CPU regulāri uztver ierīci.
  7. Apsekošana kļūst neefektīva, kad CPU turpina aptaujāt ierīci un reti atrod kādu ierīci, kas ir gatava apkopei. No otras puses, pārtraukumi kļūst neefektīvi, kad ierīces atkārtoti pārtrauc CPU apstrādi.

Secinājums:

Gan Polling, gan Interrupts ir efektīvs, lai apmeklētu I / O ierīces. Bet tie var kļūt neefektīvi noteiktā stāvoklī, kā minēts iepriekš.

Top