Capítulo IV. INTERBLOQUEO E INANICIÓN



Documentos relacionados
Tema 2. Procesos. 1. Concepto de proceso

Operación 8 Claves para la ISO

SIMM: TEORÍA DE LOS S.O. I.E.S. JUAN DE LA CIERVA CURSO 2007/2008

Trabajo Semanal Alternativo

Contenido. Qué es el interbloqueo? Cómo prevenirlo? Cómo evitarlo? Cómo detectarlo? Interbloqueo. Cruce en un Puente. Qué es?

Unidad II: Administración de Procesos y del procesador

NORMA INTERNACIONAL DE INFORMACIÓN FINANCIERA Nº 5 (NIIF 5) Activos no corrientes mantenidos para la venta y actividades interrumpidas

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO SEGURO DE VIDA REGLAMENTO DEL SEGURO DE GRUPO

La Gestión Operativa: La Clave del Éxito.

Concurrencia. Bibliografía: Introducción a los Sistemas de Bases de Datos Date, C.J.

A) Preguntas relacionadas con el apartado 1 del artículo único del citado real decreto-ley:

Certificación de Productos Condiciones de certificación de calidad de playas

PARA COMERCIANTES Y AUTÓNOMOS. INFORMACIÓN SOBRE TARJETAS DE CRÉDITO.

Tema 8 Procesos. * Definición informal: un proceso es un programa en ejecución

Tema 1: Introducción a los S.O. Ejercicios de Planificiación de Procesos

OBJETIVOS GENERALES DEL AUDITOR INDEPENDIENTE Y CONDUCCIÓN DE UNA AUDITORÍA, DE ACUERDO CON LAS NORMAS INTERNACIONALES DE AUDITORÍA

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

NORMA TÉCNICA DE AUDITORÍA SOBRE CONSIDERACIONES RELATIVAS A LA AUDITORÍA DE ENTIDADES QUE EXTERIORIZAN PROCESOS DE ADMINISTRACIÓN

GUÍA TÉCNICA PARA LA DEFINICIÓN DE COMPROMISOS DE CALIDAD Y SUS INDICADORES

RESPUESTA.- Vine a la Comisión de Hacienda, que siempre tengo el agrado de que me inviten aquí para tratar diferentes temas.

INVENTARIO INTRODUCCIÓN RESUMEN DE PASOS

FIVB BEACH VOLLEYBALL WORLD TOUR PROTOCOLO DE EQUIPO NO PRESENTADO Y EQUIPO INCOMPLETO 2006

Centro de Capacitación en Informática

ENSAYOS CLÍNICOS. Guía para padres y tutores

Su éxito se mide por la pertinencia y la oportunidad de la solución, su eficacia y eficiencia.

ASOCIACIÓN DE EMPRESARIOS DE CARRETILLAS ELEVADORAS

Guía para la migración de asignaturas de grado y másteres al nuevo espacio docente para el curso 2015/2016

Instrucción IrA (GoTo). Saltos no naturales en el flujo normal de un programa. Pseudocódigo y diagramas de flujo. (CU00182A)

GESTIÓN DE LA DOCUMENTACIÓN

Pueden Mortadelo y un niño innovar? Sí, gracias a la Innocooperación. 7 de octubre, Tres Cantos

Intereses y establecimiento de metas Modalidad: grupal Estudiantes con un avance crediticio del:

Solo por ser auxiliar administrativo de un centro de salud del SERMAS tienes en tus manos dos herramientas muy poderosas para desobedecer;

SISTEMA InfoSGA Manual de Actualización Mensajeros Radio Worldwide C.A Código Postal 1060

Importador Universal - Operaciones

TEMA 9: EFECTOS COMERCIALES A COBRAR

INSTRUCTIVO PARA LINEAS DE PRESTAMOS DE LA CAJA DE SEGURIDAD SOCIAL PARA ODONTOLOGOS DE LA PROVINCIA DE BUENOS AIRES

UNIDAD 4 PROCESOS DE MARKOV

1. PLANES DE PREVISIÓN ASEGURADOS: LA ALTERNATIVA AL PLAN DE PENSIONES

Cierre sus cuentas con seguridad

Sistemas de Calidad Empresarial

Además señala en su Disposición Adicional lo siguiente:

Como Usar la Nueva Tarjeta de Débito EDD

GESTIÓN Y CONTROL DEL DESARROLLO E IMPLANTACIÓN DE APLICACIONES

Acuerdo de aprobación de la Normativa Básica de Correo Electrónico de la Universidad Miguel Hernández.

Operación de Microsoft Excel. Guía del Usuario Página 79. Centro de Capacitación en Informática

