uso de múltiples
procesos o tareas ejecutar
simultáneamente para
calcular una respuesta o
resolver un problema
principal motivación
Timesharing de varios
usuarios o puestos de
trabajo en un único
equipo
Timesharing
compartir de forma concurrente un recurso computacional (tiempo de
ejecución en la CPU, uso de la memoria, etc.) entre muchos usuarios por
medio de las tecnologías de multiprogramación y la inclusión de
interrupciones de reloj por parte del sistema operativo, permitiendo a
este último acotar el tiempo de respuesta del computador y limitar el uso
de la CPU por parte de un proceso dado.
Ventajas
La solución de un problema al
utilizar varios equipos es más
rápido que el uso de sólo uno.
económia: uso de varios equipos
de bajo costo para resolver un
problema que requiere
normalmente un superordenador
caro
el uso de varios equipos puede
proporcionar tolerancia a fallos
El mundo es
inherentemente
concurrente!
Conways problem: 3
procesos con ciclos infinos
ejectuando
80 caracteres en un buffer de 81 y en
el ultimo pone un espacio. Máquina
de estado sencilla $$ por $. memoria
intermedia y salida a 120 caracteres
2 buffer entrada y
salida a procesos
esencia del paradigma
concurrente: procesos secuenciales
individuales que cooperan para
resolver un problema
concurrencia de tuberías:
la entrada de todos los
procesos, pero la
primera es
proporcionado por otro
proceso. Cooperación
Problemas
evitar la
interferencia
descubrir las regiones críticas y aislarlos. Este
aislamiento toma la forma de un "protocolo de entrada"
para anunciar la entrada en una región crítica y un
"protocolo de salida" para anunciar que la ejecución de
la región crítica se ha completado
soluciones
concurrentes
requieren
especificar qué partes de nuestros procesos se pueden
ejecutar concurrentemente Especificar qué información y
recursos son para ser compartido Impedir la interferencia de
procesos concurrentes al asegurar la exclusión mutua
Sincronizar los procesos concurrentes en los puntos
apropiados
Enfoques
Monitor
Paso de mensajes
Propiedades
Seguridad: no interferencia, no
estancamiento, correción parcial.
viveza: fin del programa,
no hay carrera, equidad.