Site hosted by Angelfire.com: Build your free website today!
     
 



Introducción a los sistemas operativos  

1.6.3 Primitivas de Comunicacion

Los procesos que se ejecutan concurrentemente pueden ser procesos independientes o procesos cooperativos. Un proceso es independiente si no puede afectar o verse afectado por los restantes procesos que se ejecutan en el sistema. Cualquier proceso que no comparte datos con ningun otro proceso es un proceso independiente. Un proceso es cooperativo si puede afectar o verse afecta-do por los demas procesos que se ejecutan en el sistema. Evidentemente, cualquier proceso que comparte datos con otros procesos es un proceso cooperativo.

    Hay varias razones para proporcionar un entorno que permita la cooperacion entre procesos:

  •     Compartir informacion. Dado que varios usuarios pueden estar interesados en la misma informacion (por ejemplo, un archivo compartido), debemos proporcionar un entorno que permita el acceso concurrente a dicha informacion.
  •     Acelerar los calculos. Si deseamos que una determinada tarea se ejecute rapidamente, debemos dividirla en subtareas, ejecutandose cada una de ellas en paralelo con las demas. Observe que tal aceleracion solo se puede conseguir si la computadora tiene multiples ele-mentos de procesamiento, como por ejemplos varias CPU o varios canales de E/S.
  •     Modularidad. Podemos querer construir el sistema de forma modular, dividiendo las fun-ciones del sistema en diferentes procesos o hebras
  •     Conveniencia. Incluso un solo usuario puede querer trabajar en muchas tareas al mismo tiempo. Por ejemplo, un usuario puede estar editando, imprimiendo y compilando en paralelo.

La cooperacion entre procesos requiere mecanismos de comunicacion interprocesos (IPC, interprocess communication) que les permitan intercambiar datos e informacion. Existen dos modelos fundamentales de comunicacion interprocesos:

(1) memoria compartida y

(2) paso de mensajes.

 En el modelo de memoria compartida, se establece una region de la memoria para que sea compartida por los procesos cooperativos. De este modo, los procesos pueden intercambiar informacion leyendo y escribiendo datos en la zona compartida.

1.6.1 Interrupciones 1.6.2 Despachador 1.6.3 Primitivas de Com. ->Regresar Tema 5