Escolar Documentos
Profissional Documentos
Cultura Documentos
SISTEMAS OPERATIVOS
Problemas de Concurrencia. Tomado y recopilado desde la WEB por Ing. Edgar Escobar
En los sistemas de tiempo compartido (aquellos con varios usuarios, procesos, tareas,
trabajos que reparten el uso de CPU entre estos) se presentan muchos problemas debido a
que los procesos compiten por los recursos del sistema. Imagine que un proceso est
escribiendo en la unidad de cinta y se le termina su turno de ejecucin e inmediatamente
despus el proceso elegido para ejecutarse comienza a escribir sobre la misma cinta. El
resultado es una cinta cuyo contenido es un desastre de datos mezclados. As como la cinta,
existen una multitud de recursos cuyo acceso debe der controlado para evitar los problemas
de la concurrencia.
El sistema operativo debe ofrecer mecanismos para sincronizar la ejecucin de procesos:
semforos, envo de mensajes, pipes, etc. Los semforos son rutinas de software (que en su
nivel ms interno se auxilian del hardware) para lograr exclusin mutua en el uso de recursos.
Para entender este y otros mecanismos es importante entender los problemas generales de
concurrencia, los cuales se describen enseguida.
[Fecha]
SISTEMAS OPERATIVOS
Condicin de No Apropiacin
Esta condicin no resulta precisamente de la concurrencia, pero juega un papel importante en
este ambiente. Esta condicin especifica que si un proceso tiene asignado un recurso, dicho
recurso no puede arrebatrsele por ningn motivo, y estar disponible hasta que el proceso
lo suelte por su voluntad.
DeadLock
Los problemas descritos son todos importantes para el sistema operativo, ya que debe ser capaz de
prevenir o corregirlos. Tal vez el problema ms serio que se puede presentar en un ambiente de
concurrencia es el abrazo mortal, tambin llamado trabazn y en ingls deadlock. El deadlock es
una condicin que ningn sistema o conjunto de procesos quisiera exhibir, ya que consiste en que
se presentan al mismo tiempo cuatro condiciones necesarias: La condicin de no apropiacin, la
condicin de espera circular, la condicin de exclusin mutua y la condicin de ocupar y esperar un
recurso. Ante esto, si el deadlock involucra a todos los procesos del sistema, el sistema ya no podr
hacer algo productivo. Si el deadlock involucra algunos procesos, stos quedarn congelados para
siempre.