Sistemas Operativos. Sistemas Informáticos I.E.S. Virgen de la Paloma

Sistemas Operativos. Gestión de Procesos Sistemas Informáticos I.E.S. Virgen de la Paloma Introducción (I) 2  Programa:  Algo estático, un conj

5 downloads 76 Views 174KB Size

Story Transcript

Sistemas Operativos. Gestión de Procesos Sistemas Informáticos I.E.S. Virgen de la Paloma

Introducción (I) 2



Programa:  Algo

estático, un conjunto de instrucciones que, una vez ejecutadas, resuelven un determinado problema .



Proceso:  Algo

dinámico, es una parte de un programa que se está ejecutando con todo lo que ello conlleva: valores de registros, de variables, contenido del contador de programa, etc.  De un programa suelen surgir varios procesos.

2

Introducción (II) 3



Componentes de un proceso: 

Además de las líneas de código, un proceso precisa la imagen del proceso que podrá residir en memoria secundaria, pero debe cargarse en memoria principal a la hora de ejecutarlo:   

Ubicación de variables y constantes definidas por el proceso. Pila asociada a cada proceso para gestionar las llamadas a funciones. Atributos del proceso guardados en el BCP: Bloque de control del proceso, que contiene:    



Identificación del proceso. Información sobre el estado del procesador. Información de control del proceso. Se guardan en la TBCP: Tabla de bloques de control del proceso.

Cambios de contexto: La concurrencia de procesos implica que éstos entrarán y saldrán de la CPU constantemente sin haber terminado de ejecutarse.

3

Introducción (III) 4

 Estados   

 En 



de los procesos (modelo de 3 estados):

EJECUCIÓN: Está utilizando la CPU en este momento. LISTO: Con posibilidad de entrar en ejecución. BLOQUEADO: Sin posibilidad de entrar en ejecución.

un modelo de 5 estados tenemos además: NUEVO: Se acaba de crear y aún habiendo sido admitido por el Sistema Operativo, no está listo para la ejecución. TERMINADO: Ha terminado su ejecución o es abandonado por el S.O., p.e. por un error irrecuperable. Este proceso no se volverá a ejecutar, pero sus tablas de valores permanecerán durante un tiempo por si algún otro programa necesitase extraer alguna información de ellas.

 Transiciones   

posibles (modelo de 3 estados):

Ejecución a Bloqueado Bloqueado a Listo Ejecución a Listo y viceversa 4

Control del proceso (I) 5



Creación del proceso. Pasos del S.O.   

 

Asignar al proceso un identificativo por el que lo reconocerá de ahora en adelante, e incluirlo en la TBCP. Reservar espacio de memoria suficiente para almacenar la imagen del proceso. También reservar sitio para el BCP. Rellenar los datos del BCP. Todos los valores a 0, el contador de programa que apuntará a la primera instrucción del programa, los punteros de pila que darán los límites de la pila del proceso, el estado se inicializará a listo, la prioridad la más baja, a menos que haya una solicitud para un valor mayor, etc. Establecer los enlaces adecuados de este proceso con otros. Crear las estructuras de datos vinculadas al propio proceso.

5

Control del proceso (II) 6



Cambios de contexto.

Se produce cuando un proceso no puede seguir ejecutándose, el S.O. lo detecta e intenta resolver la situación, bien para volver a reanudar el mismo proceso o para cambiar a otro.  Conlleva las siguientes acciones: 







  



Salvar el contexto del proceso que abandona la ejecución (registros del procesador). Cambiar el estado del proceso que abandona, que ya no será en ejecución sino que, dependiendo del motivo del cambio pasará a listo, bloqueado, terminado, etc. modificando su BCP. Mover el BCP a la cola que corresponda (dependiendo de su estado). Solicitar otro proceso para la ejecución. Actualizar el BCP del proceso que ahora entrará en ejecución. Actualizar las estructuras de datos necesarias para la gestión de memoria. Volcar en el procesador el contexto del proceso que ahora pasa a ejecutarse.

6

Procesos e Hilos Proceso: Unidad de recursos  Hilo: Línea de ejecución o proceso ligero. Ventajas: 

7

 La

mayoría de la información del BCP es compartida por los hilos.  El S.O. tarda mucho menos en crear, intercambiar y terminar hilos.  Los cambios entre hilos no incluyen el intercambio de información de administración de la memoria.  Al compartir memoria, la comunicación entre hilos en inmediata.  Varios hilos de un proceso podrían ejecutarse de forma paralela. 7

Comunicación entre procesos (I) 8

 

En los sistemas multiproceso, la Concurrencia entre procesos es una tarea compleja. El objetivo de la concurrencia es garantizar la Sincronización entre procesos.  Sincronización

en el acceso a recursos compartidos  Asignar los recursos de forma óptima (evitar Bloqueos) 

La solución a estos problemas es proteger a los recursos compartidos controlando el código que accede a cada uno.

8

Comunicación entre procesos (II) 

9

Si existe competencia entre procesos, el S.O. debe abordar tres problemas:  Necesidad

de la exclusión mutua: Sección Crítica: parte de los procesos donde se hace uso de un recurso no compartible Nunca habrá más de un proceso ejecutando su sección crítica.  Interbloqueo, se produce si dos procesos necesitan dos dispositivos para poder entrar en su sección crítica y el S.O. le asigna uno a cada uno. Los dos procesos se quedarán bloqueados indefinidamente, ya que ninguno va a poder acceder al otro dispositivo para poder continuar su ejecución.  Inanición, se presenta cuando a un proceso no llega a asignársele un dispositivo y. por lo tanto, no puede entrar en su sección crítica porque, por ejemplo, existen otros dos procesos a los que se les está asignando de forma alternante. 9

Comunicación entre procesos (III) 10



Para poder lograr una sincronización de los procesos, el sistema deberá ser capaz de cumplir con la exclusión mutua además de satisfacer los siguientes objetivos :  Si

un proceso se interrumpe en una sección no crítica, no debe estorbar al resto de los procesos.  Deben controlarse el interbloqueo y la inanición.  Un proceso podrá poder entrar en su sección crítica si no hay otros procesos que estén en la suya.  Un proceso no puede permanecer de forma indefinida en su sección crítica.

10

Comunicación entre procesos (IV) 

11

Hay varias formas de hacer cumplir esas condiciones :  Soluciones

software: dejar la responsabilidad a los mismos procesos, que cooperen para cumplir con estos objetivos sin ayuda del S.O. 

Algoritmos de Dekker y Peterson: algoritmos de exclusión mutua mediante variables Turno y Señal.

 Soluciones

hardware: utilizar instrucciones de la máquina para este control.  

Inhabilitación de interrupciones Instrucciones especiales. Se ejecutan seguidas sin soltar el control CPU

 Hacer   

responsable al Sistema Operativo.

Semáforos Monitores Paso de mensajes

11

Comunicación entre procesos (V) 

12

Semáforos :  Un

mecanismo semáforo consta básicamente de dos operaciones primitivas Signal(S) y Wait(S) que operan sobre un tipo especial de variable semáforo S, que sólo puede tomar valores enteros.    





El semáforo se inicializa a 1. El primer proceso que entra, ejecuta Wait(S) y lo baja a 0. Un proceso se bloquea si deja el semáforo en

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.