Diferencia entre revisiones de «Concurrencia de procesos»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
Línea 14: Línea 14:
 
=Programación concurrente=  
 
=Programación concurrente=  
 
La programación concurrente consiste en el conjunto de técnicas que nos permite la elaboración de programas que emplean alguno de los mecanismos de arbitraje, basados en sincronización o mensajería, para resolver situaciones de concurrencia o cooperación.
 
La programación concurrente consiste en el conjunto de técnicas que nos permite la elaboración de programas que emplean alguno de los mecanismos de arbitraje, basados en sincronización o mensajería, para resolver situaciones de concurrencia o cooperación.
 +
 +
=Tipos de mecanismos de sincronización=
 +
*Optimista: se considera que la frecuencia de acceso a un recurso compartido es ''baja''.
 +
*Pesimista: se considera que la frecuencia de acceso a un recurso compartido es ''alta''.
 +
 +
Es el programador el que tiene que tomar una de estos mecanimos a la hora de realizar su programa.

Revisión del 15:56 28 mar 2011

Formas de interacción entre procesos

Hay dos formas de interacción entre los procesos :

  • Relaciones de Concurrencia : los procesos A y B tienen objetivos diferentes y compiten por los recursos para conseguirlos.
  • Relaciones de Cooperación : los procesos A y B tienen un mismo objetivo y se ponen de acuerdo a la hora de emplear los recursos existentes para alcanzarlos.

El sistema operativo ofrece mecanismos que los procesos pueden emplear para arbitrar el acceso a los recursos.

Mecanismos de arbitraje

Los mecanismos de arbitraje que ofrece el sistema operativo son :

  • Sincronización: el sistema operativo ofrece mecanismos que permiten a los procesos coordinar la ejecución para conseguir su objetivo en armonía (y no de manera indeseada).
  • Mensajería: el sistema operativo ofrece mecanismos de comunicación basados en mensaje.

Programación concurrente

La programación concurrente consiste en el conjunto de técnicas que nos permite la elaboración de programas que emplean alguno de los mecanismos de arbitraje, basados en sincronización o mensajería, para resolver situaciones de concurrencia o cooperación.

Tipos de mecanismos de sincronización

  • Optimista: se considera que la frecuencia de acceso a un recurso compartido es baja.
  • Pesimista: se considera que la frecuencia de acceso a un recurso compartido es alta.

Es el programador el que tiene que tomar una de estos mecanimos a la hora de realizar su programa.