Skillnaden Mellan Systemanrop Och Avbrott

Skillnaden Mellan Systemanrop Och Avbrott
Skillnaden Mellan Systemanrop Och Avbrott

Video: Skillnaden Mellan Systemanrop Och Avbrott

Video: Skillnaden Mellan Systemanrop Och Avbrott
Video: Ошибки в сантехнике. Вводной узел в квартиру. 2024, April
Anonim

Systemanrop vs Avbryt

En typisk processor utför instruktioner en efter en. Men det kan finnas tillfällen när processorn måste stanna tillfälligt och hålla den aktuella instruktionen och utföra något annat program eller kodsegment (finns på någon annan plats). Efter att ha gjort detta återgår processorn till normal körning och fortsätter från den plats där den slutade. Ett systemanrop och ett avbrott är sådana tillfällen. Ett systemanrop är ett samtal till en underrutin som är inbyggd i systemet. Ett avbrott är ett programstyrningsavbrott orsakat av externa hårdvaruhändelser.

Vad är ett systemsamtal?

Systemanrop ger program som körs på datorn ett gränssnitt för att prata med operativsystemet. När ett program behöver be om en tjänst (för vilken det inte själv har behörighet) från operativsystemets kärna använder det ett systemanrop. Processer på användarnivå har inte samma behörigheter som processerna som direkt interagerar med operativsystemet. Till exempel, för att kommunicera med och extern I / O-enhet eller för att interagera med andra processer måste ett program använda systemanrop.

Vad är ett avbrott?

Under normalt körning av ett datorprogram kan det finnas händelser som kan få CPU att stoppa tillfälligt. Händelser som detta kallas avbrott. Avbrott kan orsakas av program- eller maskinvarufel. Maskinvaruavbrott kallas (helt enkelt) avbrott, medan programavbrott kallas undantag eller fällor. När ett avbrott (mjukvara eller hårdvara) har höjts överförs kontrollen till en speciell underrutin som kallas ISR (Interrupt Service Routine) som kan hantera de förhållanden som höjs av avbrottet.

Som nämnts ovan är termen Interrupt vanligtvis reserverad för hårdvaruavbrott. De är programstyrningsavbrott orsakade av externa hårdvaruhändelser. Här betyder externt externt för CPU. Hårdvaruavbrott kommer vanligtvis från många olika källor, t.ex. timerchip, kringutrustning (tangentbord, mus, etc.), I / O-portar (seriell, parallell, etc.), hårddiskar, CMOS-klocka, expansionskort (ljudkort, video) kort, etc). Det betyder att maskinvarustörningar nästan aldrig inträffar på grund av någon händelse relaterad till körprogrammet. Till exempel kan en händelse som en tangenttryckning på tangentbordet av användaren, eller en intern tidtagning av hårdvarutimern, höja denna typ av avbrott och kan informera CPU: n att en viss enhet behöver lite uppmärksamhet. I en sådan situation kommer CPU att stoppa vad den än gjorde (dvs pausar det aktuella programmet),tillhandahåller den service som krävs av enheten och kommer tillbaka till det normala programmet.

Vad är skillnaden mellan System Call och Interrupt?

Systemanrop är ett samtal till en underrutin som är inbyggd i systemet, medan Interrupt är en händelse som gör att processorn tillfälligt håller den aktuella körningen. En stor skillnad är dock att systemanrop är synkrona, medan avbrott inte är det. Det betyder att systemanrop förekommer vid en fast tid (vanligtvis bestäms av programmeraren), men avbrott kan inträffa när som helst på grund av en oväntad händelse, t.ex. användarens tryck på tangentbordet. Därför, när någonsin ett systemanrop inträffar, behöver processorn bara komma ihåg var han ska återvända, men i händelse av avbrott måste processorn komma ihåg både platsen att återvända till och tillståndet för systemet. Till skillnad från ett systemanrop har ett avbrott vanligtvis inget att göra med det aktuella programmet.

Rekommenderas: