Atšķirība starp sistēmas zvanu un pārtraukumu

Atšķirība starp sistēmas zvanu un pārtraukumu
Atšķirība starp sistēmas zvanu un pārtraukumu

Video: Atšķirība starp sistēmas zvanu un pārtraukumu

Video: Atšķirība starp sistēmas zvanu un pārtraukumu
Video: DARTH MAUL: Apprentice - A Star Wars Fan-Film 2024, Jūlijs
Anonim

Sistēmas zvans pret pārtraukumu

Tipisks procesors izpilda instrukcijas pa vienam. Taču var būt gadījumi, kad procesoram uz laiku ir jāapstājas un jāsaglabā pašreizējā instrukcija un jāizpilda kāda cita programma vai koda segments (kas atrodas citā vietā). Pēc šīs darbības procesors atgriežas normālā izpildē un turpina no vietas, kur tas tika pārtraukts. Šādi gadījumi ir sistēmas zvans un pārtraukums. Sistēmas izsaukums ir izsaukums uz sistēmā iebūvētu apakšprogrammu. Pārtraukums ir programmas vadības pārtraukums, ko izraisa ārējie aparatūras notikumi.

Kas ir sistēmas izsaukums?

Sistēmas izsaukumi nodrošina programmām, kas darbojas datorā, saskarni saziņai ar operētājsistēmu. Kad programmai ir jāpieprasa pakalpojums (kuram tai pašai nav atļaujas) no operētājsistēmas kodola, tā izmanto sistēmas izsaukumu. Lietotāja līmeņa procesiem nav tādas pašas atļaujas kā procesiem, kas tieši mijiedarbojas ar operētājsistēmu. Piemēram, lai sazinātos ar ārējo I/O ierīci vai mijiedarbotos ar citiem procesiem, programmai ir jāizmanto sistēmas izsaukumi.

Kas ir pārtraukums?

Datorprogrammas normālas izpildes laikā var būt notikumi, kas var izraisīt CPU īslaicīgu apstāšanos. Šādus notikumus sauc par pārtraukumiem. Pārtraukumus var izraisīt programmatūras vai aparatūras kļūdas. Aparatūras pārtraukumus sauc (vienkārši) par pārtraukumiem, savukārt programmatūras pārtraukumus sauc par izņēmumiem vai slazdiem. Kad pārtraukums (programmatūra vai aparatūra) ir paaugstināts, vadība tiek pārsūtīta uz īpašu apakšprogrammu, ko sauc par ISR (Interrupt Service Routine), kas var apstrādāt nosacījumus, ko rada pārtraukums.

Kā minēts iepriekš, termins Pārtraukt parasti ir paredzēts aparatūras pārtraukumiem. Tie ir programmas vadības pārtraukumi, ko izraisa ārējie aparatūras notikumi. Šeit ārējais nozīmē ārpus CPU. Aparatūras pārtraukumi parasti nāk no daudziem dažādiem avotiem, piemēram, taimera mikroshēma, perifērijas ierīces (tastatūras, peles utt.), I/O porti (seriālie, paralēlie utt.), diskdziņi, CMOS pulkstenis, paplašināšanas kartes (skaņas karte, video). karte utt.). Tas nozīmē, ka aparatūras pārtraukumi gandrīz nekad nenotiek kāda notikuma dēļ, kas saistīts ar izpildprogrammu. Piemēram, notikums, piemēram, lietotāja tastatūras nospiešana vai iekšējais aparatūras taimera taimauts, var palielināt šāda veida pārtraukumu un informēt centrālo procesoru, ka noteiktai ierīcei ir jāpievērš uzmanība. Šādā situācijā centrālais procesors pārtrauks visu, ko tas darīja (t.i., apturēs pašreizējo programmu), nodrošinās ierīcei nepieciešamo pakalpojumu un atgriezīsies pie parastās programmas.

Kāda ir atšķirība starp sistēmas zvanu un pārtraukumu?

Sistēmas izsaukums ir sistēmā iebūvētas apakšprogrammas izsaukums, savukārt pārtraukums ir notikums, kura dēļ procesors uz laiku aiztur pašreizējo izpildi. Tomēr viena no galvenajām atšķirībām ir tā, ka sistēmas zvani ir sinhroni, bet pārtraukumi nav. Tas nozīmē, ka sistēmas zvani notiek noteiktā laikā (parasti to nosaka programmētājs), taču pārtraukumi var notikt jebkurā laikā neparedzēta notikuma, piemēram, lietotāja nospiesta tastatūras taustiņa dēļ. Tāpēc, kad notiek sistēmas izsaukums, procesoram tikai jāatceras, kur atgriezties, bet pārtraukuma gadījumā procesoram ir jāatceras gan vieta, kur atgriezties, gan sistēmas stāvoklis. Atšķirībā no sistēmas izsaukuma pārtraukumam parasti nav nekāda sakara ar pašreizējo programmu.

Ieteicams: