Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de...

38
Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C. Sistemas Operativos

Transcript of Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de...

Page 1: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

Tema 3 Gestión de Procesos

Elaborado por:

Profa: Katiuska Núñez

Universidad Bolivariana de Venezuela

P. F. G en Informática para la Gestión Social

U. C. Sistemas Operativos

Page 2: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

DEFINICIONES

1. Un proceso es un programa en ejecución.

2. Un proceso consiste en el conjunto formado por:

• Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador.

• Su estado de ejecución en un momento dado, esto es, los valores de los registros de la CPU para dicho programa.

• Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos (espacio de direcciones propio).

• Otra información que permite al sistema operativo su planificación.

3. Es una instancia de un programa que está siendo ejecutada.

4. Un mismo programa se puede ejecutar varias veces a la vez,

dando lugar a varios procesos.

PROCESOS

Page 3: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

DEFINICIONES

5. Es la unidad de concurrencia básica.

6. Esta definición varía ligeramente en el caso de sistemas operativos multihilo, donde un proceso consta de uno o más hilos (Threads), la memoria de trabajo (compartida por todos los hilos) y la información de planificación.

Un proceso simple tiene un hilo de ejecución.

PROCESOS

La diferencia es que un proceso es una actividad de cierto tipo que contiene un programa, entradas salidas y estados.

Los procesos son creados y destruidos por el sistema operativo

¿Cuál es la diferencia entre un programa y un proceso?

¿Hay diferencias entre un proceso y un hilo?

Page 4: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

ESTADOS Y TRANSICIONES DE LOS PROCESOS

El principal trabajo del procesador es ejecutar las instrucciones de máquina que se encuentran en memoria principal. Estas instrucciones se encuentran en forma de programas. Para que un programa pueda ser ejecutado, el sistema operativo crea un nuevo proceso, y el procesador ejecuta una tras otra las instrucciones del mismo.

En un entorno de multiprogramación, el procesador intercalará la ejecución de instrucciones de varios programas que se encuentran en memoria. El sistema operativo es el responsable de determinar las pautas de intercalado y asignación de recursos a cada proceso. Memoria

proceso1proceso2

.

.proceson

¿Por qué múltiples procesos?

Page 5: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

ESTADOS Y TRANSICIONES DE LOS PROCESOS

Modelo de dos estados

Es necesario que el sistema operativo pueda seguirle la pista a los procesos, conociendo su estado y el lugar que ocupa en memoria. Además los procesos que no se están ejecutando deben guardarse en algún tipo de cola mientras esperan su turno para ejecutar.

p1

p2 p3 p4 ... pn CPUEntrada SalirExpedir

Pausar

Page 6: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

ESTADOS Y TRANSICIONES DE LOS PROCESOS

La creación de procesos

Un proceso puede crear varios procesos nuevos, a través de una llamada al sistema de crear proceso, durante el curso de ejecución. El proceso creador se denomina proceso padre, y los nuevos procesos son los hijos de ese proceso. Cada uno de estos procesos nuevos puede a su vez crear otros procesos, formando un árbol de procesos.

Cuando un proceso crea un proceso nuevo, hay dos posibilidades en términos de ejecución:

• El padre sigue ejecutándose de forma concurrente con sus hijos.

• El padre espera hasta que algunos de sus hijos, o todos, han terminado.

También hay dos posibilidades en términos del espacio de direcciones del nuevo proceso:

• El proceso hijo es un duplicado del proceso padre.

• Se carga un programa en el proceso hijo.

Page 7: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

BLOQUE DE CONTROL DE PROCESOS

La terminación de procesos

Un proceso acaba cuando termina de ejecutar su último enunciado y le pide al S.O que lo elimine utilizando la llamada al sistema salir (exit o Halt). En este momento, el proceso podría devolver datos(salidas) a su proceso padre (por medio de la llamada al sistema esperar). El S.O liberará los recursos del proceso, incluidos la memoria física y virtual, archivos abiertos y buffers de E/S.

Hay otras circunstancias por la que un proceso puede terminar, esta puede ser por la llamada al sistema abortar.

