Licenciada
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 recursos 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.
3.2. PROCESOS
Uno de los conceptos más importantes que giraen torno a un sistema operativo es el de proceso. Este concepto surgió por primera vez con la multiprogramación, donde se puede ejecutar más de un programa simultáneamente con el fin de aprovechar al máximo los recursos de la computadora.
Un proceso es un programa en ejecución junto con el entorno asociado (registros, variables, etc.).
En la Figura 3.1 puedeverse gráficamente el concepto de proceso con su entorno (programa en ejecución, datos en variables y pila, etc.).
Ya se ha indicado que el corazón de un sistema operativo es el núcleo, un programa de control que reacciona ante cualquier interrupción de eventos externos y que da servicio a los procesos, creándolos, terminándolos y respondiendo a cualquier petición de servicio por parte de losmismos.
3.2.1. Modelo
La diferencia entre un programa (conjunto de instrucciones) y un proceso (instrucciones ejecutándose) es obvia, pero crucial para entender el funcionamiento de los sistemas operativos.
Imaginemos un mecánico de automóviles en un taller donde se reparan vehículos con averías complejas en las que se hace necesario consultar el manual de reparaciones de cada modelo, quecontiene instrucciones para todas las posibles averías. Además, se permiten reparaciones rápidas a las que se les da mayor prioridad que a las mencionadas anteriormente. Existe en el taller un almacén de repuestos de todo tipo y herramientas suficientes para las reparaciones.
Comparando esta situación con una computadora, se pueden establecer las siguientes analogías:
• El mecánico sería elprocesador que va a realizar el trabajo.
• El manual de cada reparación sería el programa.
• Las herramientas serían los recursos disponibles.
• Las piezas de recambio serían los datos.
• La actividad de utilizar las herramientas para desmontar las piezas defectuosas sustituyéndolas por otras nuevas siguiendo las instrucciones del manual equivaldría al proceso.
Supongamos que en undeterminado momento el mecánico está realizando una reparación compleja (de las que llevan tiempo) y aparece un vehículo que solícita una reparación de las rápidas (ha aparecido una interrupción). El mecánico suspende momentáneamente la reparación compleja anotando en qué situación se queda dicha reparación y qué operación estaba realizando en este momento (guarda el estado del proceso). Asimismo,sustituye el manual que estaba utilizando por el de la reparación rápida que se dispone a realizar (cambio de programa). Comienza la nueva reparación (cambio de proceso), en la que las herramientas no serán las mismas que antes (distintos recursos); las indicaciones del usuario, las piezas de repuesto (datos) y las indicaciones del manual (programa) llevarán a feliz término la reparación para queel mecánico vuelva a continuación a la reparación inicial.
Con este ejemplo se desea resaltar que un proceso es una actividad que se apoya en datos, recursos, un estado en cada momento y un programa.
3.2.2. El bloque de control del proceso (PCB)
Un proceso se representa, desde el punto de vista del sistema operativo, por un conjunto de datos donde se incluyen el estado en cada momento,recursos utilizados, registros, etc., denominado Bloque de Control del Proceso (PCB).
Los objetivos que se pretenden cubrir con el bloque de control del proceso son los siguientes:
• Localización de la información sobre el proceso por parte del sistema operativo.
• Mantener registrados los datos del proceso en caso de tener que suspender temporalmente su ejecución o reanudaría.
En...
Regístrate para leer el documento completo.