El Núcleo (o kernel) es una colección de módulos de
software que se ejecutan en forma privilegiada –lo que significa que tienen
acceso pleno a los recursos del sistema. El núcleo normalmente representa sólo
una pequeña parte de lo que por lo general se piensa que es todo el sistema
operativo, pero es tal vez el código que más se utiliza. Por esta razón, el
núcleo reside por lo regular en la memoria principal, mientras que otras partes
del sistema operativo son cargadas en la memoria principal sólo cuando se
necesitan.
El núcleo de un sistema operativo normalmente el
código necesario para realizar las siguientes funciones:
• Manejo de interrupciones.
• Creación y destrucción de procesos.
• Cambio de estado de los procesos.
• Despacho.
• Suspensión y reanudación de procesos.
• Sincronización de procesos.
• Comunicación entre procesos.
• Manipulación de los bloques de control de
procesos.
• Apoyo para las actividades de entrada/salida.
• Apoyo para asignación y liberación de memoria.
• Apoyo para el sistema de archivos.
• Apoyo para el mecanismo de llamada y retorno de
un procedimiento.
• Apoyo para ciertas funciones de contabilidad del
sistema.
El Kernel consiste en la parte principal del código
del sistema operativo, el cual se encargan de controlar y administrar los
servicios y peticiones de recursos y de hardware con respecto a uno o varios
procesos, este se divide en 5 capas:
Nivel 1. Procesador. (Núcleo)
Se encarga de activar los cuantum de tiempo para
cada uno de los procesos, creando interrupciones de hardware cuando no son
respetadas.Se introduce la noción de proceso como un programa en ejecución.
Entre los requisitos fundamentales de un sistema operativo que ofrezca soporte
para múltiples procesos se incluye la capacidad de suspender y reanudar los
procesos.
Esto exige salvaguardar los registros del hardware,
de modo que la ejecución pueda cambiar de un proceso a otro. Además, si los
procesos necesitan cooperar, hace falta algún método de sincronización. Una de
las técnicas más simples, pero un concepto importante en el diseño de sistemas
operativos, es el semáforo.
• Objetos→ proceso y semáforo
• Operaciones típicas→ crear, destruir,
suspender, reanudar, señalizar y esperar
Nivel 2. Entrada/Salida.
Proporciona las facilidades para poder utilizar los
dispositivos de E/S requeridos por procesos.
Tiene que ver con los dispositivos de
almacenamiento secundario. En este nivel se sitúan las funciones de ubicación
de las cabezas de lectura y escritura, y se producen las transferencias reales
de bloques. Este nivel se apoya en el nivel anterior para planificar las
operaciones y notificar al proceso que hizo la solicitud que la operación ha
culminado.
Ø Objetos→ bloques de datos
Ø Operaciones típicas→ leer, escribir,
asignar y liberar
Dispositivos de Entrada y Salida.
El código destinado a manejar la entrada y salida
de los diferentes periféricos en un sistema operativo es de una extensión
considerable y sumamente complejo. Resuelve las necesidades de sincronizar,
atrapar interrupciones y ofrecer llamadas al sistema para los programadores.
Nivel 4. Sistema de Archivos.
Proporciona la facilidad para el almacenamiento a
largo plazo y manipulación de archivos con nombre, va asignando espacio y
acceso de datos en memoria. Da soporte al almacenamiento a largo plazo de los
archivos con nombre.
En este nivel, los datos del almacenamiento
secundario se contemplan en términos de entidades abstractas de longitud
variable, en contraste con el enfoque orientado al hardware del nivel de E/S
básicas, en términos de pistas, sectores y bloques de tamaño fijo.
• Objetos→ archivos dispositivos
• Operaciones típicas→ crear, destruir, abrir,
cerrar, leer y escribir.
Nivel 5. Información o Aplicación o Intérprete de
Lenguajes.
Facilita la comunicación con los lenguajes y el
sistema operativo para aceptar las ordenes en cada una de las aplicaciones.
Cuando se solicitan ejecutando un programa el software de este nivel crea el
ambiente de trabajo e invoca a los procesos correspondientes.
Ofrece al usuario una interfaz con el sistema operativo.
Se denomina shell y separa al usuario de los detalles, le presenta el sistema
operativo como un simple conjunto de servicios. El shell acepta las órdenes del
usuario o las sentencias de control de trabajos, las interpreta, crea y
controla los procesos según sea necesario.
El intérprete de comandos representa la interfaz
entre el usuario y el sistema operativo. Algunos sistemas operativos incluyen
el intérprete en el kernel. Otros como el DOS o UNIX, poseen un programa
especial para cumplir esta función que se ejecuta cuando se inicia el sistema.
• Objetos→ datos del entorno
• Operaciones típicas→ sentencias del lenguaje
de ordenes


No hay comentarios:
Publicar un comentario