2. PROCESOS COOPERATIVOS Los procesos concurrentes pueden ser: Independientes : No comparten datos con otros procesos Cooperativos : Si pueden afectar o verse afectados por otros procesos. Las razones que permiten la cooperación entre procesos son: 1.- Compartir información 2.- Aceleración de cálculos (subtareas) 3.- Modularidad dividir las funciones del sistema 4.- Conveniencia
3. COMUNICACIÓN ENTRE PROCESOS Requieren buffers, ya sean especificados por el programador y con el apoyo del sistema operativo, el cual proporciona medios para que los procesos se comuniquen entre ellos A través de un servicio IPC comunicación entre procesos ( IPC ).
4.
5.
6. Los esquemas de direccionamiento son: Simetría en el direccionamiento, pues el emisor y el receptor se nombran mutuamente. Send (P,mensaje) Enviar un mensaje al proceso P. Receive (Q,mensaje ) Recibir un mensaje del proceso Q. La Asimetría en el direccionamiento, solo el emisor nombra al receptor. Send (P,mensaje ), Receive (id,mensaje )
7.
8.
9. USO DE BUFFERS Para la comunicación directa o indirecta los mensajes aciden en una cola temporal, y pueden ser: Capacidad cero: NO hay mensajes en espera, por tanto, el emisor debe bloquearse hasta que el receptor tome el mensaje. A éste sistema se lo conoce como mensajes sin buffers. Capacidad limitada: El emisor se bloqueará solo cuando no hay espacio disponible en la cola. Capacidad ilimitada: El emisor nunca se bloquea.
10.
11.
12. Grado de respuesta: una operación multihilos, puede permitir que mientras realiza una operación tardada, se ejecute otra operación en paralelo. Por ej, un navegador web con multihilos, mientras carga una imagen, puede permitir la interacción con el usuario. Compartir recursos. Comparten memoria y los recursos del proceso al que pertenecen. Economía: como los hilos comparten recursos. Utilización de arquitecturas de microprocesadores: Con un procesador, un hilo se ejecuta a la vez, pero se produce la sensación de paralelismo. Con multiprocesadores, se produce paralelismo, pues cada hilo se ejecuta en cada uno. Beneficios de la programación multihilos