Control de procesos y sincronizacion unix

Solo disponible en BuenasTareas
  • Páginas : 21 (5103 palabras )
  • Descarga(s) : 0
  • Publicado : 24 de mayo de 2010
Leer documento completo
Vista previa del texto
2 Control de procesos y sincronización

En los sistemas multiprogramados se define el proceso como entidad representante de la ejecución de un programa en un determinado contexto. Aunque hoy en día se ha generalizado este concepto para permitir flujos de ejecución concurrente dentro de un mismo programa (threads), en lo que respecta al sistema operativo, la problemática es esencialmente lamisma: proporcionar una representación adecuada de los flujos y su contexto, un mecanismo de cambio de contexto, medios de comunicación entre los procesos y mecanismos eficientes para soportarlos, y políticas que eviten interbloqueos e inanición. Estas materias son el objeto de este capítulo. Se requieren también políticas que permitan la planificación del uso eficiente del procesador o losprocesadores, tema que se tratará en otro capítulo.

Sistemas Operativos II Control de procesos y sincronización

18

Contenido

2.1 Introducción 2.2 Representación de los procesos 2.3 Cambio de contexto 2.3.1 Secuencia del cambio de contexto 2.3.2 Evaluación del rendimiento 2.4 Sincronización entre procesos 2.4.1 Secciones críticas 2.4.2 Espera por ocupado 2.4.3 Espera por bloqueado 2.4.4 Paso demensajes 2.5 El problema del interbloqueo 2.5.1 Modelo del interbloqueo 2.5.2 Condiciones para el interbloqueo 2.5.3 Soluciones al interbloqueo 2.6 Bibliografía 2.7 Ejercicios 2.8 Apéndice A: Soluciones software a la espera por ocupado 2.8.1 Algoritmo de Dekker (1965) 2.8.2 Algoritmo de Peterson (1981) 2.8.3 Algoritmo de la panadería de Lamport (1974) 2.9 Apéndice B: Problema de los lectores yescritores

19 20 22 22 23 24 26 29 32 36 38 40 41 41 48 48 51 51 51 52 53

Sistemas Operativos II Control de procesos y sincronización

19

2.1 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 deejecución, que puede ser más o menos amplio. Así, un proceso UNIX incluye en su contexto el estado de la pila, el estado de la memoria y el estado de la E/S, mientras que un thread1 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. Enadelante, 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 (porejemplo, 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, comorepresenta, en su forma más sencilla, el grafo de la Figura 2.1.
nuevo proceso

ejecutándose

finalizado

preparado

bloqueado

Figura 2.1. Grafo de transición de estados de un proceso 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 en el siguiente capítulo.

1

También llamados procesos ligeros o LWPs (lightweighted processes).

Sistemas Operativos II Control de procesos y sincronización

20

Seleccionado el proceso que ha de entrar a la CPU, éste pasa a estado ejecutándose y se restaura su contexto de ejecución para que...
tracking img