Katkestused
Interrupt ehk katkestus on signaal sündmuste kohta. Tavaliselt genereeritud mingi riistavaralise seadme poolt. Tüüpilisent tähendab interrupt seda, et mingi seade vajab tähelepanu.
Tänapäeva arvuti külge on ühendatud väga palju seadmeid (klaviatuur, hiir, ekraan, kettaseadmed, printerid, helikaardid, kaamerad, võrgukaardid jne). Need seadmed nõuavad cpu poolset teenindamist. Kuid raske on ennustada seda, et kuna.
Lahenduseks on katkestused. Mis äraseletatult tähendab seda, et igale seadmele antakse oma liin (interrupt line) mida see saab kasutada protsessorile signaliseerimiseks.
_____ ___________ ________ | |--INT----| interrupt |---INT---| | | CPU | | controller| | Adapter| |_____|--INTA---|___________|---INTA--|________| PIC
Interrupt tähendab põhimõtteliselt ootamist kuni telefon heliseb ja siis selle toru tõstmist ja kõne alustamist.
Kui katkestus on edastatud protsessorile käivitab see katkestusetöötleja (interrupt handler või interrupt service routine (ISR)) mis programmkood, mille poole pöördutakse katkestuse tekkimisel. Tema ülesandeks on katkestuse töötlemine ja seejärel katkestatud protsessi jätkamise tagamine.
Alternatiivne lahendus: Polling. Mis äraseletatult tähendab, et CPU kontrollib perioodiliselt igat seadet vaadates kas see nõuab tähelepanu. Miinuseks on sellel, et kulutab palju CPU aega ja overhead saab vähendatud vastamise aja arvelt. Positiivseks küljeks on juhul kui sündmusi sajab peale vihmana.
Polling on põhimõtteliselt iga paari sekundi tagant telefonitoru tõstmine, et näha kas sulle on kõne.
Positiivne külg on, et overheadi ei ole kui ka evente pole.