Sincronizacion y comunicacion de procesos - universidad francisco gavidia
1. Introducción
2. Representación de los procesos
3. Hilos de ejecución o thread
4. Sincronización y comunicación entre procesos
5. Sección crítica
6. Modelo de sincronización mutex (mutual exclusión object) exclusión mutua
7. Modelo de sincronización por semáforos
8. Modelo de sincronización por mensajes
9. Problemas desincronización
10. Los clásicos problemas de la sincronización de procesos
11. Interbloqueo
12. Recursos reutilizables
13. Recursos consumibles
14. Bibliografía
INTRODUCCIÓN
En los sistemas operativos multiprogramados surge el concepto de proceso, asociado a la ejecución de un programa. En general, un proceso es un flujo de ejecución, representado básicamente por uncontador de programa, y su contexto de ejecución, que puede ser más o menos amplio. Así, un proceso incluye en su contexto el estado de la pila, el estado de la memoria y el estado de la E/S, mientras que un thread típico tiene como contexto propio poco más que la pila. En algunos sistemas es posible determinar el contexto propio de un proceso en el momento de su creación, como ocurre con la llamadaal sistema clone() de Linux. En adelante, sin perder generalidad, utilizaremos siempre el término proceso, independientemente de cuál sea su contexto.
Uno de los objetivos del sistema operativo es la representación de los procesos y el soporte de los cambios de contexto entre procesos, que posibilitan la compartición del recurso CPU. El acceso a otros recursos compartidos y la comunicaciónentre procesos relacionados (por ejemplo, de una misma aplicación) hacen necesaria la utilización de mecanismos de sincronización dentro del sistema operativo. Típicamente, un proceso requiere la CPU durante un periodo de tiempo, realiza alguna operación de E/S, y vuelve a requerir la CPU, repitiéndose este ciclo hasta la finalización del programa. El proceso pasa por diversos estados entre los quese definen transiciones, como representa, en su forma más sencilla, el grafo de la Figura siguiente.
Cada vez que un proceso pasa al estado preparado, está compitiendo por el recurso CPU. Un segundo objetivo del sistema operativo multiprogramado es la planificación del uso del (de los) recurso(s) de proceso. Los criterios que se siguen para la planificación y las políticas que se usan seestudiarán mas adelante en el desarrollo de la presente investigación.
Para realizar el estudio de dichas políticas se realiza una sintetizada referencia a la representación de los procesos, para luego definir hilos de ejecución o threads, estableciendo diferencias entre procesos y hilos de ejecución, sus ventajas desventajas, estados, sincronización y tipos, para luego empezar a estudiarel fenómeno de la sincronización de procesos, estableciendo su definición y características, se esboza la definición, modelo, propiedades de la sección critica, así como la descripción detallada de algunos de los principales modelos de sincronización tales como el de exclusión mutua (mutex), semáforos y mensajes, para después describir los diferentes problemas de sincronización tales como; elfumador de cigarrillos, la panadería de Lamport, los filósofos que cenan (sabios), el barbero dormilón, lectores y escritores, y productor consumidor y finalmente se estudia el interbloqueo estableciendo su definición, características, condiciones necesarias y suficientes para su existencia, en cuanto a su detección y recuperación.
Representación de los procesos
Para representar losprocesos, un sistema operativo multiprogramado debe almacenar información en base a la cual:
Identificar cada proceso. Se utiliza un identificador del proceso, que suele ser un entero.
Representar el estado de cada proceso para mantener el grafo de transición de estados. Normalmente los estados se representan mediante colas de procesos.
Planificar el siguiente proceso que entre en...
Regístrate para leer el documento completo.