Paper
Equipo Hugo Paco Guzm´n a Luis 8 Septiembre 2010
1
Los tres bloques del n´ cleo del sistema u
1. Rutina de gesti´n, o controlador, de interrupciones: realiza la gesti´n de o o todas las interrupciones. 2. DISPATCHER o gestionador a bajo nivel de la CPU: Conmuta los procesadores centrales entre los distintos procesos. 3. Implementaci´n de WAIT y SIGNAL. o
Elsistema operativo se compone de tres n´cleos principales que son: u
2
Representaci´n de los Procesos o
Se hace con un descriptor de proceso, que no es mas que un registro que contiene toda la informaci´n relevante sobre el proceso. En el registro se tendr´ el nombre o a del proceso y el estado en que se encuentra.
Figure 1: Mi Figura El estado de un proceso es fundamental para que eldispatcher pueda asignarle procesador. Otro campo del registro es el entorno vol´til, donde se guarda la informaci´n a o sobre el proceso que hay que salvar cuando se pierde el control del proceso. Se necesita para reemprenderlo. Incluye el valor del todos los registros de la m´quina (contador de programa, acumuladores, registro de ´ a ındice...). 1
Todos los registros est´n enlazados, mediante unalista encadenada, a una a tabla central, que es un registro formado por dos campos: no de procesador y datos t´cnicos. e Hay otra lista encadenada, enlazada en el mismo orden, con s´lo los procesos o activables. Si ´sta estuviera vac´ la CPU se parar´ Tambi´n se parar´ si todos e ıa ıa. e ıa los procesos activables estuvieran ejecutando o hubiese un deadlock, es decir, todos los procesos estar´bloqueados. Para evitar que la CPU se pare se sit´a ıan u al final de la lista un proceso con la unica misi´n de perder tiempo. ´ o
3
La Rutina de Gesti´n de Interrupciones o
El controlador de interrupciones de primer nivel (FLIH, del ingl´s First-Level e Interrupt Handler) es la parte del sistema operativo responsable de proporcionar la respuesta adecuada a las se˜ales procedentes tantodel mundo exterior (inn terrupciones) como desde dentro del sistema (se˜ales de error o extracodigo). n Ser´n se˜ales externas o internas si hubiera que distinguirlas. No todas las ina n terrupciones 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 autom´ticamente v´ software cada vezque se precise una intera ıa rupci´n. o La misi´n del controlador de interrupciones es doble: o 1. Determinar el origen de las interrupciones. 2. Iniciar el servicio de las mismas. Una vez determinada la raz´n de la interrupci´n, se tiene que dar con su o o origen. El mecanismo de interrupci´n debe salvar al menos el valor del cono tador de programa del proceso interrumpido, as´ mismo los otrosregistros que ı emplear´ el controlador de interrupciones y que estuviesen utiliz´ndose por el a a proceso interrumpido. La dificultad para determinar el origen de la interrupci´n depende del hardo ware. • Caso elemental: todas las interrupciones transfieren el control a la misma posici´n de memoria. o • Si el hardware es rudimentario el software localizar´ la causa mediante a IF CASE anidados,situando en primer lugar la causa de interrupci´n de o mayor probabilidad. Una vez conocida la causa se encadena el efecto adecuado. Se termina lanzando el gestionador de bajo nivel de la CPU (dispatcher).
2
4
EL DISPATCHER
Su misi´n es asignar los procesadores centrales a los procesos. Es llamado o cuando un proceso no puede seguir o puede emplearse mejor en otra parte. Se activa en lassituaciones siguientes: 1. Tras una interrupci´n externa ha cambiado el estado de un proceso. o 2. Despu´s de que un extrac´digo provoque imposibilidad de seguir la ejee o cuci´n de un proceso. o 3. Tras una se˜al de error se ha suspendido el proceso hasta que no se haya n tratado ´ste. e Estas son causas especiales de interrupci´n, esto es, todas ellas consisten en o interrupciones que alteran el...
Regístrate para leer el documento completo.