Rozdiel Medzi Systémovým Volaním A Prerušením

Rozdiel Medzi Systémovým Volaním A Prerušením
Rozdiel Medzi Systémovým Volaním A Prerušením

Video: Rozdiel Medzi Systémovým Volaním A Prerušením

Video: Rozdiel Medzi Systémovým Volaním A Prerušením
Video: 2020-03 [prednáška] Virtuálna pamäť 2024, November
Anonim

Systémové volanie vs prerušenie

Typický procesor vykonáva pokyny jeden po druhom. Môžu sa však vyskytnúť prípady, keď procesor musí dočasne zastaviť a podržať aktuálnu inštrukciu a vykonať nejaký iný program alebo segment kódu (uložený na inom mieste). Po vykonaní tohto kroku sa procesor vráti k normálnemu vykonaniu a pokračuje od miesta, kde prestal. Systémové volanie a prerušenie sú také príležitosti. Systémové volanie je volanie do podprogramu zabudovaného v systéme. Prerušenie je prerušenie riadenia programu spôsobené udalosťami externého hardvéru.

Čo je to systémové volanie?

Systémové volania poskytujú programom spusteným v počítači rozhranie na komunikáciu s operačným systémom. Keď program potrebuje požiadať o službu (na ktorú sám nemá povolenie) z jadra operačného systému, použije systémové volanie. Procesy na úrovni používateľa nemajú rovnaké povolenia ako procesy priamo interagujúce s operačným systémom. Napríklad na komunikáciu s externým I / O zariadením alebo na komunikáciu s akýmikoľvek inými procesmi musí program používať systémové volania.

Čo je to prerušenie?

Počas normálneho vykonávania počítačového programu môžu nastať udalosti, ktoré môžu spôsobiť dočasné zastavenie CPU. Takéto udalosti sa nazývajú prerušenia. Prerušenie môže spôsobovať chyba softvéru alebo hardvéru. Hardvérové prerušenia sa nazývajú (jednoducho) prerušenia, zatiaľ čo softvérové prerušenia sa nazývajú výnimky alebo pasce. Akonáhle sa vyvolá prerušenie (softvér alebo hardvér), riadenie sa prenesie do špeciálneho podprogramu s názvom ISR (Interrupt Service Routine), ktorý dokáže spracovať podmienky vyvolané prerušením.

Ako už bolo spomenuté vyššie, termín prerušenie je zvyčajne vyhradený pre hardvérové prerušenia. Sú to prerušenia riadenia programu spôsobené udalosťami externého hardvéru. Tu znamená externý externý procesor. Hardvérové prerušenia zvyčajne pochádzajú z mnohých rôznych zdrojov, ako sú napríklad časovač, periférne zariadenia (klávesnice, myš atď.), I / O porty (sériové, paralelné atď.), Diskové jednotky, hodiny CMOS, rozširujúce karty (zvuková karta, video) karta atď.). To znamená, že k hardvérovým prerušeniam takmer nikdy nedôjde v dôsledku nejakej udalosti súvisiacej s vykonávajúcim programom. Napríklad udalosť ako stlačenie klávesu na klávesnici používateľom alebo časový limit interného hardvérového časovača môže zvýšiť tento druh prerušenia a informovať CPU, že určité zariadenie vyžaduje určitú pozornosť. V takejto situácii sa CPU zastaví, čo robí (tj pozastaví aktuálny program),poskytuje službu požadovanú zariadením a vráti sa k normálnemu programu.

Aký je rozdiel medzi systémovým volaním a prerušením?

Systémové volanie je volanie podprogramu zabudovaného do systému, zatiaľ čo prerušenie je udalosť, ktorá spôsobí, že procesor dočasne pozastaví aktuálne vykonávanie. Jedným z hlavných rozdielov však je, že systémové volania sú synchrónne, zatiaľ čo prerušenia nie. To znamená, že systémové volania sa vyskytujú v pevne stanovenom čase (zvyčajne ich určuje programátor), ale prerušenia sa môžu vyskytnúť kedykoľvek v dôsledku neočakávanej udalosti, ako je napríklad stlačenie klávesu na klávesnici používateľom. Preto vždy, keď dôjde k systémovému volaniu, musí si procesor iba pamätať, kam sa má vrátiť, ale v prípade prerušenia si musí pamätať tak miesto, kam sa má vrátiť, ako aj stav systému. Na rozdiel od systémového volania nemá prerušenie zvyčajne nič spoločné s aktuálnym programom.

Odporúčaná: