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.
Características del núcleo:
· Se ejecutan con el máximo privilegio
· Tienden a ser ininterrumpibles
· Se encuentra residente en Memoria Principal
Las funciones básicas del núcleo de un sistema operativo son:
· Soporte de ciertas funciones contables del sistema
· Soporte de un mecanismo de llamada/regreso al procedimiento
· Soporte del sistema de archivos
· Soporte de la asignación/liberación del almacenamiento
· Soporte de las actividades de entrada/salida
· Manipulación de bloques de control de procesos
· Comunicación entre procesos
· Sincronización de procesos
· Suspensión/Reanudación de procesos
· Planificación de los procesadores
· Cambios de estados de procesos
· Creación/Destrucción de procesos
· Manipulación de las interrupciones
EL NÚCLEO DE UN SISTEMA OPERATIVO
Implementación de primitivas de comunicación y sincronización.Equivalencias entre primitivas
Indivisibilidad
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.
Un único procesador:
Desbloqueo: Activación del mecanismo de interrupción
Bloqueo: Inhibe el mecanismo de interrupción. El proceso que ejecuta un WAIT o un SIGNAL no puede perder el control del procesador central.
Asignación de los procesadores
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.
o La vuelta se realiza llamando al dispatcher (menos eficiente, pero menos costosa). Es conveniente.
La vuelta desde dichas operaciones al mismo proceso se realiza directamente (más eficiente, pero más compleja).
Que se efectúe sin éxito una operación WAIT (se bloquea el proceso) y, por tanto, el procesador conmutará de proceso.
Entrada y salida de procesos en la cola del semáforo
Estructura del semáforo
Organización de la cola: Cada semáforo puede tener una organización diferente
Bloqueo y desbloqueo
Consideraciones en la implementación de los semáforos:
Un semáforo se implementará en base a dos elementos:
o Puntero asociado a la cola
o Entero
La operación SIGNAL sobre un semáforo, saca un proceso de la cola asociada al semáforo y lo hace “ejecutable” (estado listo).
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).
Con cada semáforo asociamos una cola de procesos.
Gestión de procesos. Planificación
Planificación de procesos
Algoritmos de planificación de procesos
Consideraciones para la planificación
Rendimiento o productividad
Tiempo de respuesta
· Tiempo de retorno
Sistema de prioridad
Planificación apropiativa y planificación no apropiativa
Niveles de planificación
Scheduler a corto plazo (scheduler de la CPU)
Scheduler a largo plazo
Funcionamiento del dispatcher
Representación de los procesos
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:
6. Interrupciones de verificación de la máquina.
5. Interrupciones de verificación del programa.
4. Interrupciones de reinicio.
3. Interrupciones externas.
2. Interrupciones de E/S
1. Interrupciones SVC (SuperVisor Call, llamadas al supervisor).
Requisitos básicos del hardware
Cambio de modos:
Modo supervisor a modo usuario:
o Instrucción reservada
· Modo usuario a modo supervisor:
o Se intenta ejecutar una instrucción reservada en modo usuario (caso especial de error)
o Error en un proceso de usuario
Ocurre una interrupción
o El proceso usuario solicita una llamada al supervisor para usar alguna función del sistema operativo
Para establecer cuándo se pueden usar estas instrucciones reservadas, existen dos modos
de funcionamiento del computador:
· Modo usuario: Sólo ejecuta las instrucciones de usuario
· Modo núcleo o supervisor (kernel): Ejecuta todas las instrucciones (tanto reservadas como de usuario)
Repertorio de instrucciones reservadas.
Un mecanismo de protección que debe implementarse en el hardware de direccionamiento de la memoria.
Un mecanismo de interrupción