2. UNIVERSIDAD TECNOLOGICA DE BOLIVAR Sistemas operativosKelly Salina. Carlos Rodelo.Facultad :Tecnología en sistemas
3. 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
4. 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
5. 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
6. 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
7. 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.
8. 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.
9. 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.
10. Bloqueo Condiciones de bloqueo Se clasifica No apropiación Posesión y espera Exclusion mutua Espera circular Procesos con anterioridad pueden solicitar nuevos recursos 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
11. Ejemplo: R1: quemadora de DVD no la puede quitar porque no la pueda compartir A1 P1 P2 P3 P2 P1
12. 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
13. P Vértices R ejemplar de un mismo tipo ejemplar de varios recursos . . . .
14. P R (arista de solicitud) Arista R P (arista de asignación) proceso solicita usa libera.
16. R1 R3 no hay bloqueo R2 si hay bloqueo porque ni ciclo porque debe esperar no volvió a su origen. R4 . . p3 p1 p2 . . . . .
17. 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.
18. 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
19. 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
20. estrategias para enfrentar bloqueos ignorar el problema Detención y recuperación
21. 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.
22. 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.
23. 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
24.
25. 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.
26. 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 .
27. 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
28. 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