Süsteemi kõne vs katkestus
Tavaline protsessor täidab juhiseid ükshaaval. Kuid võib juhtuda, et protsessor peab ajutiselt peatuma ja hoidma käimasolevat käsku ning käivitama mõne muu programmi või koodisegmendi (elukoht mõnes teises kohas). Pärast selle toimimist naaseb protsessor tavapärase täitmise juurde ja jätkab sealt, kus pooleli jäi. Sellised juhtumid on süsteemikõne ja katkestus. Süsteemikõne on kõne süsteemi sisseehitatud alamprogrammile. Katkestus on välise riistvarasündmuse põhjustatud programmi juhtimise katkestus.
Mis on süsteemikõne?
Süsteemikõned pakuvad arvutis töötavatele programmidele liidest operatsioonisüsteemiga rääkimiseks. Kui programm peab operatsioonisüsteemi tuumalt teenust küsima (milleks tal endal luba pole), kasutab ta süsteemikõnet. Kasutaja taseme protsessidel pole samu õigusi kui operatsioonisüsteemiga vahetult suhtlevatel protsessidel. Näiteks peab programm I / O-seadmega suhtlemiseks või muude protsessidega suhtlemiseks kasutama süsteemikõnesid.
Mis on katkestus?
Arvutiprogrammi tavapärase käivitamise ajal võib esineda sündmusi, mis võivad põhjustada protsessori ajutise peatumise. Selliseid sündmusi nimetatakse katkestusteks. Katkestusi võivad põhjustada kas tarkvara või riistvara rikked. Riistvarakatkestusi nimetatakse (lihtsalt) katkestusteks, tarkvara katkestusi aga eranditeks või lõksudeks. Kui katkestus (tarkvara või riistvara) on tõstetud, viiakse juhtseade spetsiaalsesse alamprogrammi nimega ISR (Interrupt Service Routine), mis saab hakkama katkestusega tekitatud tingimustega.
Nagu eespool mainitud, on termin Katkestus tavaliselt riistvarakatkestuste jaoks reserveeritud. Need on välise riistvarasündmuse põhjustatud programmi juhtimise katkestused. Siin tähendab väline protsessori välist. Riistvarakatkestused pärinevad tavaliselt paljudest erinevatest allikatest, näiteks taimerikiibist, lisaseadmetest (klaviatuurid, hiir jne), sisend- / väljundportidest (jada-, paralleelsed jne), kettaseadmetest, CMOS-kellast, laienduskaartidest (helikaart, video) kaart jne). See tähendab, et riistvara katkestusi ei esine peaaegu kunagi mõne käivitava programmiga seotud sündmuse tõttu. Näiteks võib selline sündmus nagu kasutaja klahvivajutus klaviatuuril või sisemise riistvaralise taimeri ajastus aeglustada sellist katkestust ja teavitada protsessorit, et teatud seade vajab teatud tähelepanu. Sellises olukorras peatab protsessor kõik, mida ta tegi (st peatab praeguse programmi),pakub seadmele vajalikku teenust ja naaseb tavapärase programmi juurde.
Mis vahe on süsteemikõnel ja katkestusel?
Süsteemikõne on kõne süsteemi sisseehitatud alamprogrammile, katkestus on sündmus, mille tõttu protsessor hoiab praegust käivitust ajutiselt. Üks oluline erinevus on see, et süsteemikõned on sünkroonsed, katkestused aga mitte. See tähendab, et süsteemikõned toimuvad kindlal ajal (tavaliselt määrab programmeerija), kuid katkestused võivad ilmneda igal ajal ootamatu sündmuse tõttu, näiteks kasutaja klaviatuuril vajutamisel. Seega, kui süsteemikõne toimub, peab protsessor ainult meeles pidama, kuhu tagasi pöörduda, kuid katkestuse korral peab protsessor meeles pidama nii naasmise kohta kui ka süsteemi olekut. Erinevalt süsteemikõnest pole katkestusel tavaliselt praeguse programmiga midagi pistmist.