View
96
Download
2
Category
Preview:
DESCRIPTION
sistemas operativos kelly salina
Citation preview
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
P1P2
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 los cuales hacen que las características no se cumplan. prevención mediante la negacion de una de las cuatro condiciones necesarias
Evitar: invoca serie de rutinas para determinar si el sistema puede o no asignar recursos, evitarlos de forma dinámica mediante una cuidadosa asignació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ón Tomar recurso en forma pasajera de su
poseedor y dárselo a otro proceso. En algunos casos se necesita una intervención manual en los sistemas operativos para el procesamiento que se ejecuta en mainframes.
Recuperación mediante rollback:
Los recursos pueden ser verificados en forma periódica. Esta verificación del proceso indica que su estado se escribe en un archivo de manera que pueda iniciarse mas 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!!!
Recommended