Sei sulla pagina 1di 3

El controlador de interrupciones de primer nivel (FLIH, del ingls First-Level Interrupt Handler) es la parte del sistema operativo responsable

de proporcionar la respuesta adecuada a las seales procedentes tanto del mundo exterior (interrupciones) como desde dentro del sistema (seales de error o extracodigo). Sern seales externas o internas si hubiera que distinguirlas. No todas las interrupciones se deben a errores, puede forzarlas el Sistema Operativo por no encontrar recursos disponibles. Por ejemplo, un proceso que quiere abrir un fichero en uso. Se activa automticamente va software cada vez que se precise una interrupcin. La misin del controlador de interrupciones es doble: 1. Determinar el origen de las interrupciones. 2. Iniciar el servicio de las mismas. Una vez determinada la razn de la interrupcin, se tiene que dar con su origen. El mecanismo de interrupcin debe salvar al menos el valor del contador de programa del proceso interrumpido, as mismo los otros registros que emplear el controlador de interrupciones y que estuviesen utilizndose por el proceso interrumpido. La dificultad para determinar el origen de la interrupcin depende del hardware. y y Caso elemental: todas las interrupciones transfieren el control a la misma posicin de memoria. Si el hardware es rudimentario el software localizar la causa mediante IF / CASE anidados, situando en primer lugar la causa de interrupcin de mayor probabilidad.

Una vez conocida la causa se encadena el efecto adecuado. Se termina lanzando el gestionador de bajo nivel de la CPU (dispatcher).

Primitivas de comunicacion IPC (Comunicacin entre procesos) Es una funcin bsica de los Sistemas operativos. Los procesos pueden comunicarse entre s a travs de compartir espacios de memoria, ya sean variables compartidas o buffers, o a travs de las herramientas provistas por las rutinas de IPC. La IPC provee un mecanismo que permite a los procesos comunicarse y sincronizarse entre s. Normalmente a travs de un sistema de bajo nivel de paso de mensajes que ofrece la red subyacente. La comunicacin se establece siguiendo una serie de reglas (protocolos de comunicacin). Los protocolos desarrollados para internet son los mayormente usados: protocolo de internet (capa de red), protocolo de control de transmisin (capa de transporte) y protocolo de transferencia de archivos , protocolo de transferencia de hipertexto (capa de aplicacin).

1.6.2 Despachador SCHEDULER

Su mision es asignar los procesadores centrales a los procesos. Es llamado cuando un proceso no puede seguir o puede emplearse mejor en otra parte. Se activa en las situaciones siguientes: 1. 2. Tras una interrupcion externa ha cambiado el estado de un proceso. Despues de que un extracodigo provoque imposibilidad de seguir la ejecucion de un proceso. 3. Tras una senal de error se ha suspendido el proceso hasta que no se haya tratado este. Estas son causas especiales de interrupcion, esto es, todas ellas consisten en interrupciones que alteran el estado de algun proceso. El funcionamiento del dispatcher es el siguiente:

Es el proceso en curso el mas apropiado para ser ejecutado sobre este procesador? (por 1. las razones que sean, prioridad, recursos, etc). Si es asi, devolver el control a la posicion de memoria senalada por el contador de programa (continuar). En otro caso ir a 2. 2. Salvar el entorno volatil del proceso en curso. 3. Sacar del registro del proceso aquel cuyo entorno volatil es el mas adecuado para ser ejecutado. 4. Transferir el control a la posicion de memoria indicada por el contador de programa asociado al nuevo proceso.
Para determinar el proceso mas adecuado para ser ejecutado se ordenan los procesos ejecutables de acuerdo con algun criterio de prioridad. Las prioridades de los procesos vienen dadas y por tanto no son mision del dispatcher.

Se utilizara una cola ordenada de modo que en cabeza de la cola este el proceso mas adecuado, asi la mision del dispatcher es la de ejecutar el primer proceso de la cola que no este siendo ejecutado.

Se puede tener en lugar de una cola, mas de una. Por ejemplo tres. Una para aquellos procesos a los que se les permiten dos segundos consecutivos de CPU. Otra para los que se les permiten 0,25 y otra para los que se les permite solo 0,02 segundos.

Cada cola se sirve con el criterio de "el primero en llegar es el primero en ser servido". Las colas con menor tiempo tienen mayor prioridad. Los procesos se colocan inicialmente en la cola de menor tiempo. Si consume todo el tiempo asignado se transfiere a la siguiente cola en prioridad,

asi sucesivamente. Se consigue asi que los procesos que consumen menos tiempo de procesador, reciban un proceso rapido, mientras que las tareas habituales uno mas largo.

Potrebbero piacerti anche