Hoja de inscripción Spanish Teachers Prácticas Australia

Una publicación de la Oficina de Información al Consumidor CALL-FCC (voz), TELL-FCC (TTY)

Exposición de Motivos

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: Fax.:

MANUAL DE USUARIO DE LA HERAMIENTA CONFIGURACION DE PRESUPUESTOS PARA DISTRIBUIDORES

Este programa mueve cada motor de forma independiente, y cuando termina una línea pasa a la siguiente.

SISTEMAS OPERATIVOS AVANZADOS

Cómo las herramientas en línea están revolucionando la implementación de ITIL e ISO 20000

CAPITULO DE BIENES AFECTOS O DE INVERSIÓN

Responsabilidades de los intervinientes en el transporte de mercancías peligrosas

Contabilidad Orientada a los Negocios

EXIGENCIA DE LA CLASIFICACIÓN POR LAS ADMINISTRACIONES PÚBLICAS

Transacciones y bloqueos en SQL-Server

Guía de instalación del sistema Iglesia HOY en una red local de Windows

Manual para Empresas Prácticas Curriculares

El préstamo hipotecario

TABLA DE DECISION. Consideremos la siguiente tabla, expresada en forma genérica, como ejemplo y establezcamos la manera en que debe leerse.

El Arreglo de Madrid relativo al Registro. Internacional de Marcas y el Protocolo. concerniente a ese Arreglo: Objetivos,

Comerciales. Comisiones en Documentos de Venta WhitePaper Enero de 2008

por Miguel Crespo Celda

MANUAL DE USUARIO CONTROL LOGÍSTICO DE TIEMPOS

4.4.1 Servicio de Prevención Propio.

Hoja de inscripción Spanish Teachers Prácticas Reino Unido

Análisis y gestión de riesgo

Minuta Proyecto de Ley que reforma el régimen económico matrimonial de Sociedad Conyugal

BASE DE DATOS RELACIONALES

Seminario Profesional MS PROJECT MODULO 2: Introducción y organización de las tareas

Interpretación CINIIF 12 Acuerdos de Concesión de Servicios

SISTEMAS DE RECUPERACIÓN

PEOBLEMAS RESUELTO DE CADENAS DE MARKOV

Análisis de propuestas de evaluación en las aulas de América Latina

Capítulo 14 Solución de Controversias

1. Completa la siguiente tabla con los tipos de stocks o definiciones que faltan.

Programa de Criminología UOC

Reglamento de notas y de paso de curso para los Colegios Alemanes establecidos en España.

Realizado por:

Estatuto de la Oficina del Alto Comisionado de las Naciones Unidas para los Refugiados

Tema XI: Obtención del Capital Necesario para emprender el Negocio

ASPECTOS IMPORTANTES DE LOS ESTADOS FINANCIEROS

Evaluación de la capacidad óptima de medida y alcance de la acreditación de un laboratorio de calibración

(BOE, de 15 de febrero de 2008)

GUÍA DE DISCUSIÓN PARA LOS PADRES

Nº 27. Gestión de la PRL

PREVENCIÓN DE DAÑOS EN TEXAS

Unidad 5 Utilización de Excel para la solución de problemas de programación lineal

EL MERCADO DE DIVISAS

NORMA ISO DE RIESGOS CORPORATIVOS

1. Ingresa a la siguiente dirección en la fecha y horario que se te asignó.

Módulo II - PowerPoint

REINGENIERÍA DE LOS PROCESOS DEL NEGOCIO. Conceptos, Principios, Antecedentes... La idea de Smith: la especialización del trabajo.

Transcripción:

Capítulo IV. INTERBLOQUEO E INANICIÓN Interbloqueo: [MAEKAMA] Se define como el bloqueo permanente de un conjunto de procesos que compiten por los recursos del sistema o bien se comunican unos con otros. Resumen de los enfoques de detección, prevención y predicción del interbloqueo en los s.o. Principio Política de reparto de recursos Esquemas Ventajas principales Desventajas principales Prevención Conservadora; los recursos están poco ocupados Detección Muy liberal; los recursos solicitados se conceden cuando es posible. Solicitud de todos los recursos a la vez. Apropiación Ordenación de recursos Comprobación periódica del interbloqueo. Funciona bien con procesos que realizan una sola ráfaga de actividad. No es necesaria la apropiación. Conveniente cuando se aplica a recursos cuyo estado se puede salvar y restaurar fácilmente. Aplicación factible por medio de chequeos durante la compilación. No hace falta procesamiento durante la ejecución, pues el problema se resuelve durante el diseño del sistema. Nunca retrasa el inicio de un proceso. Facilita el manejo en línea. Ineficiencia. Retrasos en el inicio de los procesos. Apropia más habitualmente de lo necesario. Sujeto a reinicios cíclicos. No permite las solicitudes incrementales de recursos. Poco uso de la apropiación. Pérdidas inherentes a la apropiación. 1

Predicción A medio del camino entre la detección y la pevención. Manipulación para encontrar al menos un camino seguro. No es necesaria la apropiación. Deben conocerse las demandas futuras de recursos. Los procesos pueden bloquearse durante largos periodos. Inanición, aplazamiento indefinido, bloqueo indefinifo. Cuando un proceso, aún cuando no esté bloqueado, esta esperando un evento que quizá nunca ocurra debido a ciertas tendencias en las políticas de asignación de recursos del sistema. En cualquier sistema que mantenga los procesos en espera mientras se les asigna un recurso o se toman decisiones de planificación, la programación de un proceso puede postergarse indefinidamente mientras otro recibe la atención del sistema. El recurso 1 esta Recurs El proceso B pide el asignado al proceso A. o recurso 1. Proceso A Proceso B El proceso A pide El recurso 2 está asignado el recurso 2. Recurs al proceso B. o Figura 4.1. Espera circular. 2

Cuatro condiciones necesarias para que se produzca un bloqueo mutuo (interbloqueo) 1. Exclusión mutua. Sólo un proceso puede usar un recurso simultáneamente. 2. Retención y espera. Un proceso puede retener unos recursos asignados mientras espera que se le asignen otros. 3. No apropiación. Ningún proceso puede ser forzado a abandonar un recurso que retenga. 4. Espera circular. Existe una cadena cerrada de procesos, cada uno de los cuales retiene, al menos, un recurso que necesita el siguiente proceso de la cadena. (figura 4.1) Las cuatro condiciones en conjunto constituyen una condición necesaria y suficiente para el interbloqueo. Prevención del bloqueo mutuo Definitivamente la técnica empleada con más frecuencia por los diseñadores para tratar el problema del bloqueo mutuo es la prevención. Havender, J. W. llegó a la conclusión de que si falta una de las cuatro condiciones necesarias no puede haber bloqueo mutuo, él sugiere las siguientes estrategias para negar varias de estas condiciones: Cada proceso deberá pedir todos sus recursos al mismo tiempo y no podrá seguir la ejecución hasta haberlos recibido todos. Si a un proceso que tiene ciertos recursos se le niegan los demás, ese proceso deberá liberar sus recursos y, en caso necesario, pedirlos de nuevo junto con los recursos adicionales. Se impondrá un ordenamiento lineal de los tipos de recursos en todos los procesos; es decir, si a un proceso le han sido asignados recursos de un tipo específico, en lo sucesivo sólo podrá pedir aquellos recursos que siguen en el ordenamiento. 3

4

Algoritmo del banquero El algoritmo más famoso para evitar un bloqueo mutuo es el algoritmo del banquero de Dijkstra, cuyo interesante nombre se debe a que atañe de un banquero que otorga préstamos y recibe pagos a partir de una determinada fuente de capital. Ejemplo de estado seguro. Supóngase que un sistema tiene doce unidades de cinta y tres usuarios que las comparten, como en el Estado I. Estado I Préstamo actual Necesidad máxima Usuario (1) 1 4 Usuario (2) 4 6 Usuario (3) 5 8 Disponibles 2 Este es un estado seguro porque aún es posible que terminen los tres usuarios. De esta forma, la clave para que un estado sea seguro es que exista al menos una forma de que terminen todos los usuarios. Ejemplo de estado inseguro. Supóngase que las doce unidades de cinta de un sistema están asignadas como en el Estado II. Estado II Préstamo actual Necesidad máxima Usuario (1) 8 10 Usuario (2) 2 5 Usuario (3) 1 3 Disponibles 1 5

