Diferencia entre revisiones de «Concurrencia de procesos»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(Añadir enlaces)
Línea 1: Línea 1:
 
=Formas de interacción entre procesos=
 
=Formas de interacción entre procesos=
 
Hay dos formas de interacción entre los 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 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.
+
* '''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.
 
El sistema operativo ofrece mecanismos que los procesos pueden emplear para arbitrar el acceso a los recursos.
Línea 9: Línea 9:
 
=Mecanismos de arbitraje=
 
=Mecanismos de arbitraje=
 
Los mecanismos de arbitraje que ofrece el sistema operativo son :
 
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).
+
* '''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.
+
* '''Mensajería''': el sistema operativo ofrece mecanismos de comunicación basados en mensaje.
  
 
=Programación concurrente=  
 
=Programación concurrente=  

Revisión del 18:05 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 elegir uno de estos mecanimos a la hora de realizar su programa, y no el sistema operativo. Se debe tener en cuenta que el uso de un mecanismo inadecuado puede llevar a que el programa no responda de la manera esperada.