Está en la página 1de 2

Tipo de Programación Características

Los procesos concurrentes tienen las siguientes características:

1- Indeterminismo: Las acciones que se especifican en un programa secuencial tienen un orden total, pero en un programa concurrente el orden es parcial, ya que existe una incertidumbre sobre el
orden exacto de ocurrencia de ciertos sucesos, esto es, existe un indeterminismo en la ejecución. De esta forma si se ejecuta un programa concurrente varias veces pude producir resultados diferentes
partiendo de los mismos datos.
2- Interacción entre procesos: Los programas concurrentes implican interacción entre los distintos procesos que los componen:
3- Los procesos que comparten recursos y compiten por el acceso a los mismos.
4- Los procesos que se comunican entre sí para intercambiar datos.
5- Gestión de recursos: Los recursos compartidos necesitan una gestión especial. Un proceso que desee utilizar un recurso compartido debe solicitar dicho recurso, esperar a adquirirlo, utilizarlo y
después liberarlo. Si el proceso solicita el recurso, pero no puede adquirirlo en ese momento, es suspendido hasta que el recurso esté disponible. La gestión de recursos compartidos es problemática y
se debe realizar de tal forma que se eviten situaciones de retraso indefinido ( espera indefinidamente por un recurso) y de deadlock (bloqueo indefinido o abrazo mortal).
Concurrente 6- Comunicación: La comunicación entre procesos puede ser síncrona, cuando los procesos necesitan sincronizarse para intercambiar los datos, o asíncrona, cuando un proceso que suministra los datos
no necesita esperar a que el proceso receptor los recoja, ya que los deja en un buffer de comunicación temporal.

Son un tipo especial de sistemas con múltiples procesadores. Las características que les distinguen son:

1- Es un paradigma de programación enfocado en desarrollar sistemas distribuidos, abiertos, escalables, transparentes y tolerantes a fallos. Este paradigma es el resultado natural del uso de las
computadoras y las redes.
2- La programación distribuida típicamente cae en alguna de las varias arquitecturas básicas o arquitecturas: cliente-servidor, 3-tier, n-tier, objetos distribuidos, entre otras además de ser base para la
pragmatisidad.
3- La memoria es privada (es decir, cada procesador tiene un mapa de direcciones propio que no es accesible directamente a los demás).
4- La comunicación entre procesadores es por paso de mensajes a través de una red de interconexión.
5- En una multicomputadora, cada nodo es una computadora clásica.
Distribuida 6- Los nodos colaboran para resolver juntos un mismo problema (ejecutar la misma aplicación).
7- La compartición de datos es explícita, ya que el acceso a datos comunes es por paso de mensajes.

También podría gustarte