Nucleo De Un S.O.
1. 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. Su finalidad es constituir un entorno adecuado en el que se puedan desarrollar los distintos procesos.
Las funciones básicas del núcleo de un sistema operativo son:
Manipulación delas 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 almacenamientoSoporte 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
El núcleo es la parte más dependiente del hardware. Normalmente se escribe en ensamblador, pero existenotros lenguajes para diseño de sistemas operativos: BCPL (Basic Compiled Programming Language), BLISS (Basic Language for Implementing Systems), C, Pascal Concurrente, PL/2, ...
2. Gestión de interrupciones (FLIH).
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 unatransferencia automática a una rutina específica.
Básicamente, existen seis clases de interrupciones:
1. Interrupciones SVC (SuperVisor Call, llamadas al supervisor). Son iniciadas por un proceso en ejecución para solicitar una operación de E/S, obtener memoria
2. Interrupciones de E/S. Son iniciadas por el hardware de E/S. Indican a la CPU el cambio de estado de un canal o dispositivo. Seproducen cuando finaliza una operación de E/S o cuando un dispositivo para a estado de listo.
3. Interrupciones externas. Son causadas por diversos sucesos, incluyendo la expiración del cuantum de reloj, la pulsación de la tecla de interrupción del teclado, …
4. Interrupciones de reinicio. Ocurren cuando se pulsa el botón de reinicio de la consola (Reset), …
5. Interrupciones de verificacióndel programa. Son causadas por varios tipos de errores experimentados al ejecutar un proceso, como una operación de división por cero, formato de datos erróneo, ejecución de una operación inválida, intento de acceder a una posición de memoria fuera de los límites (violación de memoria), …
6. Interrupciones de verificación de la máquina. Son ocasionadas por el mal funcionamiento de la máquina.La gestión de interrupciones la realiza el manipulador (controlador) de interrupciones (FLIH, First Level Interrupt Handler).
El manipulador de interrupciones es la parte del sistema operativo responsable de proporcionar la respuesta adecuada a las señales procedentes tanto del exterior como del interior del sistema (interrupciones externas e internas).
Funcionamiento del FLIH:
1. Inhibir lasinterrupciones (si no lo hace el hardware).
2. Guardar la información no salvada por el hardware. Dos posibles formas:
o Salvar los registros que se usen en el tratamiento de la interrupción.
o Usar un conjunto de registros suplementarios sólo usados en modo supervisor
para procesar el servicio de la interrupción con lo que no se necesitan salvar los registros afectados del programa.
3.Identificar la causa de la interrupción (depende del hardware). Podemos distinguir varios casos:
o Con todas las interrupciones se transfiere el control a la misma posición de memoria (caso más sencillo).
o El hardware de interrupción es capaz de distinguir las diferentes fuentes de interrupción y transferir el control del programa a una posición de memoria distinta para cada una de ellas, con...
Regístrate para leer el documento completo.