You are on page 1of 19

Concurrencia

Grupo Veneno
Integrantes:
Mayor. Erick Palenque Rios
Est. Freddy Mamani Gutirrez
Est. Mauricio Soto Talavera

Definicin de concurrencia
Dos o ms procesos decimos que son concurrentes,
paralelos, o que se ejecutan concurrentemente,
cuando son procesados al mismo tiempo, es decir, que
para ejecutar uno de ellos, no hace falta que se haya
ejecutado otro.
En sistemas multiprocesador, esta ejecucin
simultnea podra conseguirse completamente, puesto
que podremos asignarle, po rejemplo, un proceso A al
procesador A y un proceso B al procesador B y cada
procesador realizaran la ejecucin de su proceso.

Definicin de concurrencia
Cuando tenemos un solo procesador se
producir un intercalado delas instrucciones de
ambos procesos, de tal forma que tendremos la
sensacin de que hay un paralelismo en el
sistema (concurrencia, ejecucin simultnea de
ms de un proceso).

Definicin de concurrencia
Ahora bien, est claro que en esto tenemos que tener en
cuenta que mientras un proceso est escribiendo un valor
en una variable determinada, puede darse el caso que otro
proceso que es concurrente al primero vaya a leer o escribir
en esa misma variable, entonces habr que estudiar el caso
en el que un proceso haga una operacin sobre una
variable (o recurso en general) y otro proceso concurrente
a l realice otra operacin de tal forma que no se realice
correctamente. Para estudiar esto, y determinar el tipo de
operaciones que se pueden realizar sobre recursos
compartidos utilizaremos las condiciones de Bernstein.

Definicin de concurrencia
Para que la concurrencia exista entre 2 procesos, es necesario que estos tengan
algn tipo de relacin. La concurrencia puede presentarse en tres contextos:1.
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.2.
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.3.
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.

Concurrencia de Procesos
Dos o mas procesos, se dice que son
concurrentes o paralelos, cuando se ejecutan al
mismo tiempo. Esta concurrencia puede darse
en un sistema con un solo procesador (pseudo
paralelismo) o en un sistema multiprocesador
(paralelismo real).

Sistemas operativos
Paralelismo y concurrencia
El paralelismo es un caso particular de la
concurrencia.
Se habla de paralelismo cuando ocurre la
ejecucin simultnea de instrucciones.

Procesos cooperativos
Necesidades de sincronizacin y
comunicacin
Los procesos concurrentes tendrn necesidad
de comunicarse informacin
Adems, ser necesario en ocasiones detener
un proceso hasta que se produzca un determinado
evento o se den ciertas condiciones
sincronizacin

Sistemas Distribuidos concurrencia


Cuando existen varios procesos en una nica
maquina decimos que se estn ejecutando
concurrentemente. Si el ordenador esta
equipado con un nico procesador central, la
concurrencia tiene lugar entrelazando la
ejecucin de los distintos procesos. Si la
computadora tiene N procesadores, entonces se
pueden estar ejecutando estrictamente a la vez
hasta N procesos.

Sistemas Distribuidos: Concurrencia


En los sistemas distribuidos hay muchas
maquinas, cada una con uno o mas procesadores
centrales. Es decir, si hay M ordenadores en un
sistema distribuido con un procesador central
cada una entonces hasta M procesos estar
ejecutndose en paralelo.

Sistemas Distribuidos: Concurrencia


En un sistema distribuido que esta basado en el
modelo de comparticin de recursos, la
posibilidad de ejecucin paralela ocurre por dos
razones:
Muchos usuarios interactan simultneamente
con programas de aplicacin.
Muchos procesos servidores se ejecutan
concurrentemente, cada uno respondiendo a
diferentes peticiones de los procesos clientes.

Sistemas Distribuidos: Concurrencia


El caso (1) es menos conflictivo, ya que
normalmente las aplicaciones de interaccin se
ejecutan aisladamente en la estacin de trabajo
del usuario y no entran en conflicto con las
aplicaciones ejecutadas en las estaciones de
trabajo de otros usuarios.

Sistemas Distribuidos: Concurrencia


El caso (2) surge debido a la existencia de uno o mas
procesos servidores para cada tipo de recurso. Estos
procesos se ejecutan en distintas maquinas, de
manera que se estn ejecutando en paralelo diversos
servidores, junto con diversos programas de
aplicacin. Las peticiones para acceder a los recursos
de un servidor dado pueden ser encoladas en el
servidor y ser procesadas secuencialmente o bien
pueden ser procesadas varias concurrentemente por
mltiples instancias del proceso gestor de recursos.

Sistemas Distribuidos: Concurrencia


Cuando esto ocurre los procesos servidores
deben sincronizar sus acciones para asegurarse
de que no existen conflictos. La sincronizacin
debe ser cuidadosamente planeada para
asegurar que no se pierden los beneficios de la
concurrencia.

Sistemas Distribuidos: Control de


concurrencia

Sistemas Distribuidos: Control de


concurrencia

Sistemas Distribuidos: Control de


concurrencia

You might also like