Interrupcions, Transferències i Crides al Sistema: Funcionament i Tipus

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en catalán con un tamaño de 3,82 KB

Interrupcions, Transferències i Crides al Sistema

Els registres formen part del controlador d’un dispositiu i poden ser accedits directament des de la CPU a través del bus del sistema. Es divideixen en tres tipus:

  • Registres per transferir dades: utilitzats per transferir les dades a o des del dispositiu a la CPU per intercanviar informació.
  • Registres de control: per realitzar accions sobre el funcionament del dispositiu.
  • Registres d'estat: per conèixer en quina situació o estat es troba el dispositiu i les diferents parts que el conformen.

Transferència Programada de Dades

Una transferència programada de dades és un programa executat per la CPU que segueix la següent seqüència:

  1. Envia/rep una dada obre el port del perifèric.
  2. Espera en un bucle que el perifèric estigui llest per tornar-hi.
  3. Torna a 1 i repeteix fins a acabar l'operació programada.

Com que el pas “2” manté la CPU ocupada, ho solucionem incorporant interrupcions. Fet el pas “1”, deixem la transferència i no fem cap bucle. Quan el perifèric estigui llest per tornar-hi, envia un senyal a la CPU i aquesta executa una “rutina de tractament de la interrupció” que comporta enviar/rebre una altra dada.

Interrupcions

Una interrupció és un senyal asíncron que fa que es deixi d’executar el programa en curs per executar un altre programa amb la idea de resoldre una situació que requereix atenció immediata. Quan arriba el senyal, s’acaba d’executar la instrucció en curs i es passa a executar la rutina de tractament de la interrupció (RTI), l’adreça de començament de la qual és al registre Vector d’Interrupció. Es produeix un canvi de mode usuari a supervisor. Es salva el contingut del registre d’estat i del PC. S’executa la Rutina de Tractament de la Interrupció (RTI). La RTI acaba amb una instrucció de Retorn d’Interrupció que restaura el registre d’estat i el PC; d’aquesta manera, es recupera l’execució del programa que s’estava executant en el moment que va arribar la interrupció. Canvia de mode Supervisor a usuari.

Tipus d'Interrupcions

Una interrupció hardware és la que es produeix per l’activació d’un senyal hardware indicant que s’ha produït un esdeveniment exterior al sistema que requereix la seva atenció. L’excepció desencadena el mateix procés que l’anterior, però la causa que el produeix és interna a la CPU. La interrupció software (TRAP) és una instrucció del repertori de la CPU i que pot ser inclosa al nostre programa d’usuari, que desencadena exactament el mateix procés que les anteriors.

Crides al Sistema

Una crida al sistema és una petició d’un servei al sistema operatiu. La seva funció és indicar què volem, com ho volem, i on ho volem. S’implementa mitjançant una sèrie d’instruccions que permeten posar en memòria o en registres els paràmetres que necessita la crida i finalment la fa efectiva amb una instrucció TRAP. La relació de l’execució del SO es fa en mode supervisor i els programes s’executen en mode usuari. Així protegim la feina del SO i del sistema en general. L’usuari interactiu necessita una aplicació que transformi comandes interactives en crides al sistema operatiu. És l’“intèrpret de Comandes”. Des d’un programa ho pot fer directament com hem explicat o amb funcions de llibreria de llenguatge o de sistema.

La crida al sistema sempre s’acaba amb una TRAP. Les funcions de llibreria de sistema però fan exactament el mateix; de fet, el compilador les substitueix per la crida en llenguatge màquina. Les funcions de llibreria de llenguatge són ampliacions de les de sistema, per tant les inclou, amb funcionalitats afegides.

Entradas relacionadas: