Rekomenduojama, 2020

Redaktoriaus Pasirinkimas

Skirtumas tarp nutraukimo ir apklausų operacinėje sistemoje

Mes turime daug išorinių įrenginių, prijungtų prie procesoriaus, pavyzdžiui, pelės, klaviatūros, skaitytuvo, spausdintuvo ir tt Šie įrenginiai taip pat turi dėmesio CPU. Tarkime, CPU yra užimtas rodant PDF ir spustelėję lango medijos leistuvo piktogramą darbalaukyje. Nors CPU neturi jokios idėjos, kai įvyktų toks įvykis, tačiau jis turi reaguoti į tokius įvesties duomenis iš I / O įrenginių. Pertraukimas ir apklausa yra du būdai, kaip tvarkyti įrenginių sukurtus įvykius, kurie gali įvykti bet kuriuo metu, o procesorius yra užimtas vykdant kitą procesą.

Apklausa ir nutraukimas leidžia CPU sustabdyti tai, ką ji šiuo metu daro, ir reaguoti į svarbesnę užduotį. Apklausa ir pertrauka daugeliu aspektų skiriasi. Tačiau pagrindinis taškas, kuris išskiria apklausą ir pertrauką, yra tas, kad rinkimuose procesorius reguliariai tikrina I / O įrenginius, ar jam reikia CPU paslaugos, o pertraukiant I / O įrenginys nutraukia procesorių ir praneša procesoriui, kad jam reikia CPU paslaugos . Aš aptariau kai kuriuos skirtumus tarp pertraukos ir apklausos žemiau esančioje palyginimo lentelėje, prašome pažvelgti.

Palyginimo diagrama

Palyginimo pagrindasNutrauktiApklausa
PagrindinisĮrenginys praneša CPU, kad jam reikia CPU dėmesio.CPU nuolat tikrina įrenginio būseną, ar jam reikia CPU dėmesio.
MechanizmasNutraukimas yra aparatūros mechanizmas.Apklausa yra protokolas.
Techninė priežiūraNutraukti prižiūrėtoją teikiama paslauga.CPU teikia paslaugas.
NuorodaPertraukos užklausos eilutė rodo, kad įrenginys turi techninę priežiūrą.Komanda pasiruošusi bitė rodo, kad įrenginys turi techninę priežiūrą.
CPUCPU sutrikdomas tik tada, kai prietaisui reikia priežiūros, taigi taupo procesoriaus ciklus.CPU turi palaukti ir patikrinti, ar įrenginiui reikia techninės priežiūros, kuri atlieka daug procesoriaus ciklų.
ĮvykisNutraukimas gali įvykti bet kuriuo metu.CPU reguliariai tikrina įrenginius.
EfektyvumasNutraukimas tampa neveiksmingas, kai prietaisai nuolat kartoja procesorių.
Apklausa tampa neveiksminga, kai CPU retai randa įrenginį, paruoštą eksploatuoti.
PavyzdysTada žiedo žiedas tada atidarykite duris, kad patikrintumėte, kas atėjo.Nuolat atidarykite duris ir patikrinkite, ar kas nors atėjo.

Pertraukos apibrėžimas

Nutraukimas yra aparatūros mechanizmas, leidžiantis CPU aptikti, kad prietaisui reikia jo dėmesio. CPU turi laidų pertraukimo užklausos eilutę, kurią CPU patikrina atlikus kiekvieną nurodymą. Kai CPU pertraukimo užklausos eilutėje suvokia pertraukimo signalą, procesorius sustabdo savo šiuo metu vykdančią užduotį ir reaguoja į pertraukimo siuntimą I / O įrenginiu, perduodamas valdiklį, kad nutrauktų tvarkyklę . Pertraukos tvarkytojas išsprendžia nutraukimą, aptarnaujant įrenginį.

Nors CPU nežino, kada įvyktų pertrauka, nes ji gali įvykti bet kuriuo metu, tačiau ji turi reaguoti į pertrauką, kai ji įvyksta.

Kai nutraukimo tvarkytojas baigia pertraukos vykdymą, tada CPU atnaujina užduoties, kurią jis sustabdė, atsakymą į pertrauką. Programinė įranga, techninė įranga, vartotojas, kai kurios programos klaidos ir kt. Taip pat gali sukelti pertrauką. Centrinio procesoriaus veikimo nutraukimas veda prie daugiafunkcinio darbo, ty vartotojas tuo pačiu metu gali atlikti keletą skirtingų užduočių.

