Un programa secuencial siempre ejecutara la misma secuencia de instrucciones maquina.
Si quisieramos debuggear, es cuestion de seguir la traza de ejecucion (lista de secuencia de instrucciones ejecutadas) o poniendo un breakpoint y snapshot.
cobegin p1;…;pn coend significa: suspender la ejecucion del programa main; inicial la ejecucion de los procesos p1;…;pn en multiples computadoras ; cuando terminen de ejecutarse todos los procesos resumir el programa main
cobegin p1;…;pn coend implica que los programas puedes (pero no necesariamente) ejecutarse en paralelo
Todos los programas p1;…;pn son sencuenciales.
Programacion Concurrente: es el nombre que se le da a la notacion de programacion y tecnicas para expresar potencial paralelismo y resolver los problemas de sincronizacio y comunicacion.
<aside> 💡 Un programa concurrente consiste de varios procesos secuenciales cuya secuencia de ejecucion se intercalan (interleave)
</aside>
<aside> 💡 El problema basico en programacion concurrente es el de mutual exclusion.
Mutual Exclusion: Cuando un proceso usa los recursos entonces excluye los demas procesos a que hagan uso de los mismos
</aside>