Cap05

Páginas: 7 (1623 palabras) Publicado: 18 de julio de 2015
Capítulo 5

Concurrencia: exclusión mutua y
sincronización

Concurrencia
• Comunicación entre procesos.
• Compartición y competencia por los
recursos.
• Sincronización de la ejecución de varios
procesos.
• Asignación del tiempo de procesador a
los procesos.

Concurrencia
• Múltiples aplicaciones:
– Multiprogramación.

• Aplicaciones estructuradas:
– Algunas aplicaciones pueden implementarseeficazmente como un conjunto de procesos
concurrentes.

• Estructura del sistema operativo:
– Algunos sistemas operativos están
implementados como un conjunto de procesos o
hilos.

Dificultades con la
concurrencia
• Compartir recursos globales.
• Gestionar la asignación óptima de
recursos.
• Localizar un error de programación.

Un ejemplo sencillo
void echo()
{
ent = getchar();
sal = ent;putchar(sal);
}

Un ejemplo sencillo
Proceso P1

Proceso P2
.
.
ent = getchar(); .
.
ent = getchar();
sal = ent;
sal = ent;
putchar(sal);
.
.
putchar(sal);
.
.

Labores del sistema operativo
• Seguir la pista de los distintos procesos activos.
• Asignar y retirar los recursos:





Tiempo de procesador.
Memoria.
Archivos.
Dispositivos de E/S.

• Proteger los datos y los recursos físicos.
• Losresultados de un proceso deben ser
independientes de la velocidad relativa a la que
se realiza la ejecución de otros procesos
concurrentes.

Interacción entre procesos
• Los procesos no tienen conocimiento de
los demás.
• Los procesos tienen un conocimiento
indirecto de los otros.
• Los procesos tienen un conocimiento
directo de los otros.

Competencia entre procesos
por los recursos
• Exclusiónmutua
– Secciones críticas:
• Sólo un programa puede acceder a su sección
crítica en un momento dado.
• Por ejemplo, sólo se permite que un proceso
envíe una orden a la impresora en un momento
dado.

• Interbloqueo.
• Inanición.

Cooperación entre procesos
por compartimiento
• Las operaciones de escritura deben ser
mutuamente excluyentes.
• Las secciones críticas garantizan la
integridad de losdatos.

Cooperación entre procesos
por comunicación
• Paso de mensajes:
– No es necesario el control de la exclusión
mutua.

• Puede producirse un interbloqueo:
– Cada proceso puede estar esperando una
comunicación del otro.

• Puede producirse inanición:
– Dos procesos se están mandando mensajes
mientras que otro proceso está esperando
recibir un mensaje.

Requisitos para la exclusión
mutua
• Sólo unproceso debe tener permiso para
entrar en la sección crítica por un
recurso en un instante dado.
• Un proceso que se interrumpe en una
sección crítica debe hacerlo sin interferir
con los otros procesos.
• No puede permitirse el interbloqueo o la
inanición.

Requisitos para la exclusión
mutua

• Cuando ningún proceso está en su sección
crítica, cualquier proceso que solicite
entrar en la suyadebe poder hacerlo sin
dilación.
• No se deben hacer suposiciones sobre la
velocidad relativa de los procesos o el
número de procesadores.
• Un proceso permanece en su sección
crítica sólo por un tiempo finito.

Primer intento
• Espera activa:
– Un proceso siempre está esperando a entrar
en su sección crítica.
– Un proceso no puede hacer nada productivo
hasta que obtiene permiso para entrar en susección crítica.

Corrutinas
• Diseñadas para poder pasar el control de
la ejecución entre ellas.
• No es una técnica apropiada para dar
soporte al procesamiento concurrente.

Segundo intento
• Cada proceso puede examinar el estado del otro
pero no lo puede alterar.
• Cuando un proceso desea entrar en su sección
crítica comprueba en primer lugar el otro
proceso.
• Si no hay otro proceso en susección crítica fija
su estado para la sección crítica.
• Este método no garantiza la exclusión mutua.
• Cada proceso puede comprobar las señales y
luego entra en la sección crítica al mismo
tiempo.

Tercer intento
• Dar valor a la señal para entrar en la sección
crítica antes de comprobar otros procesos.
• Si hay otro proceso en la sección crítica cuando
se ha dado valor a la señal, el proceso...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Cap05
  • Cap05
  • Bohlander Cap05
  • quimica4 u1 cap05

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS