Süsteemikõne vs katkestamine
Tüüpiline protsessor täidab juhiseid ükshaaval. Kuid võib juhtuda, et protsessor peab ajutiselt peatama ja hoidma praegust käsku ning käivitama mõne muu programmi või koodisegmendi (asub mõnes teises kohas). Pärast seda naaseb protsessor tavapärase täitmise ja jätkub sealt, kus ta pooleli jäi. Süsteemikõne ja katkestamine on sellised juhused. Süsteemikõne on üleskutse süsteemi sisseehitatud alamprogrammile. Katkestus on programmi juhtimise katkestus, mis on põhjustatud välistest riistvara sündmustest.
Mis on süsteemikõne?
Süsteemikõned pakuvad arvutis töötavatele programmidele liidest opsüsteemiga rääkimiseks. Kui programm peab opsüsteemi kernelilt teenust (milleks tal endal luba pole) küsima, kasutab ta süsteemikõnet. Kasutajataseme protsessidel pole samu õigusi kui operatsioonisüsteemiga vahetult suhelvatel protsessidel. Näiteks selleks, et suhelda välise I / O-seadmega või suhelda muude protsessidega, peab programm kasutama süsteemikõnesid.
Mis on katkestaja?
Arvutiprogrammi tavapärase täitmise ajal võivad toimuda sündmused, mis võivad põhjustada protsessori ajutise peatamise. Selliseid sündmusi nimetatakse katkestusteks. Katkestusi võivad põhjustada nii tarkvara kui ka riistvara rikked. Riistvarakatkestusi nimetatakse (lihtsalt) katkestusteks, tarkvara katkestusi nimetatakse eranditeks või lõksudeks. Kui katkestus (tarkvara või riistvara) on tõstatatud, viiakse juhtimine spetsiaalsesse alamprogrammi nimega ISR (katkestatav teenuse rutiin), mis saab hakkama katkestuse tekitatud tingimustega..
Nagu eespool mainitud, on termin katkestatud tavaliselt riistvarakatkestuste jaoks. Need on välise riistvara sündmustest põhjustatud programmi juhtimise katkestused. Siin on protsessorist väljaspool olevad välised vahendid. Riistvaraprobleemid pärinevad tavaliselt paljudest erinevatest allikatest, näiteks taimerikiip, lisaseadmed (klaviatuurid, hiir jne), sisend- / väljundpordid (jada-, paralleelsed jne), kettadraivid, CMOS-kell, laienduskaardid (helikaart, video kaart jms). See tähendab, et riistvaraprobleeme peaaegu kunagi ei juhtu mõne käivitusprogrammiga seotud sündmuse tõttu. Näiteks võib selline sündmus nagu kasutaja klaviatuuri vajutus klaviatuuril või riistvara sisemise taimeri aegumine sellist tüüpi katkestust põhjustada ja võib keskseadmele teatada, et teatud seade vajab teatavat tähelepanu. Sellises olukorras peatab CPU kõik, mida ta tegi (st peatab praeguse programmi), osutab seadmele vajalikku teenust ja naaseb tavapärase programmi juurde.
Mis vahe on süsteemikõnel ja katkestamisel??
Süsteemikõne on süsteemisse sisseehitatud alamprogrammi kõne, samas kui katkestamine on sündmus, mille tõttu protsessor hoiab ajutiselt praegust täitmist. Üks oluline erinevus on aga see, et süsteemikõned on sünkroonsed, katkestused aga mitte. See tähendab, et süsteemikõned toimuvad kindlaksmääratud ajal (tavaliselt programmeerija poolt), kuid katkestused võivad tekkida igal ajal ootamatu sündmuse, näiteks kasutaja klaviatuuri vajutamise tõttu. Seetõttu peab protsessor süsteemikõne korral alati meeles pidama, kuhu naasta, kuid katkestuse korral peab töötleja meeles pidama nii süsteemi naasmise kohta kui ka süsteemi olekut. Erinevalt süsteemikõnest pole katkestusel tavaliselt mingit pistmist praeguse programmiga.