Întreruperile sunt principala forță motrice a oricărui sistem de operare. Deconectați sistemul de întrerupere - și "viața" din sistemul de operare se va opri imediat. procese de schimbare pentru că cronometrul de întrerupere periodice în sistemele de operare multitasking și întrerupe intrări-ieșiri de date de control al dispozitivului flux că sistemul de calcul comunica cu lumea exterioară.
După cum sa observat corect: "Întreruperile sunt numite cu succes, deoarece întrerup funcționarea normală a sistemului." Cu alte cuvinte, sistemul de întrerupere comută procesorul pentru a executa un flux de comandă diferit de cel care a fost executat până în prezent, urmat de o revenire la codul sursă. Din ceea ce sa spus, putem concluziona că mecanismul de întrerupere este foarte similar cu mecanismul de efectuare a procedurilor. Aceasta este de fapt, deși există o diferență importantă între aceste mecanisme. Întreruperea întreruperii este diferită de comutarea, care apare atunci când instructorul de comandă necondiționată sau condiționată este furnizat de programator în fluxul comenzii aplicației. Salt la comandă are loc în punctele de program specificate de programator, în funcție de datele inițiale procesate de program. Întreruperea are loc la un punct arbitrar din fluxul de instrucțiuni al programului pe care programatorul nu îl poate prezice. Întreruperea are loc fie în funcție de evenimentele externe procesului de execuție a programului, fie atunci când apar urgențe neprevăzute în timpul executării acestui program. Similaritatea întreruperilor cu procedurile este aceea că în ambele cazuri este executată o anumită subrutină care procesează o situație specială, iar apoi execuția ramurii principale a programului continuă.
În funcție de sursa întreruperii, ele sunt împărțite în trei mari clase:
întreruperi externe pot apărea ca urmare a unor acțiuni de utilizator sau de operatorul terminalului, sau ca urmare a semnalelor veniturile de la dispozitive hardware - semnale de finalizare IO generate de controlorii de dispozitive externe în calculator, cum ar fi o imprimantă sau o unitate HDD, sau semnalele de la senzori instalații tehnice controlate de calculator. întreruperi externe sunt numite și hardware, reflectând faptul că întreruperea se produce din cauza unui echipament de alimentare (de exemplu, controlerul imprimantei) a semnalului electric care este transmis (eventual trece prin alte unități de calculator, cum ar fi controlerul de întrerupere) într-o intrare de întrerupere specială a procesorului. Această clasă de întreruperi este asincronă în ceea ce privește firul de instrucțiuni al unui program de întrerupere. Procesorul Aparatură funcționează, astfel încât întreruperile asincrone apar între executarea a două instrucțiuni adiacente, în care, după ce sistemul de procesare a întreruperii continuă executarea procesului, începând cu următoarea instrucțiune.
Întreruperile software diferă de cele două clase anterioare prin faptul că nu sunt în mod inerent întreruperi "adevărate". O întrerupere a software-ului apare atunci când se execută o instrucțiune specială de procesor, care simulează o întrerupere, adică o tranziție la o nouă secvență de instrucțiuni.
Software-ul de întrerupere pune în aplicare una dintre modalitățile de trecere la subrutina folosind un set de instrucțiuni procesor speciale, cum ar fi INT în Intel Pentium, procesoare capcana procesor Motorola, syscall în procesorul MIPS sau Ticc pe procesoare SPARC. Dacă executați un procesor de software de întrerupere îndeplinește aceeași secvență ca în cazul oricărei întreruperi externe sau interne, dar se întâmplă într-un punct previzibil în program - în cazul în care programator această comandă.
Ca rezultat, întreruperile de software sunt adesea folosite pentru a efectua un număr limitat de apeluri către funcțiile kernel-ului sistemului de operare, adică apelurile de sistem.
Întreruperile au o prioritate în care se clasifică în funcție de gradul de importanță și urgență. Întreruperile cu aceeași valoare de prioritate se referă la același nivel de prioritate de întrerupere.
Întreruperile sunt procesate de obicei module ale sistemului de operare, ca acțiunile realizate de întrerupere, se referă la sistemul informatic de management al resurselor partajate - .. O imprimantă, o unitate de disc, un cronometru, un procesor, etc. Procedurile cauzate de întreruperi, denumit în mod obișnuit ca handlere de întrerupere, sau să întrerupă rutina de serviciu (Rutina de întrerupere a serviciului, / 57?). Întreruperile hardware sunt gestionate de către driverele dispozitivelor externe corespunzătoare, excepțiile sunt făcute de modulele kernel speciale, iar întreruperile software sunt gestionate de procedurile OS care deservesc apelurile de sistem. În plus față de aceste module, sistemul de operare poate avea un așa-numit manager de întrerupere, care coordonează funcționarea operatorilor individuali de întrerupere.