Núcleo
El Núcleo del Sistema Operativo
Todas las operaciones en las que participan procesos
son controladas por la parte del sistema operativo
denominada núcleo (nucleus, core o kernel, en
inglés).
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.
Los núcleos se diseñan para realizar "el mínimo"
posible de procesamiento en cada interrupción y dejar
que el resto lo realice el proceso apropiado del
sistema, que puede operar mientras el núcleo se
habilita para atender otras interrupciones.
Núcleo
Es el software responsable
de facilitar a los distintos
programas acceso seguro al
hardware de la computadora
o en forma más básica, es el
encargado de gestionar
recursos, a través de
servicios de llamada al
sistema.
El núcleo de un sistema operativo, es el programa
informático que se asegura de:
La comunicación entre los programas
informáticos y el hardware.
Gestión de los distintos programas informáticos
(tareas) de una máquina.
Gestión del hardware (memoria, procesador,
periférico, forma de almacenamiento, etc.)
Funciones
Manejo de interrupciones.
Creación y destrucción de procesos.
Cambio de estado de los procesos.
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.
Kernel y niveles de un SO
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. Gestión de Memoria: que proporciona las
facilidades de bajo nivel para la gestión de memoria
secundaria necesaria para la ejecución de procesos.
Nivel 2. Procesador: Se encarga de activar los
cuantums de tiempo para cada uno de los procesos,
creando interrupciones de hardware cuando no son
respetadas.
Kernel y niveles de un SO
Nivel 3. Entrada/Salida: Proporciona las facilidades
para poder utilizar los dispositivos de E/S requeridos
por procesos.
Nivel 4. Información o Aplicación o Interprete 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.
Nivel 5. Control 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.
El núcleo y los procesos
El núcleo (Kernel) de un sistema operativo es un conjunto de
rutinas cuya misión es la de gestionar el procesador, la
memoria, la entrada/salida y el resto de procesos disponibles
en la instalación. Toda esta gestión la realiza para atender al
funcionamiento y peticiones de los trabajos que se ejecutan en
el sistema.
Los procesos relacionados con la entidad básica de los
sistemas operativos actuales: Los procesos.
El esquema general del mismo es :
Definición y concepto de proceso.
El Bloque de Control de Proceso (PCB) como imagen donde el
sistema operativo ve el estado del proceso.
Estados por los que pasa un proceso a lo largo de su
existencia en la computadora.
Operaciones que se pueden realizar sobre un proceso.
Clasificación de los procesos según su forma de ejecución, de
carga, etc.
Tipos de núcleos:
Monolíticos
Micronúcleos
Híbridos
Exonúcleos
Monolítico:
Facilitan abstracciones del hardware
subyacente realmente potentes y variadas
Estos sistemas tienen un núcleo grande y
complejo, que engloba todos los servicios
del sistema. Programado de forma no
modular, y tiene un rendimiento mayor
que un micronúcleo.
Micronúcleos:
Proporcionan un pequeño conjunto de
abstracciones simples del hardware, y
usan las aplicaciones llamadas servidores
para ofrecer mayor funcionalidad.
Híbridos:
Son muy parecidos a los micronúcleos,
excepto porque incluyen código adicional
en el espacio de núcleo para que se
ejecute más rápidamente.
Ejemplo: Microsoft Windows el más popular.
Exonúcleos:
No facilitan ninguna abstracción, pero
permiten el uso de bibliotecas que
proporcionan mayor funcionalidad gracias
al acceso directo o casi directo al
hardware.