2.4 Concurrencia y Secuencialidad
|
|
Los procesos son concurrentes
si existen simultáneamente. Los procesos concurrentes pueden funcionar en
forma totalmente independiente unos de otros, o pueden ser asíncronos, lo
cual significa que en ocasiones requieren cierta sincronización o cooperación.
Cuando dos o más procesos llegan al
mismo tiempo a ejecutarse, se dice que se ha presentado una concurrencia de
procesos. Es importante mencionar que para que dos o más procesos sean concurrentes,
es necesario que tengan alguna relación entre ellos como puede ser la cooperación
para un determinado trabajo o el uso de información o recursos compartidos,
por ejemplo: en un sistema de un procesador, la multiprogramación es una condición
necesaria pero no suficiente para que exista concurrencia, ya que los
procesos pueden ejecutarse de forma totalmente independiente.
Por otro lado en un sistema de varios
procesos se puede presentar la concurrencia siempre y cuando las actividades
necesiten actuar entre si ya sea para utilizar información en común o para
cualquier otra cosa.
Existen tres formas modelos de computadora en los que se puede pueden ejecutar procesos concurrentes:
Multiprogramación con un único
procesador.
En este modelo todos los procesos
concurrentes ejecutan sobre un único procesador. El sistema operativo se
encarga de ir repartiendo el tiempo del procesador entre los distintos
procesos, intercalando la ejecución de los mismos para dar así una apariencia
de ejecución simultánea.
Multiprocesador.
Un multiprocesador es una maquina
formada por un conjunto de procesadores que comparten memoria principal. En
este tipo de arquitecturas, los procesos concurrentes no solo pueden
intercalar su ejecución sino también superponerla. En este caso si existe una
verdadera ejecución simultanea de procesos, al coincidir las fases de
procesamiento de distintos procesos. En un instante dado se pueden ejecutar
de forma simultanea tantos procesos como procesadores haya.
Multicomputadora.
Una multicomputadora es una máquina
de memoria distribuida, en contraposición con el multiprocesador que es de
memoria compartida. Está formada por una serie de computadoras completas con
su UCP, memoria principal y, en su caso, periferia. Cada uno de estos procesadores
completo se denomina nodo. Los nodos se encuentran conectados y se comunican
entre sí a través de una red de interconexión, empleando el método de paso de
mensajes. En este tipo de arquitecturas también es posible la ejecución simultánea
de los procesos sobre los distintos procesadores.
En general la concurrencia será
aparente siempre que el número de procesos sea mayor que el de procesadores
disponibles, es decir, cuando haya más de un proceso por procesador. La
concurrencia será real cuando haya un proceso por procesador
|
No hay comentarios:
Publicar un comentario