Date post: | 09-Jul-2015 |
Category: |
Education |
Upload: | tecnologica |
View: | 463 times |
Download: | 0 times |
Sistemas operativos
Kelly Salina. Carlos Rodelo.
Facultad :Tecnología en sistemas
UNIVERSIDAD TECNOLOGICA DE BOLIVAR
Bloqueo
Los sistemas tienen una gran cantidad
de recursos los cuales solo pueden ser
utilizados por un proceso a la vez. entre
los ejemplos frecuentes encontramos:
unidades de cinta
impresoras
En un caso dado que dos procesos utilizaran
en forma simultanea la impresora el
resultado seria un verdadero caos . Por ello
los sistemas operativos cuentan con la
capacidad de permitir a un proceso ( en
forma temporal) el paso exclusivo a ciertos
recursos
En considerables aplicaciones los
procesos urgen el acceso especial a
varios recursos de el sistema no
obstante en un sistema con
multiprogramación pueden surgir serios
problemas
Ejemplo:
Dos procesos desean imprimir cada uno un
enorme archivo en cinta . El proceso A
solicita el permiso para utilizar la impresora el
cual se le concede . Cuando el proceso B
solicita permiso para utilizar la unidad en
cinta y se le otorga . El proceso A solicita la
unidad en cinta pero la solicitud es denegada
hasta que B la libere
Bloqueos mutuos
(interbloqueos)
Procesos solicitan recursos
(bloqueos mutuos) ocurren cuando se
acaparan procesos y no se liberan mas.
Cuando un proceso se le asigna
recursos el proceso voluntariamente es
el que da la orden de terminar el
recurso.
P1 R1
P2 R2
En un determinado proceso p1 necesita de
r2 y p2 de r1 y que el sistema esta en
bloqueo mutuo
No se le puede asignar recursos , los
procesos tienen recursos que los tienen
otros procesos y no se les puede asignar
porque otros ya los tienen y de esta forma
el sistema se bloquea.
Caracteristicas:
Retener y esperar : un proceso retiene un recurso y no espera por otro
No expropiación : los recursos no se pueden arrebatar, son liberados por el proceso que se les pidio.
Espera circular : Debe cadena circular de dos o mas procesos cada uno de los cuales espera un recurso poseido por el siguiente miembro de la cadena.
Mutua exclusión: tipo de recurso que no se puede compartir en un proceso.
Exclusion mutua
Posesión y
espera
No apropiación
Bloqueo
Condiciones
de bloqueo
Se clasifica
Espera circular
Recursos
anteriores no
pueden dejar un
proceso.
Cada recurso
esta asignado a
un proceso
Cadena circular
de dos o mas
procesos en los
cuales se espera
un recurso del
siguiente
Procesos con
anterioridad
pueden
solicitar
nuevos
recursos
Ejemplo:
R1: quemadora de DVD
no la puede quitar porque no
la pueda compartir
P1 P2 P3
A1
P1
P2
Los bloqueos mutuos se manejan en dos
puntos de vistas :
Grafica: asignación de recursos.
Grafo: estructura de datos que tiene nodos,
aristas y sirve para representar algo o una
serie de elementos
P
Vértices R ejemplar de un mismo
tipo
ejemplar de varios
recursos
.
.
.
.
P R (arista de solicitud)
Arista
R P (arista de asignación)
proceso solicita usa libera.
Ejemplo:
R1 1 P= (P1, P2, P3)
R2 2
R3 1 R= (R1,R2,R3,R4)
R4 3
E = (P1 R1, P2 R3 , R1 P2,
(R2 P2, R2 P1 , R3 , P3 )
R1 R3
no hay bloqueo
R2 si hay bloqueo porque ni ciclo porque
debe esperar no volvió a su
origen.
R4
.
p1
.
.
p2
.
p3
.
.
.
Recursos
En esclarecimiento un recurso es cualquier
cosa que solo puede ser utilizada por un
único proceso en un instante dado.
Existen dos clases de recursos en los cuales
encontramos los siguientes :
Apropiables : puede tomar el proceso que lo
posee sin efectos dañinos un ejemplo seria la
memoria.
No apropiables : estos son los que no se pueden tomar de su poseedor sin provocar un fallo de calculo.
Las secuencias necesarias para utilizar un recursos es :
Solicitar el recurso
Utilizar el recurso
Liberar el recurso
Cabe aclarar que si el recurso no esta disponible cuando se solicita el proceso debe esperar.
En algunos sistemas se tiene una llamada a el sistema, REQUEST, esto es para que los procesos soliciten de manera explicita los recursos
Algoritmo especifico(métodos para manejar bloqueos)
Prevenir :en este caso usan protocolos para loscuales hacen que las características no secumplan. prevención mediante la negacion deuna de las cuatro condiciones necesarias
Evitar: invoca serie de rutinas para determinar siel sistema puede o no asignar recursos, evitarlosde forma dinámica mediante una cuidadosaasignación de recursos
estrategias para enfrentar
bloqueos
ignorar el problema
Detención y recuperación
Detención y recuperación de
bloqueos.
El sistema no intenta evitar los bloqueos
si no que deja que aparezcan, intenta
detectar cuando esto ocurre y después
lleva a cabo una acción para
recuperarse después del hecho.
Recuperación mediante la
apropiaciónTomar recurso en forma pasajera de suposeedor y dárselo a otro proceso. Enalgunos casos se necesita unaintervención manual en los sistemasoperativos para el procesamiento que seejecuta en mainframes.
Recuperación mediante rollback:
Los recursos pueden ser verificados en formaperiódica. Esta verificación del procesoindica que su estado se escribe en unarchivo de manera que pueda iniciarsemas tarde.
Recuperación mediante la
eliminación de procesos.
Para esta recuperación se debe
eliminar uno o mas procesos para poder
romper un bloqueo o como medida
alternativa de deberá eliminar un
proceso que no este en el ciclo y así
liberar sus recursos
Bloqueos
Evasión de bloqueo
En este el sistema debe poder decidir si el otorgamiento de un
recurso es seguro o no y asignarlo solo en caso de que
sea seguro
Prevención de bloqueos
Si podemos garantizar que al menos uno de los cuatro
condiciones nunca se satisfaga los bloqueos serán imposibles.
prevención de la condición
Detenerse y esperar
Si se puede evitar que los procesos que conservan recursos esperen mas
recursos, podemos eliminar los bloqueos
Prevención de condición de exclusión mutua:
si ningún recurso se asigna de manera exclusiva a un solo proceso nunca tendríamos
bloqueos.
Bloqueos sin recursos
Bloqueos sin recursos
Los bloqueos no solo aparecen con recursos si no en otras ocasiones aun aquellas que no están relacionadas con los recursos
Ejemplo:
Dos procesos se bloquean en espera de que el otro realice cierta acción . Cabe recordar que esto ocurre en los semáforos.
Como se evita un bloqueo?
Se puede evitar mediante un registro de
los estados seguros y los inseguros
estado seguro es aquel para el que
existe una secuencia de eventos que
garanticen el cierre de los procesos
El estado inseguro es aquel que no
tiene dicha garantía , el algoritmo de
barquero EVITA el bloqueo .
Un bloqueo se puede prevenir en
forma estructural.
Ejemplo : al permitir que solo un recurso
conserve un recurso a la vez , se rompe la
condición de espera circular necesaria para
el bloqueo también el bloqueo mutuo se
puede prevenir al numerar todos los
recursos y hacer que los procesos los
soliciten en orden creciente
Conclusión
“dos o mas procesos pelean por un
recurso” el bloqueo es un problema
potencial en cualquier sistema
operativo y ocurre cuando cada uno de
los integrantes de procesos desea un
recurso que pertenece a otro proceso
GRACIAS!!!