You are on page 1of 5

2.

4 CONCURRENCIA Y
SECUENCIALIDAD
La concurrencia comprende un gran nmero de cuestiones de diseo, incluyendo la comunicacin entre
procesos, comparacin y competencia por los recursos, sincronizacin de la ejecucin de varios procesos
y asignacin del tiempo de procesador a los procesos y es fundamental para que existan diseos como
Multiprogramacin, Multiproceso y Proceso distribuido.
Los procesos son concurrentes si existen simultneamente. Los procesos concurrentes pueden funcionar
en forma totalmente independiente unos de otros, o pueden ser asncronos, lo cual significa que en
ocasiones requieren cierta sincronizacin o cooperacin.

La concurrencia puede presentarse en tres contextos diferentes:


- Varias aplicaciones: La multiprogramacin se cre para permitir que el tiempo de procesador de la mquina
fuese compartido dinmicamente entre varios trabajos o aplicaciones activas.
- Aplicaciones estructuradas: Como ampliacin de los principios del diseo modular y la programacin
estructurada, algunas aplicaciones pueden implementarse eficazmente como un conjunto de procesos
concurrentes.
- Estructura del sistema operativo: Las mismas ventajas de estructuracin son aplicables a los programadores
de sistemas y se ha comprobado que algunos sistemas operativos estn implementados como un conjunto de
procesos. Existen tres modelos de computadora en los que se pueden ejecutar procesos concurrentes:
Multiprogramacin con un nico procesador. El sistema operativo se encarga de ir repartiendo el tiempo
del procesador entre los distintos procesos, intercalando la ejecucin de los mismos para dar as una
apariencia de ejecucin simultnea.
Multiprocesador. Es una maquina formada por un conjunto de procesadores que comparten memoria
principal. En este tipo de arquitecturas, los procesos concurrentes no slo pueden intercalar su ejecucin
sino tambin superponerla.
Multicomputadora. Es una maquina de memoria distribuida, que est formada por una serie de
computadoras. En este tipo de arquitecturas tambin es posible la ejecucin simultnea de los procesos
sobre los diferentes procesadores

Tipos de procesos concurrentes.


Los procesos que ejecutan de forma concurrente en un sistema se pueden clasificar como:
Proceso independiente: Es aquel que ejecuta sin requerir la ayuda o cooperacin de otros procesos. Un
claro ejemplo de procesos independientes son los diferentes shells que se ejecutan de forma simultnea
en un sistema.
*Procesos son cooperantes: Son aquellos que estn diseados para trabajar conjuntamente en alguna
actividad, para lo que deben ser capaces de comunicarse e interactuar entre ellos.
En ambos tipos de procesos (independientes y cooperantes), puede producirse una serie de interacciones
entre ellos y pueden ser de dos tipos:
Interacciones motivadas porque los procesos comparten o compiten por el acceso a recursos fsicos o
lgicos. Por ejemplo, dos procesos independientes compiten por el acceso a disco o para modificar una
base de datos.
Interaccin motivada porque los procesos se comunican y sincronizan entre s para alcanzar un objetivo
comn, Por ejemplo, un compilador que tiene varios procesos que trabajan conjuntamente para obtener
un solo archivo de salida.

Beneficios del uso de la concurrencia:

1.Trata de evitar los tiempos muertos de la UCP


2.Comparte y optimiza el uso de recursos
3.Permite la modularidad en las diferentes etapas del proceso
4.Acelera los clculo
5.Da mayor comodidad

Desventajas de la concurrencia:
Inanicin e interrupcin de procesos
Ocurrencia de bloqueo
Que dos o mas procesos requieran el mismo recurso (no apropiativo).

You might also like