Scopul și tipurile de întreruperi

Î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. Periodic întrerupe de la cronometru provoca o schimbare de proces în sistemul de operare multiprogram, și întrerupe de la dispozitive de intrare / ieșire de control fluxurile de date pe care sistemul de calcul schimbă 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 instrucțiunilor 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 când se execută o instrucțiune specială de procesor. a cărui execuție simulează o întrerupere, adică trecerea la o nouă secvență de instrucțiuni. Motivele pentru folosirea întreruperilor programului în locul instrucțiunilor obișnuite de apelare a procedurii vor fi descrise mai jos, după examinarea mecanismului de întrerupere.

Î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 servirilor, ISR). întreruperi hardware sunt manipulate drivere dispozitive externe, excepții corespunzătoare - module speciale de kernel, și software-ul întrerupe - procedurile de operare, service apeluri 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.







Articole similare

Trimiteți-le prietenilor: