Conceptos generales
Haciendo varias cosas a la vez
El concepto de concurrencia tiene que ver con hacer ms de una cosa
al mismo tiempo.
En
algunas
ocasiones,
un
programa
aparentemente
tiene
el
Tipos de Concurrencia
Concurrencia es la tcnica de programacin que permite que un
programa haga ms de una cosa a la vez, en una misma o en varias
computadoras. Por ejemplo, si en una aplicacin de facturacin se
necesita acceder a un archivo para obtener la descripcin de un
producto y a otro para obtener el precio, no necesariamente se debe
hacer una cosa despus de la otra. Si se realiza de esta manera
puede ser porque el lenguaje o la plataforma no permiten resolverlo
de otro modo, pero ms all de esas limitaciones, conceptualmente
se debera poder hacer en paralelo.
Se pueden distinguir tres tipos de concurrencia:
a) Multiprocesamiento
b) Multiprogramacin
c) Computacin distribuida
Podemos desglosar sus respectivos conceptos de la siguiente manera:
a) Multiprocesamiento es la tcnica mediante la cual varios procesos
usan varios procesadores, a razn de por lo menos un procesador
mejor
que
aqul.
No
obstante,
esto
no
implica
Programacin
Multiprograma
(desglosando el proceso)
Se denomina multiprogramacin a una tcnica por la que dos o ms
procesos pueden alojarse en la memoria principal y ser ejecutados
concurrentemente por el procesador o CPU.
Se trata de un paralelismo simulado, dado que la CPU slo puede
trabajar con un proceso cada vez. De ah que se diga que la CPU
ejecuta concurrentemente (no simultneamente) varios procesos.
Podemos ver as las siguientes ventajas del proceso:
Varios procesos en ejecucin