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