CATEGORII DOCUMENTE |
Rutinele de tratare a intreruperilor - UNIX
Aparitia unei intreruperi face ca nucleul sa execute o rutina de tratare a intreruperii, bazata pe corelatia intre dispozitivul intrerupt si un deplasament in tabela vectorilor de intrerupere. Nucleul invoca rutina de tratare a intreruperii specifica dispozitivului, transmitandu-i numarul de dispozitiv sau alti parametri pentru a identifica unitatea care a produs intreruperea. De exemplu, figura 6.6 arata doua intrari in tabela vectorilor de intrerupere pentru tratarea intreruperilor de terminal ttyintr , fiecare tratand intreruperile pentru 8 terminale. Daca dispozitivul tty09 intrerupe sistemul, acesta apeleaza rutina de tratare a intreruperii asociata cu pozitia hardware a dispozitivului intrerupt. Deoarece multe dispozitive fizice pot fi asociate cu o intrare in tabela vectorilor de intrerupere, driverul trebuie sa fie capabil sa afle care dispozitiv a produs intreruperea. In figura doua intrari in tabela vectorilor de intrerupere pentru ttyintr sunt etichetate cu 0 si 1, implicand ca sistemul face distinctie intre cele doua intrari cand se apeleaza rutina de tratare a intreruperii, prin folosirea acestui numar (eticheta ) ca un parametru al apelului. Rutina de tratare a intreruperii poate folosi acest numar si alte informatii transmise prin mecanismul de intreruperi ca sa se asigure ca dispozitivul tty09 a intrerupt sistemul si nu tty12, de exemplu. Acest exemplu este o simplificare a ceea ce se intampla intr-un sistem real, unde figura ar cuprinde mai multe nivele ale controllere-lor si rutinele lor de tratare a intreruperilor.
Pe scurt, numarul dispozitivului folosit in rutina de tratare a intreruperii identifica o unitate hardware si numarul minor al fisierului dispozitiv identifica un dispozitiv. Driverul de dispozitiv coreleaza numarul minor al dispozitivului cu numarul unitatii hardware.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1225
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved