
1 minute read
Procesamiento de interrupciones en un Sistema Operativo
Los dispositivos que se conectan a un computador varían en muchas dimensiones: transfieren un carácter o un bloque de caracteres a la vez; se puede acceder a ellos sólo secuencialmente, o de forma aleatoria; transfieren datos sincrónica o asincrónicamente; son dedicados o compartidos; pueden ser sólo de lectura o de lectura y escritura. Además, los dispositivos varían mucho en cuanto a su velocidad En muchos sentidos, estos dispositivos también son los más lentos de los componentes principales del computador Dado que los dispositivos son un cuello de botella del desempeño, otra clave es optimar la E/S de modo que la concurrencia sea máxima
Las interrupciones manejan prioridades, ya que algunas de ellas como el procesamiento de una llamada asíncrona pueden esperar, mientras que otras como la presentada por la falla de alimentación de energía eléctrica deben dispararse inmediatamente para evitar daños en los archivos que pueden quedar abiertos Cuando ocurre una interrupción sucede lo siguiente:
Advertisement
El sistema operativo toma el control (el hardware para el control al sistema operativo)
El sistema operativo guarda el estado del proceso interrumpido en el PCB de dicho proceso
El sistema operativo analiza la interrupción y transfiere el control a la rutina apropiada para atenderla
4 La rutina procesa la interrupción correctamente
5 Restablece el estado del proceso interrumpido
6. Por último sigue su ejecución el proceso interrumpido.
La planificación es el proceso por el cual el sistema operativo selecciona que proceso ejecutar La selección del proceso se basa en alguno de los algoritmos de planificación La planificación de la CPU, en el sentido de conmutarla entre los distintos procesos, es una de las funciones del sistema operativo Este despacho es llevado a cabo por un pequeño programa llamado planificador a corto plazo o dispatcher (despachador) La misión del dispatcher consiste en asignar la CPU a uno de los procesos ejecutables del sistema, para ello sigue un determinado algoritmo
Hay que destacar el hecho de que cuanto menos se llame al dispatcher menos tiempo ocupa la CPU un programa del sistema operativo, y, por tanto, se dedica más tiempo a los procesos del usuario (un cambio de proceso lleva bastante tiempo)
Así, si sólo se activa el dispatcher como consecuencia de los 2 primeros acontecimientos se estará haciendo un buen uso del procesador Este criterio es acertado en sistemas por lotes en los que los programas no son interactivos