Jei į procesorių siunčiami daugiau nei vienas pertraukimas, pertraukimo tvarkytojas padeda valdyti pertrūkius, kurie laukia apdorojimo. Kadangi pertraukiklio priėmimas įsijungia į pertraukos tvarkyklę, pirmenybė teikiama pertraukimams, laukiantiems procesoriaus apdorojimo, ir juos išdėsto eilėje, kad gautų aptarnavimą.

Apklausos apibrėžimas

Kaip matėme pertraukimuose, įvesties iš I / O įrenginys gali atvykti bet kuriuo metu, prašydamas CPU jį apdoroti. Apklausa yra protokolas, kuris praneša procesoriui, kad prietaisui reikia jo dėmesio. Skirtingai nei pertraukos atveju, kai įrenginys nurodo, kad procesoriui reikia procesoriaus apdorojimo, rinkimuose procesorius nuolat prašo I / O įrenginio, ar jam reikia procesoriaus apdorojimo.

CPU nuolat tikrina kiekvieną prie jo prijungtą įrenginį, kad nustatytų, ar bet kuriam įrenginiui reikia CPU dėmesio. Kiekvienas įrenginys turi komandų paruošimo bitą, kuris nurodo šio įrenginio būseną, ty ar jis turi tam tikrą komandą, kurią turi atlikti CPU, ar ne. Jei komandų bitas yra nustatytas 1, tada ji turi tam tikrą komandą, kuri turi būti vykdoma, jei bitas yra 0, tada jis neturi komandų. CPU turi užimtas bitą, rodantį procesoriaus būseną, nesvarbu, ar jis yra užimtas, ar ne. Jei užimtas bitas yra nustatytas 1, tada jis užima kai kurių įrenginių komandų vykdymą, kitaip jis yra 0 .

Apklausos algoritmas

  • Kai įrenginys turi tam tikrą komandą, kurią turi atlikti CPU, jis nuolat tikrina užimamą CPU bitą, kol jis tampa aiškus (0).
  • Kai užimtas bitas tampa aiškus, įrenginys įrašo bitą savo komandų registre ir įrašo baitą duomenų išregistravimo registre.
  • Dabar įrenginys nustato (1) komandą paruoštą bitą.
  • Kai CPU tikrina įrenginio komandų paruošimo bitą ir nustato, kad jis yra nustatytas (1), jis nustato (1) užimamą bitą.
  • Tada CPU nuskaito įrenginio komandų registrą ir atlieka įrenginio komandą.
  • Po komandų vykdymo, CPU išvalo (0) komandų parengimo bitą, įrenginio klaidų bitą, nurodydamas sėkmingą įrenginio komandos vykdymą, ir toliau išvalo (0) užimamą bitą taip pat, kad CPU galėtų laisvai atlikti kito prietaiso komandą.

Pagrindiniai skirtumai tarp nutraukimo ir apklausų operacinėje sistemoje

  1. Pertraukiant prietaisas praneša centriniam procesoriui, kad jam reikia priežiūros, o rinkimo procesorius pakartotinai tikrina, ar įrenginys turi techninę priežiūrą.
  2. Nutraukimas yra aparatinės įrangos mechanizmas, nes CPU turi laidą, nutraukimo užklausos liniją, kuri signalizuoja, kad pertrauka įvyko. Kita vertus, „Apklausa“ yra protokolas, kuris tikrina kontrolinius bitus, kad praneštų, ar įrenginys turi ką nors atlikti.
  3. Pertraukimo tvarkytojas tvarko prietaisų sukurtus pertraukimus. Kita vertus, apklausoje CPU įrenginį teikia, kai reikia.
  4. Pertraukimus signalizuoja nutraukimo užklausos eilutė . Tačiau „ Command-ready bit“ rodo, kad įrenginys turi techninę priežiūrą.
  5. Pertraukimuose procesorius trikdomas tik tada, kai bet kuris prietaisas jį nutraukia. Kita vertus, apklausoje CPU atlieka daug procesoriaus ciklų, pakartotinai tikrindamas kiekvieno įrenginio komandų paruošimo bitą.
  6. Nutraukimas gali įvykti bet kuriuo laiko momentu, o CPU reguliariai reguliuoja įrenginį.
  7. Apklausa tampa neveiksminga, kai procesorius nuolat apklausa įrenginį ir retai randa bet kokį įrenginį, paruoštą techninei priežiūrai. Kita vertus, pertraukimai tampa neveiksmingi, kai prietaisai nuolat nutraukia procesoriaus apdorojimą.

Išvada:

Tiek „Polling“, tiek „Interrupts“ yra efektyvūs dalyvaujant I / O įrenginiuose. Tačiau jie gali tapti neefektyvūs tam tikromis sąlygomis, kaip aptarta aukščiau.

Top