procesul de întrerupere Subiect

întrerupere a conceptului. Procedura de manipulare întrerupe. clase de întrerupere. întrerupe spațiul de lucru. vector de întrerupere. rutine de întrerupere standard. Priorități de întrerupere. întrerupe imbricate.

Întrerupeți funcțiile și tipurile lor. mecanism de întrerupere

Declarația situației problemă (dacă nu există energie electrică, atunci ce fel de întrerupere?)

Mecanismul Preryvaniya- pentru a coordona funcționarea în paralel a dispozitivelor de calcul individuale ale sistemului și să răspundă la condițiile speciale care apar în timpul funcționării procesorului. Aceasta a forțat transferul controlului dintr-un program care rulează în sistem (și prin ea - la rutina de întrerupere corespunzătoare), care are loc atunci când are loc un anumit eveniment.

Întrerupe Ideea a fost propusă la mijlocul anilor '50 și poate nici preuveli-cheniya spune că a făcut contribuția cea mai importantă la dezvoltarea tehnologiei de calculator-TION.

Scopul principal al introducerii unei întreruperi - punerea în aplicare a unui mod asincron și paralelizare de dispozitive individuale complexe de calculator-picior.

Mecanismul de întrerupere este pus în aplicare prin mijloace hardware și software. Tururi Struck întrerupe sisteme (în funcție de arhitectura hardware) pot fi foarte diferite, dar toate au un lucru în comun - variabila este non-întrerupere atrage după sine o schimbare în ordinea procesorului de execuție comandă.

procesare mecanism independent de întrerupere a unei arhitecturi de sistem informatic include următoarele elemente de întrerupere mecanism de manipulare:

1. Stabilirea întrerupere (recepție a semnalului de întrerupere) și ident iden-întrerupere (sisteme de operare realizate uneori în vtorno, în pasul 4).

4. Depozitarea programului întrerupt, care nu a reușit să-spa în pasul 2 STI, cu ajutorul operațiilor de echipamente. Unele sisteme de calculator-TION oferă stocarea unei cantități destul de mare de informații cu privire la starea procesului întrerupt.

5. Întrerupere de procesare. Această lucrare poate fi realizată în același subspațiul-gramele al cărui control a fost transferat în etapa 3, dar cel mai adesea sistemul de operare se realizează prin apel ulterior subrutina corespunzătoare.

6. Recuperarea informațiilor referitoare la procesul de întrerupere (pas etapa invers 4).

7. Reveniți la programul întrerupt.

Etapele 1-3 sunt puse în aplicare în hardware, în timp ce pașii 4-7 - programatică.

Deci, funcția principală a mecanismului de întrerupere:

recunoașterea sau clasificarea întrerupere;

transferul controlului unei handler de întrerupere, respectiv;

întoarcere corectă a programului întrerupt.

Stack - mediul pentru ca datele să se întoarcă de la subrutina, precum și argumentele lor și automată a datelor.

Expresia „un coș“ înseamnă: ultima, primul-out sau primul venit, ultimul servit.

Orice dispozitiv, intern sau extern, care lucrează cu procesorul, folosind una dintre întreruperi.

procesul de întrerupere Subiect

Fig. 3. Prelucrarea Întrerupere

Întreruperile care apar în timpul funcționării sistemului informatic, este posibil-Sec se toarnă în două categorii principale: externe (numite uneori asincrone) și intern (sincrone).

întreruperi externe sunt declanșate de evenimente asincrone care proish-DYT este un proces discontinuu, cum ar fi:

întrerupere timer;

întrerupe de la dispozitive externe (pentru intrare / ieșire de întrerupere);

întreruperea tulburarilor alimentare;

întrerupere la consola operatorului sistemului informatic;

întrerupere de către un alt procesor sau alt sistem de calcul.

întreruperi interne sunt cauzate de evenimente care sunt asociate cu munca pro-tsessora și este sincronizat cu operațiunile sale. Exemple sunt suflare cereri urmează-întrerupere:

în prezența combinațiilor binare de câmp opcode neutilizate;

prin împărțirea la zero;

Overflow sau ordine dispariție;

când detectează o eroare de paritate, eroarea în diferitele dispozitive hardware mijloacele de control.

Supervizor. - un supraveghetor sistem de operare - fashion-l centralizat

Cu toate acestea există o întrerupere atunci când accesează supraveghetorul OS - în care nu-care calculatoarele echipelor pot utiliza numai sistemul de operare, mai degrabă decât beneficiu-ERS. Prin urmare, aparatul oferă diferite moduri de operare și programe personalizate sunt executate într-o stare în care un privilegiat-spond aceste comenzi nu sunt executate. Atunci când încearcă să utilizeze interzis-comanda pentru over-the interzis în acest mod, întreruperea internă are loc și controlul trece la sistemul de operare supervizor. Pentru comenzile privilegiate sunt comenzi OS și comuta modul de comandă al operației procesorului.

În cele din urmă, există de fapt întreruperi software. Aceste întreruperi sunt bazate pe comanda de întrerupere pro-corespunzătoare, care este, această echipă pro-tsessor poartă aproape aceiași pași ca și în convențional intern de întrerupere ei. Acest mecanism a fost introdus în mod specific, în scopul de a porni modulele software-ul de sistem nu este pur și simplu ca o tranziție spre o subrutină, și exact în același mod ca și o întrerupere obișnuită. Acest lucru asigură automat procesorul de comutare privilegiro Vanny-mode pentru a executa orice comenzi.

Semnalele care cauzează întreruperi generate extern procesorului sau procesor; ele pot avea loc simultan. Selectarea una dintre acestea pentru Obra-Botko se bazează pe prioritățile atribuite fiecărui tip de pre-ryvaniya.

