EL NÚCLEO DE UN SISTEMA OPERATIVO
Requisitos básicos del hardware
Requisitos básicos del hardware
Un mecanismo de interrupción
Un mecanismo de protección que debe implementarse en el hardware de direccionamiento de la memoria.
Repertorio de instrucciones reservadas.
Para establecer cuándo se pueden usar estas instrucciones reservadas, existen dos modos
de funcionamiento del computador:
· Modo núcleo o supervisor (kernel): Ejecuta todas las instrucciones (tanto reservadas como de usuario)
· Modo usuario: Sólo ejecuta las instrucciones de usuario
Cambio de modos:
· Modo usuario a modo supervisor:
o El proceso usuario solicita una llamada al supervisor para usar alguna función del sistema operativo
Ocurre una interrupción
o Error en un proceso de usuario
o Se intenta ejecutar una instrucción reservada en modo usuario (caso especial de error)
Modo supervisor a modo usuario:
o Instrucción reservada
Gestión de interrupciones
Una interrupción es una respuesta a un suceso asíncrono o excepcional que automáticamente
reserva el estado actual de la CPU para permitir su continuación posterior y provoca una
transferencia automática a una rutina específica.
existen seis clases de interrupciones:
1. Interrupciones SVC (SuperVisor Call, llamadas al supervisor).
2. Interrupciones de E/S
3. Interrupciones externas.
4. Interrupciones de reinicio.
5. Interrupciones de verificación del programa.
6. Interrupciones de verificación de la máquina.
Gestión de procesos. Planificación
Representación de los procesos
Funcionamiento del dispatcher
Planificación de procesos
Niveles de planificación
Scheduler a largo plazo
Scheduler a corto plazo (scheduler de la CPU)
Consideraciones para la planificación
· Tiempo de retorno
Planificación apropiativa y planificación no apropiativa
Sistema de prioridad
Tiempo de respuesta
Rendimiento o productividad
Algoritmos de planificación de procesos
Implementación de primitivas de comunicación y sincronización.Equivalencias entre primitivas
Bloqueo y desbloqueo
Consideraciones en la implementación de los semáforos:
Con cada semáforo asociamos una cola de procesos.
Cuando se efectúa una operación WAIT sin éxito, el proceso se añade a la cola del semáforo y se hace “no ejecutable” (estado bloqueado).
La operación SIGNAL sobre un semáforo, saca un proceso de la cola asociada al semáforo y lo hace “ejecutable” (estado listo).
Un semáforo se implementará en base a dos elementos:
o Entero
o Puntero asociado a la cola
Entrada y salida de procesos en la cola del semáforo
Organización de la cola: Cada semáforo puede tener una organización diferente
Estructura del semáforo
Asignación de los procesadores
Que se efectúe sin éxito una operación WAIT (se bloquea el proceso) y, por tanto, el procesador conmutará de proceso.
Que tenga éxito la operación WAIT o que la operación SIGNAL se realice sobre un semáforo en el que no haya ningún proceso bloqueado y, por tanto, es bastante probable que se siga ejecutando el mismo proceso.
La vuelta desde dichas operaciones al mismo proceso se realiza directamente (más eficiente, pero más compleja).
o La vuelta se realiza llamando al dispatcher (menos eficiente, pero menos costosa). Es conveniente.
Indivisibilidad
Un único procesador:
Bloqueo: Inhibe el mecanismo de interrupción. El proceso que ejecuta un WAIT o un SIGNAL no puede perder el control del procesador central.
Desbloqueo: Activación del mecanismo de interrupción
Varios procesadores con una memoria común:
Se utiliza la instrucción TSL (comprobar y actualizar de forma indivisible). Durante la ejecución de esta instrucción se inhibe el acceso por parte de otros procesadores a la posición de memoria utilizada.
El núcleo del sistema operativo es el nivel más interno del sistema operativo. Actúa de
interfaz entre el hardware básico y el resto del sistema operativo.
Las funciones básicas del núcleo de un sistema operativo son:
· Manipulación de las interrupciones
· Creación/Destrucción de procesos
· Cambios de estados de procesos
· Planificación de los procesadores
· Suspensión/Reanudación de procesos
· Sincronización de procesos
· Comunicación entre procesos
· Manipulación de bloques de control de procesos
· Soporte de las actividades de entrada/salida
· Soporte de la asignación/liberación del almacenamiento
· Soporte del sistema de archivos
· Soporte de un mecanismo de llamada/regreso al procedimiento
· Soporte de ciertas funciones contables del sistema
Características del núcleo:
· Se encuentra residente en Memoria Principal
· Tienden a ser ininterrumpibles
· Se ejecutan con el máximo privilegio