Aquí, once de las doce unidades de cinta del sistema se encuentran en uso y solamente una está disponible para asignación. En este momento, sin importar cuál de los usuarios pida la unidad disponible, no se puede garantizar que terminen los tres usuarios. Es importante señalar que un estado inseguro no implica la existencia, ni siquiera eventual, de un bloqueo mutuo. Lo que sí implica un estado inseguro es simplemente que alguna secuencia desafortunada de eventos podría llevar al bloqueo mutuo. Ejemplo de transición de estado seguro a estado inseguro Saber que un estado es seguro no implica que serán seguros todos los estados futuros. La política de asignación de recursos debe considerar cuidadosamente todas las peticiones antes de satisfacerlas. Por ejemplo, supóngase que el estado actual de un sistema como se muestra en el Estado III. Estado III Préstamo actual Necesidad máxima Usuario (1) 1 4 Usuario (2) 4 6 Usuario (3) 5 8 Disponibles 2 Ahora supóngase que el Usuario (3) pide un recurso más. Si el sistema satisface esta petición, el nuevo estado será el Estado IV. Estado IV Préstamo actual Necesidad máxima Usuario (1) 1 4 Usuario (2) 4 6 Usuario (3) 6 8 Disponibles 1 Ciertamente, el Estado IV no está necesariamente bloqueado, pero ha pasado de un estado seguro a uno inseguro. El estado IV caracteriza a un sistema en el cual no puede garantizarse la 6

terminación de todos los procesos. Solamente hay un recurso disponible, pero deben estar disponibles al menos dos recursos para asegurar que Usuario(2) o Usuario(3) puedan terminar, devolver sus recursos al sistema y permitir que los otros usuarios terminen. Nota en el algoritmo del banquero se presenta los siguientes términos: Están permitidas las condiciones de espera circular, espera, y no apropiación, pero los procesos sí exigen el uso exclusivo de los recursos que requieren. Los procesos pueden conservar recursos mientras piden y esperan recursos adicionales. Los recursos no pueden arrebatarse a los procesos que los tienen. Los usuarios facilitan el trabajo al sistema pidiendo un solo recurso a la vez. El sistema puede satisfacer o rechazar una petición. Si una petición es rechazada, el usuario conserva los recursos que ya tenga asignados y espera un tiempo finito a que se satisfaga la petición. El sistema sólo satisface peticiones que llevan a estados seguros. Defectos del algoritmos del banquero. El algoritmo requiere un número fijo de recursos asignables. El algoritmo requiere una población de usuarios constante. El algoritmo requiere que el banquero satisfaga todas las peticiones en un tiempo finito. El algoritmo requiere que los clientes salden todos sus préstamos en un tiempo finito. El algoritmo requiere que los usuarios declaren por anticipado sus necesidades máximas. Detección del boqueo mutuo La detección del bloqueo mutuo es el proceso de determinar si realmente existe un bloqueo mutuo e identificar los procesos y recursos implicados en él. Los algoritmos de detección de bloqueos mutuos determinan por lo general si existe una espera circular. En control del interbloqueo puede llevarse a cabo tan frecuentemente como las solicitudes de recursos o con una frecuencia menor, dependiendo de la probabilidad de que se produzca el interbloqueo. La comprobación en cada solicitud de recurso tiene dos ventajas: 1. Conduce a una pronta detección, y 2. El algoritmos es relativamente simple, puesto que está basado en cambios incrementales del estado del sistema. Por otra parte, las frecuentes comprobaciones consume un tiempo de procesador considerable. 7

Una vez detectado el interbloqueo, hace falta alguna estrategia de recuperación. 1. Abandonar todos los procesos bloqueados. Es la más común en los sistemas operativos. 2. Retroceder cada proceso interbloqueado hasta algún punto de control definido previamente y volver a ejecutar todos los procesos. El riesgo de esta solución radica en que puede repetirse el interbloqueo original. Sin embargo, el no determinismo del procesamiento concurrente asegura, en general, que esto no va a pasar. 3. Abandonar sucesivamente los procesos bloqueados hasta que deje de haber interbloqueo. El orden en el que se seleccionan los procesos a abandonar seguirá un criterio de mínimo coste. Después de abandonar cada proceso, se debe ejecutar de nuevo el algoritmo de detección para ver si todavía existe bloqueo. 4. Apropiarse de recursos sucesivamente hasta que deje de haber interbloqueo. Un proceso que pierde un recurso por apropiación debe retroceder hasta el momento anterior a la adquisición de ese recurso. Para los puntos 3 y 4, el criterio de selección del proceso podría ser uno de los siguientes: Escoger el proceso con la menor cantidad de tiempo de procesador consumido. Escoger el proceso con el menor número de líneas de salida producidas. Escoger el proceso con el mayor tiempo restante. Escoger el proceso con el menor número total de recursos asignados. Escoger el proceso con la prioridad más baja. Predicción del interbloqueo La predicción del interbloqueo necesita conocer las peticiones futuras de los recursos. Para realizar la predicción del interbloqueo se deben tener en cuenta los siguientes dos enfoques: No iniciar un proceso si sus demandas pueden llevar a interbloqueo. No conceder una solicitud de incrementar los recursos de un proceso si esta asignación puede llevar a interbloqueo. 8