domingo, 26 de octubre de 2008

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 un contador 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 llamada al 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ón entre 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 que se definen transiciones, como representa, en su forma más sencilla.

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 se estudiará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 estudiar el 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 monitores, el interbloqueo estableciendo su definición, características, condiciones necesarias y suficientes para su existencia, en cuanto a su detección y recuperación, finalmente se estudia las tecnicas de administración del planificador.
.