Un padre podría terminar la ejecución de uno de sus hijos por diversas razones, como:

• El hijo ha excedido en la utilización de algunos de los recursos que se le asignaron.

• La tarea que se asignó al hijo ya no es necesaria.

• El padre va a salir, y el sistema operativo no permite que un hijo continúe si su padre termina.

Page 8: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

Operaciones con procesos:Crear un procesoDestruir un procesoSuspender un procesoReanudar un procesoCambiar la prioridad de un procesoBloquear un procesoDespertar un procesoDespachar un proceso

La creación de un proceso implica varias operaciones, incluyendo:Dar nombre al procesoRegistrarlo en la lista de sistema de procesos conocidosDeterminar la prioridad inicial del procesoCrear el PCBAsignar recursos inicialesS.O localizar toda la información clave sobre el proceso.

ESTADOS Y TRANSICIONES DE LOS PROCESOS

Page 9: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

ESTADOS Y TRANSICIONES DE LOS PROCESOS

Modelo de cinco estados

El modelo anterior de dos estados funcionaría bien con una cola FIFO y planificación por turno rotatorio para los procesos que no están en ejecución, si los procesos estuvieran siempre listos para ejecutar. En la realidad, los procesos utilizan datos para operar con ellos, y puede suceder que no se encuentren listos, o que se deba esperar algún suceso antes de continuar, como una operación de Entrada/Salida. Es por esto que se necesita un estado donde los procesos permanezcan bloqueados esperando hasta que puedan proseguir. Se divide entonces al estado No ejecución en dos estados: Listo y Bloqueado. Se agregan además un estado Nuevo y otro Terminado.

Page 10: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

ESTADOS Y TRANSICIONES DE LOS PROCESOS

Modelo de cinco estados

Los cinco estados de este diagrama son los siguientes:

Ejecución: el proceso está actualmente en ejecución.

Listo: el proceso está listo para ser ejecutado, sólo está esperando que el planificador así lo disponga.

Bloqueado: el proceso no puede ejecutar hasta que no se produzca cierto suceso, como una operación de Entrada/Salida.

Nuevo: El proceso recién fue creado y todavía no fue admitido por el sistema operativo. En general los procesos que se encuentran en este estado todavía no fueron cargados en la memoria principal.

Terminado: El proceso fue expulsado del grupo de procesos ejecutables, ya sea porque terminó o por algún fallo, como un error de protección, aritmético, etc.

Page 11: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

ESTADOS Y TRANSICIONES DE LOS PROCESOS

Transiciones de estados

Cuando un proceso pasa de un estado a otro se dice que hace una transición de estado, estas transiciones se describen a continuación.

Transición DescripciónAdmitir(Proceso): Nuevo- Listo

Cuando un proceso se ha creado y se le permite competir por la CPU.

Expedir(Proceso): Listo-Ejecución

La asignación de la CPU al primer proceso de la lista de listos se atiende y es ejecutado por el CPU. Mientras que el proceso tenga la CPU se dice que esta en ejecución.

Fin del Tiempo(Proceso): Ejecución- Listo

El S.O , cuando a un proceso se le expira el intervalo de tiempo asignado para estar en ejecución (CUANTO o Quantum), hace que este proceso que se hallaba en estado de ejecución pase al estado de listo e inmediatamente se hace que el primer proceso de la lista de Listos pase a estado de ejecución.

Espera suceso(Proceso): Ejecución-Bloqueado

Si un proceso que se encuentra en estado de ejecución inicia una operación de E/S antes que termine su cuanto, el proceso voluntariamente abandona la CPU, es decir, el proceso se bloquea a sí mismo.

Ocurre suceso(Proceso): Bloqueado- Listo

La única transición posible en nuestro modelo básico ocurre cuando acaba una operación de E/S (o alguna otra causa por la que esté esperando el proceso), y esta termina pasa a el estado de listo.

Page 12: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

Modelo de cinco estados

Ocurresuceso

ESTADOS Y TRANSICIONES DE LOS PROCESOS

Page 13: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