Programarea și prioritizarea întreruperilor pentru sistemul de operare

Prioritate - numărul care caracterizează gradul de flux privilegiu. Evident, procesorul de control întrerupe otskhem trebuie să raidurilor datnaivysshim prioritate (în cazul în care echipamentul nu funcționează corespunzător, aceasta nu are nici un sens să continue procesarea informațiilor), și software întrerupe - prioritate scăzută. Fig. 4 arată ordinea obișnuită-lea (prioritățile) întrerupe procesarea în funcție de tipul de întrerupere. prioritate de contabilitate pot fi încorporate în hardware-ul, precum și la sistemul de operare, care este, cu excepția prioritate pe bază de întrerupere hardware cele mai multe calculatoare și sisteme permit software și hardware de control procedura de procesare a semnalului de întrerupere. A doua cale, completând în primul rând, permite utilizarea diferitelor discipline întrerupe serviciul

procesul de întrerupere Subiect

Fig. 4. Distribuția nivelurilor de prioritate de întrerupere

Prezența unui semnal de întrerupere nu trebuie să provoace întreruperea unui program de funcționare.

Procesorul poate avea mijloace de protecție împotriva întreruperilor: dezactivarea sistemului de întrerupere, mascare (interzicerea) semnale de întrerupere Front-TION. Management Software a acestor fonduri (existente-există echipă specială pentru a opera sistemul întrerupe) în sistemul de operare permite să reglementeze procesarea semnalului de întrerupere, provocând procesorul pentru a le procesa imediat după sosire, să amâne tratamentul lor pentru un timp sau complet ignorate. În mod obișnuit, operația de întrerupere-TION se face numai după finalizarea comenzii curente. pentru că întrerupere apar semnale la momente aleatorii, mai multe semnal de întrerupere poate exista la momentul întreruperii, co-torye pot fi procesate secvențial numai. Pentru a trata Signa-ly întrerupt în mod rezonabil să le (așa cum sa menționat mai sus), se acordă prioritate. Semnalul cu prioritate mai mare este procesat în primul rând, procesarea altor întreruperi este întârziată.

Software-ul de control prin masca registre speciale (mascare coregon catch-întrerupere) permite o varietate de discipline-TION Room service este:

cu priorități relative, adică, serviciul nu este întrerupt, chiar dacă există solicitări cu priorități mai mari. După închiderea interogării de interogare-Mentenabilitate este deservită cu cea mai mare prioritate. Pentru organizarea unei astfel de disciplină este necesară pentru a programa serviciul cererii de a pune masca pe toate celelalte semnale sunt întrerupte sau doar a opri sistemul de întrerupere;

cu prioritate absolută, care este servit întotdeauna de întrerupere, cu cea mai mare prioritate. Pentru a realiza acest mod este necesar pentru a masca de întrerupere BPR-dormitor toate cererile cu mai mici pri-tet. Este posibil de întrerupere pe mai multe niveluri, adică rutine de terminare de întrerupere. Numărul de nivele de întrerupere în acest mod variază în funcție de prioritatea cererii;

pe principiul stivei, sau, după cum spun unii, prin distsiplineLCFS (lastcomeferstserved) - ultima în - primul servit.

mecanism de întrerupere sprijină de obicei, prioritizare și mascare întrerupe. Prioritizarea înseamnă că toate sursele de întrerupere sunt împărțite în clase și fiecare clasă este atribuit un nivel de prioritate a cererii de întrerupere. Prioritățile poate fi servit ca relativă absolută. Întreținere cererile de întrerupere regim de prioritate este că, în timp ce primirea cererilor de întrerupere din diferite clase selectate de cerere care are cea mai mare prioritate. Mai târziu, cu toate acestea, atunci când reparați această solicitare procedura de întrerupere de servicii nu este întârziată, chiar și în cazul în care există cereri de prioritate mai mare - decizia de a selecta o nouă cerere se va face numai în momentul finalizării serviciului următoarea întrerupere. Dacă o întrerupere prioritate mai mare este permis să suspende funcționarea procedurilor de întreținere a întrerupe o prioritate mai mică, aceasta înseamnă că schema de prioritizare de lucru cu prioritățile absolute.

În cazul în care procesorul (sau calculatorul în cazul în care sprijinul prioritizării întrerupe luate la extern la unitatea de procesare) lucrează la schema cu prioritate absolută, el susține într-unul din registrele sale interne variabila care surprinde nivelul de prioritate în prezent în curs de service întrerupere. Atunci când o cerere sosește dintr-o anumită clasă de prioritate este comparată cu prioritatea procesorului curent, iar dacă prioritatea cererea este mai mare, atunci este deplasat procedura actuală de manipulare întrerupe, și la finalizarea serviciului noii întrerupere este returnat la rutina întreruptă.

Procesor -> Bus -> dispozitiv extern.

Dispozitivele care utilizează vectorul întrerupere, vectorul de întrerupere este atribuit. Acesta reprezintă un semnal electric corespunzător prezintă autobuz procesor și care transportă informații despre un anumit, stabilit pentru acest număr unitate care identifică un handler de întrerupere corespunzătoare. Acest vector poate fi fixat, configurabil (de exemplu, folosind un comutator) sau programabil.

Sistemul de operare poate oferi un vector de întrerupere de înregistrare procedură de procesare la un anumit dispozitiv care se conectează o anumită rutină de întrerupere de servicii cu un anumit vector. procesorul execută o întrerupere specială recunosc ciclul în care dispozitivul trebuie să se identifice La primirea semnalului cererii de întrerupere a. În timpul acestui ciclu, dispozitivul răspunde prin afișarea vectorului de autobuz întrerupere. Procesorul utilizează apoi acest vector pentru a găsi handler de întrerupere.

articole similare