En este modelo los estados Bloqueado y Listo tienen ambos una cola de espera. Cuando un nuevo proceso es admitido por el sistema operativo, se sitúa en la cola de listos. A falta de un esquema de prioridades ésta puede ser una cola FIFO. Los procesos suspendidos son mantenidos en una cola de bloqueados. Cuando se da un suceso se pasan a la cola de listos los procesos que esperaban por ese suceso.

Si existe un esquema con diferentes niveles de prioridad de procesos es conveniente mantener varias colas de procesos listos, una para cada nivel de prioridad, lo que ayuda a determinar cuál es el proceso que más conviene ejecutar a continuación.

ESTADOS Y TRANSICIONES DE LOS PROCESOS

Page 14: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

¿Por qué razón se implementa el estado Bloqueado?

La razón era poder hacer que los procesos se puedan mantener esperando algún suceso, por ejemplo una Entrada/Salida. Sin embargo, al ser mucho más lentas estas operaciones, puede suceder en nuestro modelo de cinco estados que todos los procesos en memoria estén esperando en el estado Bloqueado y que no haya más memoria disponible para nuevos procesos.

Una solución es el intercambio. El intercambio se lleva a cabo moviendo una parte de un proceso o un proceso completo desde la memoria principal al disco, quedando en el estado Suspendido. Después del intercambio, se puede aceptar un nuevo proceso o traer a memoria un proceso suspendido anteriormente.

ESTADOS Y TRANSICIONES DE LOS PROCESOS

Page 15: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

El problema que se presenta ahora es que puede ser que si se decide traer a memoria un proceso que está en el estado Suspendido, el mismo todavía se encuentre bloqueado. Sólo convendría traerlo cuando ya está listo para ejecutar, esto implica que ya aconteció el suceso que estaba esperando cuando se bloqueó. Para tener esta diferenciación entre procesos suspendidos, ya sean listos como bloqueados, se utilizan cuatro estados: Listo, Bloqueado, Bloqueado y suspendido y Listo y suspendido.

ESTADOS Y TRANSICIONES DE LOS PROCESOS

Page 16: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

Suspendido

ESTADOS Y TRANSICIONES DE LOS PROCESOS

Page 17: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

ESTRUCTURAS DE CONTROL DEL SO

Tablas de memoria:Se emplean para saber que uso reciben la memoria principal y secundaria. También para obtener cualquier otro tipo de información, relacionada con la memoria.

Tablas de archivos:Almacenan toda la información que contiene un fichero o archivo. su posición en la memoria secundaria, estado actual y otros atributos.

Tablas de dispositivos de E/S:Almacenan toda la información sobre los periféricos o dispositivos de E/S.

Tablas de procesos:Se utilizan para gestionar toda la información que utiliza el Sistema Operativo al manejar los distintos procesos. Estructuras de Control de Procesos:Cada proceso del Sistema Operativo esta representado por un conjunto de estructuras, que forman la llamada “imagen del proceso”.

Page 18: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

ESTRUCTURAS DE CONTROL DEL SO

MemoriaDispositivos

ArchivosProcesos

Tablas de Memoria

Tablas de E/S

Tablas de archivos

Proceso 1

Proceso 2

Proceso 3...

Proceso n

Tablas de Pocesos

Proceso 1

Proceso n

Imagen del proceso

Imagen del proceso

Colección de programa, datos, pila y atributos (PCB).

Page 19: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

BLOQUE DE CONTROL DE PROCESOS

El bloque de control de procesos es la estructura de datos central y más importante de un sistema operativo. Cada bloque de control de Proceso contiene toda la información de un proceso necesaria para el SO. Los bloques son leidos y/o modificados por casi todos los módulos de un SO. incluyendo aquellos que tienen que ver con la planificación, la asignación de recursos, el tratamiento de interrupciones y el análisis y supervisión del rendimiento.

Page 20: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

BLOQUE DE CONTROL DE PROCESOS

Es la manifestación para el sistema operativo de que existe un proceso, es decir cada proceso es representado por su PCB. El PCB es una estructura de datos que contiene cierta información importante acerca del proceso.Almacena:

– Estado actual del proceso– Identificación unívoca del proceso– Prioridad del proceso– Apuntadores a la zona de memoria asignada a cada proceso– Apuntadores a los archivos abiertos– Apuntadores para asignar recursos – Área de salvaguarda de registros– Un apuntador al siguiente PCB

En Linux el PCB se conoce como task_struct

El PCB es un almacenamiento central de información que permite al S.O localizar toda la información clave sobre el proceso.

Page 21: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

CONTROL DE PROCESOS

Modo de Ejecución:

La mayoria de los procesadores dan soporte para dos modos de ejecución cuando mínimo.

• Modo usuario: el CPU podrá ejecutar sólo las instrucciones del juego restringido de las aplicaciones. Es el modo menos privilegiado. Los programas de usuario se ejecuta en este modo.

• Modo del sistema (supervisor, control o núcleo): la CPU debe poder ejecutar el juego completo de instrucciones. Modo con mayor privilegio.

La razón por lo cual se usan los dos modos es para proteger al sistema operativo y a las tablas importantes del mismo, tales como bloques de control de procesos, etc.

¿Cómo conoce el procesador en qué modo va a ejecutar?

¿Cómo se cambia de modo?

Page 22: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

CONTROL DE PROCESOS

A continuación se mencionan los pasos que entran en juego en la creación de los procesos:

1. Asignar un único identificador al nuevo proceso.

2. Asignar espacio para el proceso.

3. Debe inicializarse el bloque de control del proceso.

4. Se deben establecer los enlaces apropiados.

5. Puede haber otras estructuras de datos que crear o ampliar.

Page 23: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

A nivel físico, una interrupción se solicita activando una señal que llega a la unidad de control del CPU. El agente generador o solicitante de la interrupción ha de activar la mencionada señal cuando necesite que se le atienda, es decir, que se ejecute un programa que le atienda.

Ante la solicitud de una interrupción, siempre y cuando esté habilitado ese tipo de interrupción, la unidad de control realiza un ciclo de aceptación de interrupción. Este ciclo se lleva a cabo en cuanto termina la ejecución de la instrucción máquina que se esté ejecutando y consiste en las siguientes operaciones:

• Salva algunos registros del procesador, como son el de estado (PSW) y el contador de programa (PC).

• Eleva el nivel de ejecución del procesador, pasándolo a núcleo.

• Carga un nuevo valor en el contador de programa, por lo que pasa a ejecutar otro programa.

MANEJO DE INTERRUPCIONES

Page 24: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

El SO ocupa una posición intermedia entre los programas de aplicación y el hardware. No se limita a utilizar el hardware a petición de las aplicaciones ya que hay situaciones en las que es el hardware el que necesita que se ejecute código del SO. En tales situaciones el hardware debe poder llamar al sistema, pudiendo deberse estas llamadas a dos condiciones:

• Algún dispositivo de E/S necesita atención.

• Se ha producido una situación de error al intentar ejecutar una instrucción del programa (normalmente de la aplicación).

En ambos casos, la acción realizada no está ordenada por el programa de aplicación, es decir, no figura en el programa.

Según los dos casos anteriores se pueden distinguir dos clases de interrrupciones: las interrupciones y la excepciones:

MANEJO DE INTERRUPCIONES

Page 25: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

Interrupción: señal que envía un dispositivo de E/S a la CPU para indicar que la operación de la que se estaba ocupando, ya ha terminado.

Excepción: una situación de error detectada por la CPU mientras ejecutaba una instrucción, que requiere tratamiento por parte del SO.

Tratamiento de las interrupciones

Una interrupción se trata en todo caso, después de terminar la ejecución de la instrucción en curso.

El tratamiento depende de cuál sea el dispositivo de E/S que ha causado la interrupción, ante la cual debe poder identificar el dispositivo que lo ha causado.

MANEJO DE INTERRUPCIONES

Page 26: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

Tratamiento de las interrupciones

En una interrupción ordinaria, el control se transfiere primero al gestor de interrupciones, quien lleva a cabo algunas tareas básicas y, después, se salta a la rutina del sistema operativo que se ocupa del tipo de interrupción que se ha producido. Algunos ejemplos de estas interrupciones son:

- Interrupción de reloj: Un reloj es un dispositivo que genera interrupciones periódicamente. Ante una interrupción de este tipo, un sistema operativo de tiempo compartido, entre otras cosas, determina si el proceso en ejecución ha alcanzado el máximo tiempo de ejecución que se le concedió. Si es así, el proceso pasará a estado listo, y se asignará la CPU a otro proceso.

MANEJO DE INTERRUPCIONES

Page 27: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

Tratamiento de las interrupciones

- Interrupción de E/S: El sistema operativo determina exactamente qué acción de E/S ha ocurrido. Si se trata de un evento o suceso por el que esperaban uno o más procesos, entonces el sistema operativo traslada todos los procesos bloqueados en dicho evento al estado listo, y determina si reanuda la ejecución del proceso interrumpido o pasa a otro de mayor prioridad.

- Falta de memoria: Un proceso hace una referencia a una dirección que no se encuentra en memoria y que debe traerse de memoria secundaria (esta posibilidad se estudiará en el módulo de gestión de la memoria). Después de hacer la solicitud de E/S para traer esa o esas direcciones de memoria, el sistema operativo lleva a cabo un cambio de contexto para reanudar la ejecución de otro proceso; el proceso que cometió la falta de memoria se pasa al estado bloqueado. Después de que las direcciones aludidas se carguen en memoria, dicho proceso se pondrá en estado listo.

MANEJO DE INTERRUPCIONES

Page 28: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

MANEJO DE INTERRUPCIONES

Ciclo de instrucciones con interrupciones

Page 29: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

TRATAMIENTO SIMPLE DE UNA INTERRUPCION

Page 30: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

Importancia de las interrupciones

El mecanismo de tratamiento de las interrupciones permite al SO utilizar la CPU en servicio de una aplicación, mientras otra permanece a la espera de que concluya una operación en un dispositivo de E/S.

El hardware se encarga de avisar al SO cuando el dispositivo de E/S ha terminado y el SO puede intervenir entonces, si es conveniente, para hacer que el programa que estaba esperando por el dispositivo, se continúe ejecutando.

En ciertos intervalos de tiempo puede convenir no aceptar señales de interrupción. Por ello las interrupciones pueden inhibirse por programa (aunque esto no deben poder hacerlo las mismas).

MANEJO DE INTERRUPCIONES

Page 31: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

Excepciones

Cuando la CPU intenta ejecutar una instrucción incorrectamente construida, la unidad de control lanza una excepción para permitir al SO ejecutar el tratamiento adecuado. Al contrario que en una interrupción, la instrucción en curso es abortada. Las excepciones al igual que las interrupciones deben estar identificadas.

Clases de excepciones

Las instrucciones de un programa pueden estar mal construidas por diversas razones:

• El código de operación puede ser incorrecto.

• Se intenta realizar alguna operación no definida, como dividir por cero.

• La instrucción puede no estar permitida en el modo de ejecución actual.

• La dirección de algún operando puede ser incorrecta o se intenta violar alguno de sus permisos de uso.

MANEJO DE INTERRUPCIONES

Page 32: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

Importancia de las excepciones

El mecanismo de tratamiento de las excepciones es esencial para impedir, junto a los modos de ejecución de la CPU y los mecanismos de protección de la memoria, que las aplicaciones realicen operaciones que no les están permitidas. En cualquier caso, el tratamiento específico de una excepción lo realiza el SO.

Como en el caso de las interrupciones, el hardware se limita a dejar el control al SO, y éste es el que trata la situación como convenga.

Es bastante frecuente que el tratamiento de una excepción no retorne al programa que se estaba ejecutando cuando se produjo la excepción, sino que el SO aborte la ejecución de ese programa. Este factor depende de la pericia del programador para controlar la excepción adecuadamente.

MANEJO DE INTERRUPCIONES

Page 33: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

El núcleo del sistema operativo, también llamado kernel (núcleo) es aquella parte de un sistema operativo que interactúa de forma directa con el hardware de una máquina. Entre las funciones principales del kernel se encuentran:

• La gestión de procesos.

- Creación y terminación de los procesos

- Planificación y expedición de los procesos

- Cambios de los procesos

- Sincronización de procesos y soporte para la comunicación entre procesos

- Gestión de los bloques de control de procesos

• La gestión de memoria

- Asignación de espacio de direcciones a los procesos.

- Intercambio

- Gestión de Páginas y segmentos.

NÚCLEO DEL SISTEMA OPERATIVO

Page 34: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

• La administración del sistema de archivos.

• La administración de servicios de entrada/salida.

- Gestión de buffers.

- Asignación de canales de E/S y dispositivos a los procesos

• La asignación de recursos entre los usuarios.

• Tratamiento de interrupciones.

• Supervisión

La manipulación del hardware se realiza por medio de controladores de dispositivo, que conocen la forma de comunicarse directamente con el hardware de la máquina.

El software por su parte puede comunicarse con el kernel por medio de llamadas al sistema, las cuales le indican al kernel que realice tareas como abrir y escribir un archivo, ejecutar un programa, finalizar un proceso u obtener la fecha y hora del sistema.

NÚCLEO DEL SISTEMA OPERATIVO

Page 35: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

Núcleo monolítico

Estos sistemas tienen un núcleo grande y complejo, que engloba todos los servicios del sistema. Está programado de forma no modular, y tiene un rendimiento mayor que un micronúcleo. Sin embargo, cualquier cambio a realizar en cualquier servicio requiere la recompilación del núcleo y el reinicio del sistema para aplicar los nuevos cambios. Se ejecutan en el espacio de memoria del núcleo mismo. No emplea un sistema de mensajes.

NÚCLEO DEL SISTEMA OPERATIVO

Page 36: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

Núcleo monolítico

Un sistema operativo con núcleo monolítico concentra todas las funcionalidades posibles (planificación, sistema de archivos, redes, controladores de dispositivos, gestión de memoria, etc) dentro de un gran programa. El mismo puede tener un tamaño considerable. Un error en una rutina puede propagarse a todo el núcleo. Todos sus componentes se encuentran integrados en un único programa que ejecuta en un único espacio de direcciones. En este tipo de sistemas, todas las funciones que ofrece el sistema operativo se ejecutan en modo supervisor.

Ejemplos: UNIX y Linux

NÚCLEO DEL SISTEMA OPERATIVO

Page 37: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

Microkernel (Micronúcleo)

Las partes funcionales están divididas en unidades separadas con mecanismos de comunicación estrictos entre ellos.

Es un tipo de núcleo de un sistema operativo que provee un conjunto deprimitivas o llamadas al sistema mínimas, para implementar servicios básicos como espacios de direcciones, comunicación entre procesos y planificación básica.

Todos los otros servicios (gestión de memoria, sistema de archivos, operaciones de E/S, etc.), que en general son provistos por el núcleo, se ejecutan como procesos servidores en espacio de usuario.

En un principio pretendía ser una solución a la creciente complejidad de los sistemas operativos.

Las principales ventajas de su utilización son la reducción de la complejidad, la descentralización de los fallos (un fallo en una parte del sistema no lo colapsaría por completo) y la facilitación para crear y depurar controladores de dispositivos.

NÚCLEO DEL SISTEMA OPERATIVO

Page 38: Tema 3 Gestión de Procesos Elaborado por: Profa: Katiuska Núñez Universidad Bolivariana de Venezuela P. F. G en Informática para la Gestión Social U. C.

Microkernel (Micronúcleo)

Por otro lado, sus principales dificultades son la complejidad en la sincronización de todos los módulos que componen el micronúcleo y su acceso a la memoria, la Integración con las aplicaciones.

Esto mejora la tolerancia a fallos y eleva la portabilidad entre plataformas de hardware, según los defensores de esta tendencia. Sus detractores le achacan, fundamentalmente, mayor complejidad en el código, menor rendimiento, o limitaciones en diversas funciones.

Ejemplos: Minix, Hurd

NÚCLEO DEL SISTEMA OPERATIVO