SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Universidad Autónoma de Santo Domingo<br />(UASD)<br />Facultad de Ciencias<br />Escuela de Informática<br />INF 3240 01 – 2010 01<br />Sistemas Operativos<br /> <br />Tema<br />Bloqueo/Deadlock<br /> <br />Integrante<br />Wendy Morel Rojas (93-9619)<br /> <br />Profesor<br />José Binet<br /> <br /> <br /> <br /> <br /> <br />Santo Domingo, 29 De Marzo del 2010<br /> <br /> <br /> <br /> <br />Índice<br /> <br /> HYPERLINK quot;
https://docs.google.com/Doc?docid=0AWacKVpzajDKZGd4bjloOHJfODJncmJ0a2hmOA&hl=esquot;
  quot;
Introducci%C3%B2nquot;
  quot;
Introducciònquot;
  quot;
_selfquot;
 Introducciòn....................................................................................................................... 3<br />Definiciòn.......................................................................................................................... 4<br />Nuevo Lenguaje................................................................................................................. 4<br />Caracteristica...................................................................................................................... 5<br />Objetivos............................................................................................................................ 6<br />El Deadlock....................................................................................................................... 6<br />Principios de Interbloqueo…………................................................................................. 7<br />Ejemplos de Interbloqueo………...................................................................................... 7<br />Recursos............................................................................................................................. 9<br />Modelo............................................................................................................................... 9<br />Condiciones Necesarias para que ocurra un Abrazo Mortal................................................................................................................................ 9<br />Preasignaciòn de Recursos.............................................................................................. 10<br />Asignaciòn con Retrinciones........................................................................................... 10<br />Detecciòn y Recuperaciòn................................................................................................ 11<br />Prevención........................................................................................................................ 11<br />Exclusiòn Mutua.............................................................................................................. 12<br />Formas de Evitar un Abrazo Mortal................................................................................ 14<br />    Conclusiones……………………………………………………………………....….15<br />    Sugerencias…………………....…………………………………………………....…16<br />    Bibliografía......................................................................................................................17<br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br />Introducción<br /> <br /> <br />Este trabajo fue realizado con mucho cuidado y dedicación para poder brindar un desarrollo claro y preciso sobre el boqueo/deadlock, esperando que este sirva para aumentar sus conocimientos sobre dicho tema.<br />Através de este podrá usted comprender los problemas que suceden con nuestro sistema cuando ejecutamos varios procesos a la vez  y nuestra PC no nos responde.                                                                                                                                                                                                                                                                                                                                                                     <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br />Bloqueo/Deadlock<br /> <br />Definición<br />Un conjunto de procesos está en un abrazo mortal cuando todos los procesos en ese conjunto están esperando un evento que sólo puede ser causado por otro proceso en el conjunto. Los eventos a los cuales nos estamos refiriendo son concernientes con la asignación y liberación de recursos principalmente. Sin embargo, otro tipo de eventos pueden llevar a la existencia de abrazos mortales.<br /> <br />            Nuevo lenguaje:<br />1-     Colapsar<br />2-     Bloquear<br />3-     Deadlock<br />4-     Livelock<br /> <br />Ahora esta de moda la palabra colapsar, por ejemplo, se dice: quot;
El Metro esta colapsadoquot;
.<br />Este calificativo esta mal usado, porque según la RAE, significa disminuir, en cambio es mas acertada la palabra quot;
bloquearquot;
, la cual significa quot;
impedir el normal funcionamiento de ....quot;
.<br />DeadLock o Abrazo Mortal: En el área de sistemas es usado también el anglicismo quot;
DeadLockquot;
, O bloqueo mutuo (también conocido como interbloqueo, traba mortal) es el bloqueo permanente de un conjunto de procesos o cadenas de ejecución que compiten por recursos del sistema o bien se comunican entre ellos. A diferencia de otros problemas de concurrencia de procesos, no existe una solución general para los interbloqueos.<br />Livelock: Un livelock (bloque en línea) es similar a un deadlock, excepto que el estado de los dos procesos envueltos en el livelock constantemente cambia con respecto al otro. Livelock es una forma de inanición y la definición general sólo dice que un proceso específico no está procesando.<br />En un ejemplo del mundo real, un livelock ocurre por ejemplo cuando dos personas, al encontrarse en un pasillo angosto avanzando en sentidos opuestos, y cada una trata de ser amable moviéndose a un lado para dejar a la otra persona pasar, pero terminan moviéndose de lado a lado sin tener ningún progreso, pues ambos se mueven hacia el mismo lado, al mismo tiempo.<br />Livelock yo lo clasifico como un caso particular de deadlock.<br />Cuando un PC se cae, no al suelo, si no que deja de funcionar, es porque hubo un deadlock o abrazo mortal de procesos en busca de recursos.<br />En la teoría de los sistemas operativos, se puede definir el problema del Abrazo Mortal como la situación de un conjunto de procesos en un estado de espera tal que ninguno de ellos tiene suficientes criterios para continuar su ejecución.<br />Circunstancias parecidas suceden a menudo en la vida real, por ejemplo, en una carretera de dos direcciones, donde un determinado punto de cruce con la vía férrea, se ha construido un puente que por problemas urbanísticos o de presupuesto sólo deja pasar vehículos de un sentido. Dado este punto crítico en la mencionada carretera, se presentan las siguientes situaciones:<br />· Un vehículo llega al puente y no se encuentra ningún otro en sentido contrario. En este caso, cruza haciendo uso del puente y no ocurre nada anormal.<br />· Si el paso por el puente es controlado por un semáforo en cada lado de manera que 100 metros antes de cada semáforo se sitúen sendos detectores de presencia de vehículos cuya finalidad sea poner en rojo el semáforo del sentido contrario ante la presencia de un vehículo, podría suceder que si llegan al mismo tiempo vehículos en los dos sentidos se pongan los dos semáforos en rojo impidiendo el paso de vehículos en ambos sentidos. En este caso el camino queda bloqueado, lo que representa un silogismo al Abrazo Mortal entre procesos.<br />· Si no habiendo semáforos, el conductor situado en uno de los extremos es lo suficientemente educado que deja pasar en primer lugar al del otro extremo y antes de terminar de cruzar este último aparece por el mismo extremo otro vehículo, y así sucesivamente mientras aparezcan vehículos por el lado extremo. Esta situación podemos emparejarla con la de postergación indefinida que estudiaremos más delante.<br />Visto el ejemplo anterior que nos introduce en los conceptos básicos que vamos a tratar a continuación referentes al Abrazo Mortal y a la postergación indefinida, damos paso al estudio de recursos y del modelo de sistema en los que basaremos dichos conceptos.<br /> <br />Características de deadlock<br />El sistema tiene recursos de varios tipos: memoria, archivos, grabadores, impresoras, etc. Podemos tener más de un ejemplar de un tipo de recurso (e.g., tres impresoras). Cada uno de los ejemplares puede satisfacer una solicitud de un proceso para el recurso.<br />Los recursos son compartibles y permiten acceso a muchos procesos (e.g., los archivos de sólo lectura) o no compartibles (e.g., un grabador).<br />Ejemplo: Tres procesos en un sistema con tres grabadores, cada proceso tiene un grabador y cada uno necesita uno más.<br /> <br /> <br /> <br />Objetivos<br />1        Descripción del problema que le impide a un conjunto de procesos completar sus misiones.<br />2        Presentar varios métodos para prevenir o evitar deadlocks en sistemas computacionales.<br /> <br />El Deadlock<br />Los procesos no son ejecutados constantemente desde que se inician hasta que son finalizados.<br />Un proceso puede estar identificado con tres estados diferentes: leyendo (ready), ejecutando (running) o bloqueado (blocked). En el estado de lectura, un proceso está parado, concediendo que otro proceso sea ejecutado; en el estado de ejecución, un proceso está utilizando algún recurso; y en el estado de bloqueo, el proceso está parado y no se ejecutará mientras algo lo restaure.<br />Una condición común no deseable es descripta como deadlock, que es cuando dos procesos están en un estado de ejecución, y requieren intercambiar recursos entre sí para continuar. Ambos procesos están esperando por la liberación del recurso requerido, que nunca será realizada; como no hay ningún resultado, tomará un camino que llevará a un estado de deadlock.<br />Muchos escenarios han sido construidos para ilustrar las condiciones de deadlock, siendo el más popular el Problema de Comida de los Filósofos. Cinco filósofos tienen cinco platos de fideos enfrente suyo y cinco tenedores, uno a cada lado del plato. Los filósofos necesitan ambos tenedores (derecha e izquierda) para comer. Durante la comida realizarán solo dos operaciones mutuamente excluyentes, pensar o comer. El problema es un paralelismo simplista entre procesos (los filósofos) tratando de obtener recursos (tenedores); mientras están en estado de ejecución (comiendo) o de lectura (pensando). Una condición posible de deadlock puede ocurrir, si todos los filósofos quieren coger el tenedor de la derecha y, a la vez, el de la izquierda: la comida terminará en estado de deadlock.<br />Se dice que dos procesos se encuentran en estado de deadlock (interbloqueo, bloqueo mutuo o abrazo mortal) cuando están esperando por condiciones que nunca se van a cumplir. Se podría hablar de deadlock como el estado permanente de bloqueo de un conjunto de procesos que están compitiendo por recursos del sistema.<br /> <br />Principios de Interbloqueo<br />El interbloqueo se puede definir como el bloqueo permanente de un conjunto de procesos que compiten por los recursos del sistema o bien se comunican unos con otros. A diferencia de otros problemas de la gestión concurrente de procesos, no existe una solución eficiente para el caso general.<br />Todos los interbloqueos suponen necesidades contradictorias de recursos por parte de dos o más procesos.<br /> <br />Ejemplos de Interbloqueo<br />Ejemplo 1: Interbloqueo de tráfico<br />Cuatro coches llegan aproximadamente en el mismo instante a un cruce de cuatro caminos. Los cuatro cuadrantes de la intersección son los recursos compartidos sobre los que se demanda control; por tanto, si los coches desean atravesar el cruce, las necesidades de recursos son las siguientes:<br />- - El coche que va hacia el norte necesita los cuadrantes 1 y 2.<br />- - El coche que va hacia el oeste necesita los cuadrantes 2 y 3.<br />- - El coche que va hacia el sur necesita los cuadrantes 3 y 4.<br />- - El coche que va hacia el este necesita los cuadrantes 4 y 1.<br />La norma más habitual en la carretera es que un coche en un cruce de cuatro caminos debe ceder el paso al coche que está a su derecha. Esta norma funciona si solo hay dos o tres coches en el cruce. Por ejemplo, si solo llegan al cruce los coches del norte y del oeste, el coche del norte esperará hasta que el del oeste pase. Sin embargo, si los cuatro coches llegan al mismo tiempo cada uno se abstendrá de entrar en el cruce, provocando interbloqueo. Si todos los coches ignoran las normas y entran (con cuidado) en el cruce, cada coche obtendrá un recurso (un cuadrante) pero no podrá continuar porque el segundo recurso que necesita ya ha sido invadido por otro coche. De nuevo, se tiene interbloqueo.<br />Ejemplo 2: Cruce en un puente (es parecido al interbloqueo de tráfico)<br />En una carretera de dos direcciones, donde en un determinado cruce con la vía del ferrocarril, se ha construido un puente que solo deja pasar vehículos en un solo sentido. El bloqueo ocurre cuando dos carros intentan pasar por el puente al mismo tiempo.<br />Una manera de resolver el bloqueo es: el conductor situado en uno de los extremos es lo suficientemente educado que deja pasar en primer lugar al del otro extremo y luego pasa él.<br />Este ejemplo nos muestra como sucede el interbloqueo en nuestra vida diaria.<br />Ejemplo 3: 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. Es entonces cuando el proceso B solicita permiso para utilizar la unidad de cinta y se le otorga. El proceso A solicita entonces la unidad de cinta, pero la solicitud es denegada hasta que B la libere. Por desgracia, en este momento, en vez de liberar unidad de cinta, B solicita la impresora. Los procesos se bloquean en ese momento y permanecen así por siempre.<br /> <br />Recursos<br />Se entiende como recurso un elemento que un programa o proceso puede utilizar en la computadora donde se está ejecutando. Se engloban bajo el concepto de recurso, tanto los dispositivos hardware (por ejemplo, una impresora), como una cierta cantidad de información (por ejemplo, un registro de un archivo).<br />No obstante, en una computadora pueden existir muchos tipos de recursos, e incluso varios del mismo tipo. Por ello definiremos un recurso como algo que puede ser utilizado por un solo proceso en un instante dado. Para que el proceso pueda utilizar un recurso, deberá realizar la siguiente secuencia de operaciones:<br />· Solicitar el recurso. Si no estuviera disponible el proceso, quedará bloqueado hasta que le pueda ser asignado.<br />· Utilizar el recurso.<br />· Liberar el recurso<br /> <br />Modelo<br />En primer lugar vamos a definir lo que entendemos por Abrazo Mortal. Se dice que un conjunto de procesos han alcanzado un estado de Abrazo Mortal si cada uno de ellos espera que ocurra algo que sólo puede ser producido por uno de los procesos del propio conjunto (no necesariamente tiene que ser el mismo suceso). Como todos los procesos están en espera, ninguno de ello será el primero en producir el suceso deseado y por tanto permanecerá esperando indefinidamente.<br />Para formalizar todo lo expuesto hasta el momento, vamos a fijar los principios en que se basa todo sistema informático:<br />· Posee un número finito de recursos.<br />· Existe un número finito de procesos que compiten por los recursos.<br />· Los recursos se pueden dividir en tipos de tal forma que cada uno de ellos esté compuesto por recursos idénticos entre sí.<br />· Los procesos deben realizar las tres acciones expuestas anteriormente sobre los recursos: solicitar, utilizar, liberar.<br />· Un proceso puede pedir tantos recursos como necesite para realizar su trabajo, ya sean del mismo tipo o no, siempre que no excedan del total existente en el sistema.<br /> <br />            Condiciones Necesarias para que Ocurra un Abrazo Mortal<br />Según Coffman (1971), existen cuatro condiciones que deben cumplirse para que haya estancamiento. Una situación de abrazo mortal puede surgir sí y solo sí las siguientes cuatro condiciones ocurren simultáneamente en un sistema:<br />1.      Exclusión Mutua. Los procesos reclaman control exclusivo de los recursos que pide. Al menos un recurso es mantenido en un modo no-compartible.<br />2.      Retener y Esperar. Los procesos que regularmente contienen recursos otorgados antes pueden solicitar nuevos recursos. Debe existir un proceso que retenga al menos un recurso y esté esperando para adquirir recursos adicionales que están siendo retenidos por otros procesos.<br />3.      No existe el derecho de desasignar. Los recursos no pueden ser desasignados; esto es, un recurso sólo puede ser liberado voluntariamente por el proceso que lo retiene, después de que el proceso ha terminado su tarea.<br />4.      Espera Circular. Debe haber una cadena de dos o más procesos, cada uno de los cuales esté esperando un recurso contenido en el siguiente miembro de la cadena. Debe existir un conjunto {p0, p1,..., pn} de procesos en espera tal que p0 esté esperando por un recurso que está siendo retenido por p1, p1 está esperando por un recurso que está siendo retenido por p2,..., pn-1 está esperando por un recurso que está siendo retenido por pn y pn está esperando por un recurso que está siendo retenido por p0.<br />Las cuatro condiciones deben de cumplirse para que pueda ocurrir un abrazo mortal. La condición de espera circular implica la condición de retener y esperar, de tal manera que las cuatro condiciones no son totalmente independientes. Sin embargo, puede ser útil el considerar cada condición por separado.<br />Una forma de modelar estas condiciones es usando un grafo de recursos: los círculos representan procesos, los cuadrados recursos. Una arista desde un recurso a un proceso indica que el recurso ha sido asignado al proceso. Una arista desde un proceso a un recurso indica que el proceso ha solicitado el recurso, y está bloqueado esperándolo. Entonces, si hacemos el grafo con todos lo procesos y todos los recursos del sistema encontramos un ciclo, los procesos en el ciclo están bajo bloqueo mutuo.<br /> <br />Preasignación de recursos<br />     Cuando un proceso comienza determina los recursos que va a usar<br />     Cuando todos estén disponibles, comienza<br />     Utilizado en el sistema OS/360<br />     Inconvenientes:<br />   Es necesario conocer a priori los recursos que se van a emplear<br />   Puede que algún recurso solicitado no se emplee<br />   Se obtiene una baja utilización de los mismos<br /> <br />         Asignación con restricciones<br />     El usuario está obligado a establecer a priori qué recursos va a utilizar<br />     Al contrario que en el caso anterior, el proceso comienza su ejecución y se le van asignando recursos dinámicamente<br />     Antes de asignar los recursos se comprueba que el sistema permanece en un estado seguro<br />     ¿Qué es un estado seguro?<br /> <br />           <br /> <br />Detección y recuperación<br />Cuando se utiliza esta técnica, el sistema no hace nada salvo monitorear las requisiciones y devoluciones de recursos. Cada vez que se solicita o se devuelve un recurso, la gráfica de recursos se actualiza y se hace una verificación para observar si existe algún ciclo. Si existe uno, se elimina uno de los procesos contenidos en el ciclo. Si esto no deshace el estancamiento, se elimina otro proceso y así sucesivamente hasta que se rompa el ciclo.<br />La detección y recuperación es la estrategia que a menudo se usa en las macrocomputadora, sobre todo los sistemas por lotes en los que terminar y luego reiniciar un proceso suele ser aceptable.<br /> Si un sistema no emplea una prevención de los abrazos mortales puede ocurrir un abrazo.<br /> Entonces el sistema debe proporcionar:      - un algoritmo para examinar cada estado del sistema.      - un algoritmo para recuperarse de los abrazos.<br />Un algoritmo de detección y recuperación necesita mantener cierta información además que existen ciertas perdidas cuando nos recuperamos de un abrazo (tiempo que los procesos no se ejecutan, etc.).<br /> <br />Prevención<br />Los libros de texto te dirán que si siempre bloqueas en el mismo orden, nunca obtendrás esta clase de deadlock. La práctica te dirá que este tipo de aproximación no escala bien: cuando creo un nuevo bloqueo, no entiendo suficientemente el núcleo para imaginarme dónde está él en la jerarquía de los 5000 bloqueos.<br />Los mejores bloqueos están encapsulados; nunca estarán expuestos en las cabeceras, y nunca se mantendrán a través de llamadas a funciones no triviales fuera del mismo archivo. Puedes leer a través de este código y ver que nunca hará deadlock, porque nunca intenta tener otro bloqueo mientras tiene el uso. La gente usando tu código no necesita saber nunca que estás usando un bloqueo.<br />Un problema clásico aquí es cuando suministras retrollamadas o trampas: si las llamas con el bloqueo mantenido, arriesgas un deadlock simple, o un abrazo mortal (¿quién sabe lo que hará la llamada?). Recuerda, los otros programadores andan detrás de ti, por lo tanto no hagas esto<br />Se ha llegado a la conclusión de que si falta una de las cuatro condiciones necesarias, es imposible que ocurra un bloqueo. Havender (HV68) sugirió las siguientes estrategias para evitar varias de estas condiciones:<br />1.      Cada proceso deberá pedir todos sus recursos requeridos de una sola vez y no podrá proceder hasta que le hayan sido asignados.<br />2.      Si a un proceso que mantiene ciertos recursos se le niega una nueva petición, este proceso deberá liberar sus recursos originales y, en caso necesario, pedirlos de nuevo junto con los recursos adicionales.<br />3.      Se impondrá la ordenación lineal de los tipos de recursos en todos los procesos, es decir, si a un proceso le han sido asignados recursos de un tipo dado, en lo sucesivo sólo podrá pedir aquellos recursos de los tipos que siguen en el ordenamiento.<br /> <br />Exclusión mutua<br />Si nunca se asignara un recurso exclusivamente a un solo proceso, nunca tendríamos estancamiento. No obstante, que al permitir que dos procesos se ejecuten se llegaría al caos. Por lo tanto es una condición que no queremos romper.1.- Retener y esperar: La primera estrategia requiere que todos los recursos que va a necesitar un proceso sean pedidos de una sola vez. El sistema deberá asignarlos según el principio de quot;
todo o nadaquot;
. Con esto, se niega la condición de quot;
espera porquot;
 y el bloqueo, no puede producirse. <br />Esta estrategia puede llevar a un serio desperdicio de recursos, así como a provocar postergación indefinida. ya que quizá no todos los recursos requeridos estén disponibles al mismo tiempo.<br />Un enfoque de uso frecuente entre los implementadores de sistemas para obtener una mejor utilización de recursos en estas circunstancias, es dividir un programa en varios pasos que se ejecuten con una relativa independencia uno del otro. Entonces, la asignación de recursos puede ser controlada por pasos, en lugar de establecer un control del proceso total. Esto puede reducir el desperdicio, pero implica gran sobrecarga en el diseño de sistemas de aplicaciones, así como en su ejecución.<br />Para ejemplificar la diferencia entre estos dos enfoques, considere un proceso que copia un archivo de una unidad de cinta (1) a una unidad de disco, ordena el archivo en disco, después imprime los resultados a una impresora en línea y finalmente copia el archivo de disco a la unidad de cinta (2). Si todos los recursos deben ser solicitados al inicio del proceso, entonces el proceso debe iniciar solicitando la unidad de cinta (1), la unidad de disco, la impresora en línea y la unidad de cinta (2). Este proceso mantendrá las unidades de cinta (1) y (2) durante la ejecución completa aunque solo las utilice al principio y al final de su ejecución respectivamente.<br />El segundo método permite al proceso el solicitar inicialmente solo la unidad de cinta (1) y la unidad de disco. Así puede copiar el archivo de la unidad de cinta (1) a la unidad de disco y ordenarlo, posteriormente debe liberar la unidad de cinta (1) y la unidad de disco. El proceso debe de volver a solicitar la unidad de disco y la impresora en línea para hacer la impresión. Después de imprimir debe de liberar la unidad de disco y la impresora. Ahora debe de volver a solicitar la unidad de disco y la unidad de cinta (2) para copiar el archivo a cinta, debe liberar ambos recursos y terminar.<br />2.- No existe el derecho de desasignar: La tercera condición necesaria es que no debe de existir el derecho de desasignar recursos que han sido previamente asignados. Con el fin de asegurar que esta condición no se cumpla, se puede usar la siguiente estrategia. Si un proceso que está reteniendo algunos recursos solicita otro recurso que no puede ser asignado inmediatamente (esto es, que el proceso tenga que esperar), entonces todos los recursos que tiene este proceso en espera son desasignados. Esto es, los recursos son liberados implícitamente. Los recursos liberados son agregados a la lista de los recursos por los cuales está esperando el proceso. El proceso solo puede volver a ser reinicializado cuando haya obtenido otra vez todos los recursos que tenían asignados así como el nuevo recurso que estaba solicitando.<br />Alternativamente si un proceso solicita algunos recursos, primero verificamos si estos están disponibles. Si es así, entonces se le asignan. De otro modo, se verifica si están asignados a alguno de los procesos que están en espera de recursos adicionales. Si es así, los recursos deseados son desasignados del proceso en espera y asignados al proceso solicitante. De otra manera (no están disponibles, ni asignados a procesos en espera) el proceso que hace la solicitud debe esperar. Pero, mientras está esperando, algunos de sus recursos pueden ser desasignados solamente si estos son solicitados. Un proceso puede ser reinicializado cuando se le asigna el recurso que había solicitado y recupera cualquier recurso que haya sido desasignado mientras esperaba.<br />Esta estrategia es utilizada usualmente sobre recursos cuyo estado puede ser fácilmente salvado y restablecido posteriormente, ejemplo de ellos son los registros del CPU y el espacio en la memoria. Este no puede ser aplicado a recursos tales como impresoras.<br />3.- Espera circular: Con el fin de asegurarse de que la condición de espera circular nunca se presente, se puede imponer un ordenamiento total sobre todos los tipos de recursos. Esto es, asignamos a cada tipo de recurso un número entero único, el cual permita comparar dos recursos y determinar cuando uno precede al otro en el ordenamiento.<br />1        Los recursos deben ser pedidos en orden ascendente por número de recurso. Los números de recurso son asignados por la instalación y quot;
hay que vivir con ellosquot;
 durante largos periodos. <br />2        Cuando se asignan los números de recurso deben reflejar el ordenamiento normal en el cual la mayoría de los trabajos van a utilizar esos recursos. Para los trabajos que se acoplen a este ordenamiento puede esperarse una operación eficiente. Pero para los que requieran de los recursos en un orden diferente al supuesto en la instalación, los recursos deberán ser adquiridos y mantenidos mucho antes de su utilización. <br />3        El ordenamiento lineal elimina de forma efectiva la posibilidad de espera circular, no obstante, crea un efecto contaminante sobre la capacidad del usuario para escribir códigos de aplicaciones de una forma fácil y libre.<br /> <br />Formas de Evitar un Abrazo Mortal<br />1        Tener recursos compartidos<br />2        Poder quitarle un recurso a un flujo<br />3        Poder conseguir todos los recursos que necesita en forma atómica.<br />4        Ordenar las peticiones de recursos (tener que conseguirlos en el mismo orden.<br />Para evitar DEADLOCKS, en los casos en que se deba coexistir con las 4 condiciones necesarias, de debe conocer de qué manera los procesos requerirán sus recursos.<br />El modelo más sencillo es conocer de antemano la cantidad máxima de cada tipo de recurso a necesitar. Conocido esto es posible construir un algoritmo que permita que nunca se entre en quot;
estado de deadlockquot;
. Consisten examinar periódicamente el número de recursos disponibles y asignados para evitar una quot;
espera circularquot;
.<br />Un estado quot;
seguroquot;
 (SAFE) es cuando se pueden asignar recursos a cada proceso en algún orden y evitar el deadlock.<br />Formalmente: Un sistema está en estado quot;
seguroquot;
 si existe una quot;
secuencia segura de procesosquot;
. Una secuencia <p(1),p(2), ...,p(n)> es segura si por cada p(i) los recursos que necesitará pueden ser satisfechos por los recursos disponibles más todos los recursos retenidos por todos los p(j) tal que j < i. En este caso p(i) puede esperar que todos los p(j) terminen, obtener todos sus recursos y luego que los libera, el p(i+1) a su vez, puede obtener todos los recursos necesarios. Si esta secuencia no existe el sistema está en estado inseguro quot;
UNSAFE.<br /> <br />Conclusiones<br /> <br /> <br />El bloqueo ò abrazo mortal no más que el bloqueo de un conjunto de procesos que compiten por recursos en un sistema.<br /> <br />Según Dolonnis Cachutt El abrazo mortal es un conjunto de procesos en un estado de espera tal que ninguno de ellos tiene suficientes criterios para continuar su ejecución.<br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br />Sugerencias.<br /> <br />Siempre hay que estar preparado para emitir nuevamente un proceso que haya fallado por un deadlock. Los deadlocks no revisten peligro, simplemente hay que intentar de nuevo.<br />  <br />Confirmar los procesos frecuentemente. Los procesos pequeños son menos propensos a originar conflictos.<br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br />Bibliografía<br /> <br /> <br /> <br />      IIC 2332 -- Sistemas Operativos  Apuntes 07<br />      1er Semestre abril 2 1996 ultima edición por knabe@ing.puc.cl<br />             http://www.cs.virginia.edu/~knabe/iic2332/notes07.html<br /> <br />             Rene Gado  28/03/2007 a las 19:16<br />http://www.atinachile.cl/content/view/29386/Nuevo-lenguaje-Colapsar-bloquear-deadlock-livelock-cecilia-bolocco-y-el-perro-del- hortelano.html#content-top  <br /> <br />      Dolonnis Cachutt 02/06/2009<br />           http://www.monografias.com/trabajos34/abrazo-mortal/abrazo-mortal.shtml<br /> <br /> <br /> <br /> <br /> <br /> <br /> Encabezado<br /> <br /> <br />Examèn<br /> <br />1-     Un Bloqueo es:<br />a)     Cuando todos los procesos en ese conjunto están esperando un evento.<br />b)    Cuando un objeto se atraviesa en el medio.<br />c)     Cuando la PC no puede pensar.<br />d)    Cuando interviene un proceso.<br />e)     Cuando tenemos la mente bloqueada y no sabemos que hacer.<br /> <br />2-     Nuevo Lenguaje<br />a)     Golpiar<br />b)    Bloquear,<br />c)     Impedir<br />d)    Desbloquiar<br />e)     Interbloqueo<br /> <br />3-     Cuando una PC deja de funcionar es porque:<br />a)     Es porque hubo un deadlock o abrazo mortal de procesos en busca de recursos.<br />b)    Es porque se bloquea el disco duro.<br />c)    Es porque no sabe que hacer.<br />d)    Es porque se daña CPU.<br />e)     Es porque la memoria no funciona<br /> <br />4-     Es una característica del Bloqueo.<br />a)     Los recursos son compartibles y permiten acceso a muchos procesos.<br />b)    Los recursos no se comparten.<br />c)     Exclusión Mutua.<br />d)    Los Procesos requieren de mas recursos.<br />e)    Prevecion .<br /> <br />5-     Es un objetivo del bloqueo:<br />a)     Descripción del problema que le impide a un conjunto de procesos completar sus misiones.<br />b)    Presentar varios métodos para que ocurra un deadlocks en sistemas computacionales.<br />c)     Retener y Esperar.<br />d)    Dejar que se complete el deadlocks.<br />e)     Esperar con paciencia.<br /> <br />6-     En el Deadlocks:<br />a)     Los procesos solo son ejecutados al inicio del Proceso.<br />b)    Los procesos no son ejecutados constantemente desde que se inician hasta que son   finalizados.<br />c)     Los procesos solo son ejecutados al finalizar el proceso.<br />d)    Los procesos nunca se ejecutan.<br />e)     Los procesos solo se leen y no se ejecutan.<br /> <br />7- Debe haber un proceso que retenga por lo menos un recurso y espere adquirir más recursos retenidos por otros en:<br />a) Exclusión Mutua.<br />b) No apropiación.<br />c) Espera circular.<br />d) Grafo.<br />e) Tener recursos compartidos.<br /> <br />8- Bloqueo permanente de un conjunto de procesos que compiten por los recursos del sistema o bien se comunican unos con otros.<br />a)      Deadlocks.<br />b)    Bloqueo.<br />c)     Interbloqueo.<br />d)      Livelock.<br />e)     Colapsar.<br /> <br />9- Es Un elemento que un programa o proceso puede utilizar en la computadora donde se está ejecutando.<br />a) Recurso.<br />b) Impresora.<br />c) Modelo.<br />d) Bloqueo.<br />e) Disco.<br /> <br />10- Inconvenientes de Recursos:<br />      a) Es necesario conocer a priori los recursos que se van a emplear.<br />      b) Puede que algún recurso solicitado no se use.<br />      c) Se obtiene una baja utilización de los mismos.<br />          d) Se presentan los recursos.<br />          e)  Se daña la computadoras.<br /> <br /> <br /> Video<br /> <br /> <br />
deadlok- interbloqueos
deadlok- interbloqueos
deadlok- interbloqueos
deadlok- interbloqueos
deadlok- interbloqueos
deadlok- interbloqueos
deadlok- interbloqueos
deadlok- interbloqueos
deadlok- interbloqueos
deadlok- interbloqueos
deadlok- interbloqueos
deadlok- interbloqueos
deadlok- interbloqueos
deadlok- interbloqueos
deadlok- interbloqueos
deadlok- interbloqueos
deadlok- interbloqueos
deadlok- interbloqueos

Weitere ähnliche Inhalte

Was ist angesagt?

Sistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosSistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosChiNo Sosa Erazo
 
Algoritmos de dekker
Algoritmos de dekkerAlgoritmos de dekker
Algoritmos de dekkernerexi
 
Bloqueos En Sistemas Distribuidos
Bloqueos En Sistemas DistribuidosBloqueos En Sistemas Distribuidos
Bloqueos En Sistemas Distribuidosyramirez
 
Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosLuis Dario Gomez
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores JUANR1022
 
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOSGESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOSomarhcc
 
Mecanismo de sincronización de procesos
Mecanismo de sincronización de procesosMecanismo de sincronización de procesos
Mecanismo de sincronización de procesosjulio izaguirre
 
Concurrencia interbloqueo e inanición
Concurrencia interbloqueo e inaniciónConcurrencia interbloqueo e inanición
Concurrencia interbloqueo e inaniciónjhonfgarcia
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador SintácticoPablo Guerra
 
Procesos Planificacion de los Sistemas Operativos
 Procesos Planificacion de los Sistemas Operativos Procesos Planificacion de los Sistemas Operativos
Procesos Planificacion de los Sistemas OperativosG Hoyos A
 
Los lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingLos lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingJonathan Bastidas
 
Gestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosGestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosMarvin Romero
 
Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesosayreonmx
 

Was ist angesagt? (20)

Sistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosSistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesos
 
Algoritmos de dekker
Algoritmos de dekkerAlgoritmos de dekker
Algoritmos de dekker
 
Bloqueos En Sistemas Distribuidos
Bloqueos En Sistemas DistribuidosBloqueos En Sistemas Distribuidos
Bloqueos En Sistemas Distribuidos
 
Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativos
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores
 
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOSGESTION DE PROCESOS EN SISTEMAS OPERATIVOS
GESTION DE PROCESOS EN SISTEMAS OPERATIVOS
 
La instrucción tsl
La instrucción tslLa instrucción tsl
La instrucción tsl
 
Mecanismo de sincronización de procesos
Mecanismo de sincronización de procesosMecanismo de sincronización de procesos
Mecanismo de sincronización de procesos
 
Gestion de memoria en Linux
Gestion de memoria en LinuxGestion de memoria en Linux
Gestion de memoria en Linux
 
Cuadro comparativo hilos
Cuadro comparativo hilosCuadro comparativo hilos
Cuadro comparativo hilos
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
Concurrencia interbloqueo e inanición
Concurrencia interbloqueo e inaniciónConcurrencia interbloqueo e inanición
Concurrencia interbloqueo e inanición
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador Sintáctico
 
Procesos Planificacion de los Sistemas Operativos
 Procesos Planificacion de los Sistemas Operativos Procesos Planificacion de los Sistemas Operativos
Procesos Planificacion de los Sistemas Operativos
 
2.2 y 2.3
2.2 y 2.32.2 y 2.3
2.2 y 2.3
 
Los lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turingLos lenguajes aceptados para una maquina de turing
Los lenguajes aceptados para una maquina de turing
 
Lectores y escritores
Lectores y escritoresLectores y escritores
Lectores y escritores
 
Gestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosGestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas Operativos
 
Sistemas operativos procesos
Sistemas operativos   procesosSistemas operativos   procesos
Sistemas operativos procesos
 
Estándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de NegociosEstándares para el Modelado de Procesos de Negocios
Estándares para el Modelado de Procesos de Negocios
 

Andere mochten auch

Inf 324 01_03_planificadores
Inf 324 01_03_planificadoresInf 324 01_03_planificadores
Inf 324 01_03_planificadoresmariavictoria0000
 
Presentación de power point
Presentación de power pointPresentación de power point
Presentación de power pointmariavictoria0000
 
Delitos Informáticos CGVAsociados
Delitos Informáticos CGVAsociadosDelitos Informáticos CGVAsociados
Delitos Informáticos CGVAsociadosguest192f71
 
Delitos y Fraudes Informáticos
Delitos y Fraudes InformáticosDelitos y Fraudes Informáticos
Delitos y Fraudes InformáticosUNJFSC
 
Diapositiva de los delitos informaticos
Diapositiva de los delitos informaticosDiapositiva de los delitos informaticos
Diapositiva de los delitos informaticosCristina Cedeño
 

Andere mochten auch (9)

Ensamblar una pc
Ensamblar una pcEnsamblar una pc
Ensamblar una pc
 
Seguridad
SeguridadSeguridad
Seguridad
 
seguridad
seguridadseguridad
seguridad
 
Inf 324 01_03_planificadores
Inf 324 01_03_planificadoresInf 324 01_03_planificadores
Inf 324 01_03_planificadores
 
Presentación de power point
Presentación de power pointPresentación de power point
Presentación de power point
 
Inf 324 01_07_procesos
Inf 324 01_07_procesosInf 324 01_07_procesos
Inf 324 01_07_procesos
 
Delitos Informáticos CGVAsociados
Delitos Informáticos CGVAsociadosDelitos Informáticos CGVAsociados
Delitos Informáticos CGVAsociados
 
Delitos y Fraudes Informáticos
Delitos y Fraudes InformáticosDelitos y Fraudes Informáticos
Delitos y Fraudes Informáticos
 
Diapositiva de los delitos informaticos
Diapositiva de los delitos informaticosDiapositiva de los delitos informaticos
Diapositiva de los delitos informaticos
 

Ähnlich wie deadlok- interbloqueos

Taller Interbloqueo
Taller InterbloqueoTaller Interbloqueo
Taller Interbloqueoxcarlos91
 
Abrazo Mortal - UCC Leon
Abrazo Mortal - UCC LeonAbrazo Mortal - UCC Leon
Abrazo Mortal - UCC LeonUCC
 
aaaProblema de los filosofos
aaaProblema de los filosofosaaaProblema de los filosofos
aaaProblema de los filosofosVoris Perez
 
UNIDAD II PARTE 2 ADMINISTRACIÓN DE MEMORIAS
UNIDAD II PARTE 2 ADMINISTRACIÓN DE MEMORIASUNIDAD II PARTE 2 ADMINISTRACIÓN DE MEMORIAS
UNIDAD II PARTE 2 ADMINISTRACIÓN DE MEMORIASLisleiden Luzardo
 
Interbloqueo
InterbloqueoInterbloqueo
Interbloqueopadivi
 
Busqueda en google
Busqueda en googleBusqueda en google
Busqueda en googlesusan
 
Busqueda en google
Busqueda en googleBusqueda en google
Busqueda en googlesusan
 
Sincronización de Procesos
Sincronización de Procesos Sincronización de Procesos
Sincronización de Procesos Cristhian Rosales
 
Interbloqueos hernandez rodriguez
Interbloqueos hernandez rodriguezInterbloqueos hernandez rodriguez
Interbloqueos hernandez rodriguez1yenny
 
Problema de los filosofos
Problema de los filosofosProblema de los filosofos
Problema de los filosofosVoris Perez
 
Taller interbloqueo
Taller interbloqueoTaller interbloqueo
Taller interbloqueohhgomezc
 
Taller interbloqueo
Taller interbloqueo Taller interbloqueo
Taller interbloqueo Vero Mateus
 
Unidad 2 jacinto
Unidad 2 jacintoUnidad 2 jacinto
Unidad 2 jacintoAreli996
 
Presentación1
Presentación1Presentación1
Presentación1janet290
 
Busqueda en google
Busqueda en googleBusqueda en google
Busqueda en googlesusan
 

Ähnlich wie deadlok- interbloqueos (20)

Taller Interbloqueo
Taller InterbloqueoTaller Interbloqueo
Taller Interbloqueo
 
Taller interbloqueo
Taller interbloqueoTaller interbloqueo
Taller interbloqueo
 
Abrazo Mortal - UCC Leon
Abrazo Mortal - UCC LeonAbrazo Mortal - UCC Leon
Abrazo Mortal - UCC Leon
 
aaaProblema de los filosofos
aaaProblema de los filosofosaaaProblema de los filosofos
aaaProblema de los filosofos
 
UNIDAD II PARTE 2 ADMINISTRACIÓN DE MEMORIAS
UNIDAD II PARTE 2 ADMINISTRACIÓN DE MEMORIASUNIDAD II PARTE 2 ADMINISTRACIÓN DE MEMORIAS
UNIDAD II PARTE 2 ADMINISTRACIÓN DE MEMORIAS
 
Interbloqueo
InterbloqueoInterbloqueo
Interbloqueo
 
Ensayo so
Ensayo soEnsayo so
Ensayo so
 
Busqueda en google
Busqueda en googleBusqueda en google
Busqueda en google
 
Busqueda en google
Busqueda en googleBusqueda en google
Busqueda en google
 
Sincronización de Procesos
Sincronización de Procesos Sincronización de Procesos
Sincronización de Procesos
 
Interbloqueos hernandez rodriguez
Interbloqueos hernandez rodriguezInterbloqueos hernandez rodriguez
Interbloqueos hernandez rodriguez
 
Problema de los filosofos
Problema de los filosofosProblema de los filosofos
Problema de los filosofos
 
Taller interbloqueo
Taller interbloqueoTaller interbloqueo
Taller interbloqueo
 
Taller interbloqueo
Taller interbloqueo Taller interbloqueo
Taller interbloqueo
 
Unidad 2 jacinto
Unidad 2 jacintoUnidad 2 jacinto
Unidad 2 jacinto
 
Presentación1
Presentación1Presentación1
Presentación1
 
Busqueda en google
Busqueda en googleBusqueda en google
Busqueda en google
 
UNIDAD II ADMINISTRADOR DE PROCESADOR
UNIDAD II ADMINISTRADOR DE PROCESADORUNIDAD II ADMINISTRADOR DE PROCESADOR
UNIDAD II ADMINISTRADOR DE PROCESADOR
 
sistema operativo
sistema operativosistema operativo
sistema operativo
 
Windows
WindowsWindows
Windows
 

Mehr von mariavictoria0000 (12)

Memoria
MemoriaMemoria
Memoria
 
Memoria
MemoriaMemoria
Memoria
 
Trabajo tema 6 memoria
Trabajo tema 6 memoriaTrabajo tema 6 memoria
Trabajo tema 6 memoria
 
Interbloqueos
InterbloqueosInterbloqueos
Interbloqueos
 
Examen de interbloqueos
Examen de interbloqueosExamen de interbloqueos
Examen de interbloqueos
 
Sistema de archivos
Sistema de archivosSistema de archivos
Sistema de archivos
 
Delitos informaticos
Delitos informaticosDelitos informaticos
Delitos informaticos
 
Ley 126 02-comercio_electronico
Ley 126 02-comercio_electronicoLey 126 02-comercio_electronico
Ley 126 02-comercio_electronico
 
E-Justicia
E-JusticiaE-Justicia
E-Justicia
 
Linux
LinuxLinux
Linux
 
SISTEMAS DE ARCHIVO
SISTEMAS DE ARCHIVOSISTEMAS DE ARCHIVO
SISTEMAS DE ARCHIVO
 
Inf324 01 p05_02_razonamiento_critico
Inf324 01 p05_02_razonamiento_criticoInf324 01 p05_02_razonamiento_critico
Inf324 01 p05_02_razonamiento_critico
 

Kürzlich hochgeladen

La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadJonathanCovena1
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicaGianninaValeskaContr
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxJUANCARLOSAPARCANARE
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 

Kürzlich hochgeladen (20)

La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
Los Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la SostenibilidadLos Nueve Principios del Desempeño de la Sostenibilidad
Los Nueve Principios del Desempeño de la Sostenibilidad
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
cuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básicacuadernillo de lectoescritura para niños de básica
cuadernillo de lectoescritura para niños de básica
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptxMonitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
Monitoreo a los coordinadores de las IIEE JEC_28.02.2024.vf.pptx
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 

deadlok- interbloqueos

  • 1. Universidad Autónoma de Santo Domingo<br />(UASD)<br />Facultad de Ciencias<br />Escuela de Informática<br />INF 3240 01 – 2010 01<br />Sistemas Operativos<br /> <br />Tema<br />Bloqueo/Deadlock<br /> <br />Integrante<br />Wendy Morel Rojas (93-9619)<br /> <br />Profesor<br />José Binet<br /> <br /> <br /> <br /> <br /> <br />Santo Domingo, 29 De Marzo del 2010<br /> <br /> <br /> <br /> <br />Índice<br /> <br /> HYPERLINK quot; https://docs.google.com/Doc?docid=0AWacKVpzajDKZGd4bjloOHJfODJncmJ0a2hmOA&hl=esquot; quot; Introducci%C3%B2nquot; quot; Introducciònquot; quot; _selfquot; Introducciòn....................................................................................................................... 3<br />Definiciòn.......................................................................................................................... 4<br />Nuevo Lenguaje................................................................................................................. 4<br />Caracteristica...................................................................................................................... 5<br />Objetivos............................................................................................................................ 6<br />El Deadlock....................................................................................................................... 6<br />Principios de Interbloqueo…………................................................................................. 7<br />Ejemplos de Interbloqueo………...................................................................................... 7<br />Recursos............................................................................................................................. 9<br />Modelo............................................................................................................................... 9<br />Condiciones Necesarias para que ocurra un Abrazo Mortal................................................................................................................................ 9<br />Preasignaciòn de Recursos.............................................................................................. 10<br />Asignaciòn con Retrinciones........................................................................................... 10<br />Detecciòn y Recuperaciòn................................................................................................ 11<br />Prevención........................................................................................................................ 11<br />Exclusiòn Mutua.............................................................................................................. 12<br />Formas de Evitar un Abrazo Mortal................................................................................ 14<br />    Conclusiones……………………………………………………………………....….15<br />    Sugerencias…………………....…………………………………………………....…16<br />    Bibliografía......................................................................................................................17<br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br />Introducción<br /> <br /> <br />Este trabajo fue realizado con mucho cuidado y dedicación para poder brindar un desarrollo claro y preciso sobre el boqueo/deadlock, esperando que este sirva para aumentar sus conocimientos sobre dicho tema.<br />Através de este podrá usted comprender los problemas que suceden con nuestro sistema cuando ejecutamos varios procesos a la vez  y nuestra PC no nos responde.                                                                                                                                                                                                                                                                                                                                                                     <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br />Bloqueo/Deadlock<br /> <br />Definición<br />Un conjunto de procesos está en un abrazo mortal cuando todos los procesos en ese conjunto están esperando un evento que sólo puede ser causado por otro proceso en el conjunto. Los eventos a los cuales nos estamos refiriendo son concernientes con la asignación y liberación de recursos principalmente. Sin embargo, otro tipo de eventos pueden llevar a la existencia de abrazos mortales.<br /> <br />            Nuevo lenguaje:<br />1-     Colapsar<br />2-     Bloquear<br />3-     Deadlock<br />4-     Livelock<br /> <br />Ahora esta de moda la palabra colapsar, por ejemplo, se dice: quot; El Metro esta colapsadoquot; .<br />Este calificativo esta mal usado, porque según la RAE, significa disminuir, en cambio es mas acertada la palabra quot; bloquearquot; , la cual significa quot; impedir el normal funcionamiento de ....quot; .<br />DeadLock o Abrazo Mortal: En el área de sistemas es usado también el anglicismo quot; DeadLockquot; , O bloqueo mutuo (también conocido como interbloqueo, traba mortal) es el bloqueo permanente de un conjunto de procesos o cadenas de ejecución que compiten por recursos del sistema o bien se comunican entre ellos. A diferencia de otros problemas de concurrencia de procesos, no existe una solución general para los interbloqueos.<br />Livelock: Un livelock (bloque en línea) es similar a un deadlock, excepto que el estado de los dos procesos envueltos en el livelock constantemente cambia con respecto al otro. Livelock es una forma de inanición y la definición general sólo dice que un proceso específico no está procesando.<br />En un ejemplo del mundo real, un livelock ocurre por ejemplo cuando dos personas, al encontrarse en un pasillo angosto avanzando en sentidos opuestos, y cada una trata de ser amable moviéndose a un lado para dejar a la otra persona pasar, pero terminan moviéndose de lado a lado sin tener ningún progreso, pues ambos se mueven hacia el mismo lado, al mismo tiempo.<br />Livelock yo lo clasifico como un caso particular de deadlock.<br />Cuando un PC se cae, no al suelo, si no que deja de funcionar, es porque hubo un deadlock o abrazo mortal de procesos en busca de recursos.<br />En la teoría de los sistemas operativos, se puede definir el problema del Abrazo Mortal como la situación de un conjunto de procesos en un estado de espera tal que ninguno de ellos tiene suficientes criterios para continuar su ejecución.<br />Circunstancias parecidas suceden a menudo en la vida real, por ejemplo, en una carretera de dos direcciones, donde un determinado punto de cruce con la vía férrea, se ha construido un puente que por problemas urbanísticos o de presupuesto sólo deja pasar vehículos de un sentido. Dado este punto crítico en la mencionada carretera, se presentan las siguientes situaciones:<br />· Un vehículo llega al puente y no se encuentra ningún otro en sentido contrario. En este caso, cruza haciendo uso del puente y no ocurre nada anormal.<br />· Si el paso por el puente es controlado por un semáforo en cada lado de manera que 100 metros antes de cada semáforo se sitúen sendos detectores de presencia de vehículos cuya finalidad sea poner en rojo el semáforo del sentido contrario ante la presencia de un vehículo, podría suceder que si llegan al mismo tiempo vehículos en los dos sentidos se pongan los dos semáforos en rojo impidiendo el paso de vehículos en ambos sentidos. En este caso el camino queda bloqueado, lo que representa un silogismo al Abrazo Mortal entre procesos.<br />· Si no habiendo semáforos, el conductor situado en uno de los extremos es lo suficientemente educado que deja pasar en primer lugar al del otro extremo y antes de terminar de cruzar este último aparece por el mismo extremo otro vehículo, y así sucesivamente mientras aparezcan vehículos por el lado extremo. Esta situación podemos emparejarla con la de postergación indefinida que estudiaremos más delante.<br />Visto el ejemplo anterior que nos introduce en los conceptos básicos que vamos a tratar a continuación referentes al Abrazo Mortal y a la postergación indefinida, damos paso al estudio de recursos y del modelo de sistema en los que basaremos dichos conceptos.<br /> <br />Características de deadlock<br />El sistema tiene recursos de varios tipos: memoria, archivos, grabadores, impresoras, etc. Podemos tener más de un ejemplar de un tipo de recurso (e.g., tres impresoras). Cada uno de los ejemplares puede satisfacer una solicitud de un proceso para el recurso.<br />Los recursos son compartibles y permiten acceso a muchos procesos (e.g., los archivos de sólo lectura) o no compartibles (e.g., un grabador).<br />Ejemplo: Tres procesos en un sistema con tres grabadores, cada proceso tiene un grabador y cada uno necesita uno más.<br /> <br /> <br /> <br />Objetivos<br />1        Descripción del problema que le impide a un conjunto de procesos completar sus misiones.<br />2        Presentar varios métodos para prevenir o evitar deadlocks en sistemas computacionales.<br /> <br />El Deadlock<br />Los procesos no son ejecutados constantemente desde que se inician hasta que son finalizados.<br />Un proceso puede estar identificado con tres estados diferentes: leyendo (ready), ejecutando (running) o bloqueado (blocked). En el estado de lectura, un proceso está parado, concediendo que otro proceso sea ejecutado; en el estado de ejecución, un proceso está utilizando algún recurso; y en el estado de bloqueo, el proceso está parado y no se ejecutará mientras algo lo restaure.<br />Una condición común no deseable es descripta como deadlock, que es cuando dos procesos están en un estado de ejecución, y requieren intercambiar recursos entre sí para continuar. Ambos procesos están esperando por la liberación del recurso requerido, que nunca será realizada; como no hay ningún resultado, tomará un camino que llevará a un estado de deadlock.<br />Muchos escenarios han sido construidos para ilustrar las condiciones de deadlock, siendo el más popular el Problema de Comida de los Filósofos. Cinco filósofos tienen cinco platos de fideos enfrente suyo y cinco tenedores, uno a cada lado del plato. Los filósofos necesitan ambos tenedores (derecha e izquierda) para comer. Durante la comida realizarán solo dos operaciones mutuamente excluyentes, pensar o comer. El problema es un paralelismo simplista entre procesos (los filósofos) tratando de obtener recursos (tenedores); mientras están en estado de ejecución (comiendo) o de lectura (pensando). Una condición posible de deadlock puede ocurrir, si todos los filósofos quieren coger el tenedor de la derecha y, a la vez, el de la izquierda: la comida terminará en estado de deadlock.<br />Se dice que dos procesos se encuentran en estado de deadlock (interbloqueo, bloqueo mutuo o abrazo mortal) cuando están esperando por condiciones que nunca se van a cumplir. Se podría hablar de deadlock como el estado permanente de bloqueo de un conjunto de procesos que están compitiendo por recursos del sistema.<br /> <br />Principios de Interbloqueo<br />El interbloqueo se puede definir como el bloqueo permanente de un conjunto de procesos que compiten por los recursos del sistema o bien se comunican unos con otros. A diferencia de otros problemas de la gestión concurrente de procesos, no existe una solución eficiente para el caso general.<br />Todos los interbloqueos suponen necesidades contradictorias de recursos por parte de dos o más procesos.<br /> <br />Ejemplos de Interbloqueo<br />Ejemplo 1: Interbloqueo de tráfico<br />Cuatro coches llegan aproximadamente en el mismo instante a un cruce de cuatro caminos. Los cuatro cuadrantes de la intersección son los recursos compartidos sobre los que se demanda control; por tanto, si los coches desean atravesar el cruce, las necesidades de recursos son las siguientes:<br />- - El coche que va hacia el norte necesita los cuadrantes 1 y 2.<br />- - El coche que va hacia el oeste necesita los cuadrantes 2 y 3.<br />- - El coche que va hacia el sur necesita los cuadrantes 3 y 4.<br />- - El coche que va hacia el este necesita los cuadrantes 4 y 1.<br />La norma más habitual en la carretera es que un coche en un cruce de cuatro caminos debe ceder el paso al coche que está a su derecha. Esta norma funciona si solo hay dos o tres coches en el cruce. Por ejemplo, si solo llegan al cruce los coches del norte y del oeste, el coche del norte esperará hasta que el del oeste pase. Sin embargo, si los cuatro coches llegan al mismo tiempo cada uno se abstendrá de entrar en el cruce, provocando interbloqueo. Si todos los coches ignoran las normas y entran (con cuidado) en el cruce, cada coche obtendrá un recurso (un cuadrante) pero no podrá continuar porque el segundo recurso que necesita ya ha sido invadido por otro coche. De nuevo, se tiene interbloqueo.<br />Ejemplo 2: Cruce en un puente (es parecido al interbloqueo de tráfico)<br />En una carretera de dos direcciones, donde en un determinado cruce con la vía del ferrocarril, se ha construido un puente que solo deja pasar vehículos en un solo sentido. El bloqueo ocurre cuando dos carros intentan pasar por el puente al mismo tiempo.<br />Una manera de resolver el bloqueo es: el conductor situado en uno de los extremos es lo suficientemente educado que deja pasar en primer lugar al del otro extremo y luego pasa él.<br />Este ejemplo nos muestra como sucede el interbloqueo en nuestra vida diaria.<br />Ejemplo 3: 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. Es entonces cuando el proceso B solicita permiso para utilizar la unidad de cinta y se le otorga. El proceso A solicita entonces la unidad de cinta, pero la solicitud es denegada hasta que B la libere. Por desgracia, en este momento, en vez de liberar unidad de cinta, B solicita la impresora. Los procesos se bloquean en ese momento y permanecen así por siempre.<br /> <br />Recursos<br />Se entiende como recurso un elemento que un programa o proceso puede utilizar en la computadora donde se está ejecutando. Se engloban bajo el concepto de recurso, tanto los dispositivos hardware (por ejemplo, una impresora), como una cierta cantidad de información (por ejemplo, un registro de un archivo).<br />No obstante, en una computadora pueden existir muchos tipos de recursos, e incluso varios del mismo tipo. Por ello definiremos un recurso como algo que puede ser utilizado por un solo proceso en un instante dado. Para que el proceso pueda utilizar un recurso, deberá realizar la siguiente secuencia de operaciones:<br />· Solicitar el recurso. Si no estuviera disponible el proceso, quedará bloqueado hasta que le pueda ser asignado.<br />· Utilizar el recurso.<br />· Liberar el recurso<br /> <br />Modelo<br />En primer lugar vamos a definir lo que entendemos por Abrazo Mortal. Se dice que un conjunto de procesos han alcanzado un estado de Abrazo Mortal si cada uno de ellos espera que ocurra algo que sólo puede ser producido por uno de los procesos del propio conjunto (no necesariamente tiene que ser el mismo suceso). Como todos los procesos están en espera, ninguno de ello será el primero en producir el suceso deseado y por tanto permanecerá esperando indefinidamente.<br />Para formalizar todo lo expuesto hasta el momento, vamos a fijar los principios en que se basa todo sistema informático:<br />· Posee un número finito de recursos.<br />· Existe un número finito de procesos que compiten por los recursos.<br />· Los recursos se pueden dividir en tipos de tal forma que cada uno de ellos esté compuesto por recursos idénticos entre sí.<br />· Los procesos deben realizar las tres acciones expuestas anteriormente sobre los recursos: solicitar, utilizar, liberar.<br />· Un proceso puede pedir tantos recursos como necesite para realizar su trabajo, ya sean del mismo tipo o no, siempre que no excedan del total existente en el sistema.<br /> <br />            Condiciones Necesarias para que Ocurra un Abrazo Mortal<br />Según Coffman (1971), existen cuatro condiciones que deben cumplirse para que haya estancamiento. Una situación de abrazo mortal puede surgir sí y solo sí las siguientes cuatro condiciones ocurren simultáneamente en un sistema:<br />1.      Exclusión Mutua. Los procesos reclaman control exclusivo de los recursos que pide. Al menos un recurso es mantenido en un modo no-compartible.<br />2.      Retener y Esperar. Los procesos que regularmente contienen recursos otorgados antes pueden solicitar nuevos recursos. Debe existir un proceso que retenga al menos un recurso y esté esperando para adquirir recursos adicionales que están siendo retenidos por otros procesos.<br />3.      No existe el derecho de desasignar. Los recursos no pueden ser desasignados; esto es, un recurso sólo puede ser liberado voluntariamente por el proceso que lo retiene, después de que el proceso ha terminado su tarea.<br />4.      Espera Circular. Debe haber una cadena de dos o más procesos, cada uno de los cuales esté esperando un recurso contenido en el siguiente miembro de la cadena. Debe existir un conjunto {p0, p1,..., pn} de procesos en espera tal que p0 esté esperando por un recurso que está siendo retenido por p1, p1 está esperando por un recurso que está siendo retenido por p2,..., pn-1 está esperando por un recurso que está siendo retenido por pn y pn está esperando por un recurso que está siendo retenido por p0.<br />Las cuatro condiciones deben de cumplirse para que pueda ocurrir un abrazo mortal. La condición de espera circular implica la condición de retener y esperar, de tal manera que las cuatro condiciones no son totalmente independientes. Sin embargo, puede ser útil el considerar cada condición por separado.<br />Una forma de modelar estas condiciones es usando un grafo de recursos: los círculos representan procesos, los cuadrados recursos. Una arista desde un recurso a un proceso indica que el recurso ha sido asignado al proceso. Una arista desde un proceso a un recurso indica que el proceso ha solicitado el recurso, y está bloqueado esperándolo. Entonces, si hacemos el grafo con todos lo procesos y todos los recursos del sistema encontramos un ciclo, los procesos en el ciclo están bajo bloqueo mutuo.<br /> <br />Preasignación de recursos<br />     Cuando un proceso comienza determina los recursos que va a usar<br />     Cuando todos estén disponibles, comienza<br />     Utilizado en el sistema OS/360<br />     Inconvenientes:<br />   Es necesario conocer a priori los recursos que se van a emplear<br />   Puede que algún recurso solicitado no se emplee<br />   Se obtiene una baja utilización de los mismos<br /> <br />         Asignación con restricciones<br />     El usuario está obligado a establecer a priori qué recursos va a utilizar<br />     Al contrario que en el caso anterior, el proceso comienza su ejecución y se le van asignando recursos dinámicamente<br />     Antes de asignar los recursos se comprueba que el sistema permanece en un estado seguro<br />     ¿Qué es un estado seguro?<br /> <br />           <br /> <br />Detección y recuperación<br />Cuando se utiliza esta técnica, el sistema no hace nada salvo monitorear las requisiciones y devoluciones de recursos. Cada vez que se solicita o se devuelve un recurso, la gráfica de recursos se actualiza y se hace una verificación para observar si existe algún ciclo. Si existe uno, se elimina uno de los procesos contenidos en el ciclo. Si esto no deshace el estancamiento, se elimina otro proceso y así sucesivamente hasta que se rompa el ciclo.<br />La detección y recuperación es la estrategia que a menudo se usa en las macrocomputadora, sobre todo los sistemas por lotes en los que terminar y luego reiniciar un proceso suele ser aceptable.<br /> Si un sistema no emplea una prevención de los abrazos mortales puede ocurrir un abrazo.<br /> Entonces el sistema debe proporcionar:      - un algoritmo para examinar cada estado del sistema.      - un algoritmo para recuperarse de los abrazos.<br />Un algoritmo de detección y recuperación necesita mantener cierta información además que existen ciertas perdidas cuando nos recuperamos de un abrazo (tiempo que los procesos no se ejecutan, etc.).<br /> <br />Prevención<br />Los libros de texto te dirán que si siempre bloqueas en el mismo orden, nunca obtendrás esta clase de deadlock. La práctica te dirá que este tipo de aproximación no escala bien: cuando creo un nuevo bloqueo, no entiendo suficientemente el núcleo para imaginarme dónde está él en la jerarquía de los 5000 bloqueos.<br />Los mejores bloqueos están encapsulados; nunca estarán expuestos en las cabeceras, y nunca se mantendrán a través de llamadas a funciones no triviales fuera del mismo archivo. Puedes leer a través de este código y ver que nunca hará deadlock, porque nunca intenta tener otro bloqueo mientras tiene el uso. La gente usando tu código no necesita saber nunca que estás usando un bloqueo.<br />Un problema clásico aquí es cuando suministras retrollamadas o trampas: si las llamas con el bloqueo mantenido, arriesgas un deadlock simple, o un abrazo mortal (¿quién sabe lo que hará la llamada?). Recuerda, los otros programadores andan detrás de ti, por lo tanto no hagas esto<br />Se ha llegado a la conclusión de que si falta una de las cuatro condiciones necesarias, es imposible que ocurra un bloqueo. Havender (HV68) sugirió las siguientes estrategias para evitar varias de estas condiciones:<br />1.      Cada proceso deberá pedir todos sus recursos requeridos de una sola vez y no podrá proceder hasta que le hayan sido asignados.<br />2.      Si a un proceso que mantiene ciertos recursos se le niega una nueva petición, este proceso deberá liberar sus recursos originales y, en caso necesario, pedirlos de nuevo junto con los recursos adicionales.<br />3.      Se impondrá la ordenación lineal de los tipos de recursos en todos los procesos, es decir, si a un proceso le han sido asignados recursos de un tipo dado, en lo sucesivo sólo podrá pedir aquellos recursos de los tipos que siguen en el ordenamiento.<br /> <br />Exclusión mutua<br />Si nunca se asignara un recurso exclusivamente a un solo proceso, nunca tendríamos estancamiento. No obstante, que al permitir que dos procesos se ejecuten se llegaría al caos. Por lo tanto es una condición que no queremos romper.1.- Retener y esperar: La primera estrategia requiere que todos los recursos que va a necesitar un proceso sean pedidos de una sola vez. El sistema deberá asignarlos según el principio de quot; todo o nadaquot; . Con esto, se niega la condición de quot; espera porquot; y el bloqueo, no puede producirse. <br />Esta estrategia puede llevar a un serio desperdicio de recursos, así como a provocar postergación indefinida. ya que quizá no todos los recursos requeridos estén disponibles al mismo tiempo.<br />Un enfoque de uso frecuente entre los implementadores de sistemas para obtener una mejor utilización de recursos en estas circunstancias, es dividir un programa en varios pasos que se ejecuten con una relativa independencia uno del otro. Entonces, la asignación de recursos puede ser controlada por pasos, en lugar de establecer un control del proceso total. Esto puede reducir el desperdicio, pero implica gran sobrecarga en el diseño de sistemas de aplicaciones, así como en su ejecución.<br />Para ejemplificar la diferencia entre estos dos enfoques, considere un proceso que copia un archivo de una unidad de cinta (1) a una unidad de disco, ordena el archivo en disco, después imprime los resultados a una impresora en línea y finalmente copia el archivo de disco a la unidad de cinta (2). Si todos los recursos deben ser solicitados al inicio del proceso, entonces el proceso debe iniciar solicitando la unidad de cinta (1), la unidad de disco, la impresora en línea y la unidad de cinta (2). Este proceso mantendrá las unidades de cinta (1) y (2) durante la ejecución completa aunque solo las utilice al principio y al final de su ejecución respectivamente.<br />El segundo método permite al proceso el solicitar inicialmente solo la unidad de cinta (1) y la unidad de disco. Así puede copiar el archivo de la unidad de cinta (1) a la unidad de disco y ordenarlo, posteriormente debe liberar la unidad de cinta (1) y la unidad de disco. El proceso debe de volver a solicitar la unidad de disco y la impresora en línea para hacer la impresión. Después de imprimir debe de liberar la unidad de disco y la impresora. Ahora debe de volver a solicitar la unidad de disco y la unidad de cinta (2) para copiar el archivo a cinta, debe liberar ambos recursos y terminar.<br />2.- No existe el derecho de desasignar: La tercera condición necesaria es que no debe de existir el derecho de desasignar recursos que han sido previamente asignados. Con el fin de asegurar que esta condición no se cumpla, se puede usar la siguiente estrategia. Si un proceso que está reteniendo algunos recursos solicita otro recurso que no puede ser asignado inmediatamente (esto es, que el proceso tenga que esperar), entonces todos los recursos que tiene este proceso en espera son desasignados. Esto es, los recursos son liberados implícitamente. Los recursos liberados son agregados a la lista de los recursos por los cuales está esperando el proceso. El proceso solo puede volver a ser reinicializado cuando haya obtenido otra vez todos los recursos que tenían asignados así como el nuevo recurso que estaba solicitando.<br />Alternativamente si un proceso solicita algunos recursos, primero verificamos si estos están disponibles. Si es así, entonces se le asignan. De otro modo, se verifica si están asignados a alguno de los procesos que están en espera de recursos adicionales. Si es así, los recursos deseados son desasignados del proceso en espera y asignados al proceso solicitante. De otra manera (no están disponibles, ni asignados a procesos en espera) el proceso que hace la solicitud debe esperar. Pero, mientras está esperando, algunos de sus recursos pueden ser desasignados solamente si estos son solicitados. Un proceso puede ser reinicializado cuando se le asigna el recurso que había solicitado y recupera cualquier recurso que haya sido desasignado mientras esperaba.<br />Esta estrategia es utilizada usualmente sobre recursos cuyo estado puede ser fácilmente salvado y restablecido posteriormente, ejemplo de ellos son los registros del CPU y el espacio en la memoria. Este no puede ser aplicado a recursos tales como impresoras.<br />3.- Espera circular: Con el fin de asegurarse de que la condición de espera circular nunca se presente, se puede imponer un ordenamiento total sobre todos los tipos de recursos. Esto es, asignamos a cada tipo de recurso un número entero único, el cual permita comparar dos recursos y determinar cuando uno precede al otro en el ordenamiento.<br />1        Los recursos deben ser pedidos en orden ascendente por número de recurso. Los números de recurso son asignados por la instalación y quot; hay que vivir con ellosquot; durante largos periodos. <br />2        Cuando se asignan los números de recurso deben reflejar el ordenamiento normal en el cual la mayoría de los trabajos van a utilizar esos recursos. Para los trabajos que se acoplen a este ordenamiento puede esperarse una operación eficiente. Pero para los que requieran de los recursos en un orden diferente al supuesto en la instalación, los recursos deberán ser adquiridos y mantenidos mucho antes de su utilización. <br />3        El ordenamiento lineal elimina de forma efectiva la posibilidad de espera circular, no obstante, crea un efecto contaminante sobre la capacidad del usuario para escribir códigos de aplicaciones de una forma fácil y libre.<br /> <br />Formas de Evitar un Abrazo Mortal<br />1        Tener recursos compartidos<br />2        Poder quitarle un recurso a un flujo<br />3        Poder conseguir todos los recursos que necesita en forma atómica.<br />4        Ordenar las peticiones de recursos (tener que conseguirlos en el mismo orden.<br />Para evitar DEADLOCKS, en los casos en que se deba coexistir con las 4 condiciones necesarias, de debe conocer de qué manera los procesos requerirán sus recursos.<br />El modelo más sencillo es conocer de antemano la cantidad máxima de cada tipo de recurso a necesitar. Conocido esto es posible construir un algoritmo que permita que nunca se entre en quot; estado de deadlockquot; . Consisten examinar periódicamente el número de recursos disponibles y asignados para evitar una quot; espera circularquot; .<br />Un estado quot; seguroquot; (SAFE) es cuando se pueden asignar recursos a cada proceso en algún orden y evitar el deadlock.<br />Formalmente: Un sistema está en estado quot; seguroquot; si existe una quot; secuencia segura de procesosquot; . Una secuencia <p(1),p(2), ...,p(n)> es segura si por cada p(i) los recursos que necesitará pueden ser satisfechos por los recursos disponibles más todos los recursos retenidos por todos los p(j) tal que j < i. En este caso p(i) puede esperar que todos los p(j) terminen, obtener todos sus recursos y luego que los libera, el p(i+1) a su vez, puede obtener todos los recursos necesarios. Si esta secuencia no existe el sistema está en estado inseguro quot; UNSAFE.<br /> <br />Conclusiones<br /> <br /> <br />El bloqueo ò abrazo mortal no más que el bloqueo de un conjunto de procesos que compiten por recursos en un sistema.<br /> <br />Según Dolonnis Cachutt El abrazo mortal es un conjunto de procesos en un estado de espera tal que ninguno de ellos tiene suficientes criterios para continuar su ejecución.<br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br />Sugerencias.<br /> <br />Siempre hay que estar preparado para emitir nuevamente un proceso que haya fallado por un deadlock. Los deadlocks no revisten peligro, simplemente hay que intentar de nuevo.<br />  <br />Confirmar los procesos frecuentemente. Los procesos pequeños son menos propensos a originar conflictos.<br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br />Bibliografía<br /> <br /> <br /> <br />      IIC 2332 -- Sistemas Operativos  Apuntes 07<br />      1er Semestre abril 2 1996 ultima edición por knabe@ing.puc.cl<br />             http://www.cs.virginia.edu/~knabe/iic2332/notes07.html<br /> <br />             Rene Gado  28/03/2007 a las 19:16<br />http://www.atinachile.cl/content/view/29386/Nuevo-lenguaje-Colapsar-bloquear-deadlock-livelock-cecilia-bolocco-y-el-perro-del- hortelano.html#content-top  <br /> <br />      Dolonnis Cachutt 02/06/2009<br />           http://www.monografias.com/trabajos34/abrazo-mortal/abrazo-mortal.shtml<br /> <br /> <br /> <br /> <br /> <br /> <br /> Encabezado<br /> <br /> <br />Examèn<br /> <br />1-     Un Bloqueo es:<br />a)     Cuando todos los procesos en ese conjunto están esperando un evento.<br />b)    Cuando un objeto se atraviesa en el medio.<br />c)     Cuando la PC no puede pensar.<br />d)    Cuando interviene un proceso.<br />e)     Cuando tenemos la mente bloqueada y no sabemos que hacer.<br /> <br />2-     Nuevo Lenguaje<br />a)     Golpiar<br />b)    Bloquear,<br />c)     Impedir<br />d)    Desbloquiar<br />e)     Interbloqueo<br /> <br />3-     Cuando una PC deja de funcionar es porque:<br />a)     Es porque hubo un deadlock o abrazo mortal de procesos en busca de recursos.<br />b)    Es porque se bloquea el disco duro.<br />c)    Es porque no sabe que hacer.<br />d)    Es porque se daña CPU.<br />e)     Es porque la memoria no funciona<br /> <br />4-     Es una característica del Bloqueo.<br />a)     Los recursos son compartibles y permiten acceso a muchos procesos.<br />b)    Los recursos no se comparten.<br />c)     Exclusión Mutua.<br />d)    Los Procesos requieren de mas recursos.<br />e)    Prevecion .<br /> <br />5-     Es un objetivo del bloqueo:<br />a)     Descripción del problema que le impide a un conjunto de procesos completar sus misiones.<br />b)    Presentar varios métodos para que ocurra un deadlocks en sistemas computacionales.<br />c)     Retener y Esperar.<br />d)    Dejar que se complete el deadlocks.<br />e)     Esperar con paciencia.<br /> <br />6-     En el Deadlocks:<br />a)     Los procesos solo son ejecutados al inicio del Proceso.<br />b)    Los procesos no son ejecutados constantemente desde que se inician hasta que son   finalizados.<br />c)     Los procesos solo son ejecutados al finalizar el proceso.<br />d)    Los procesos nunca se ejecutan.<br />e)     Los procesos solo se leen y no se ejecutan.<br /> <br />7- Debe haber un proceso que retenga por lo menos un recurso y espere adquirir más recursos retenidos por otros en:<br />a) Exclusión Mutua.<br />b) No apropiación.<br />c) Espera circular.<br />d) Grafo.<br />e) Tener recursos compartidos.<br /> <br />8- Bloqueo permanente de un conjunto de procesos que compiten por los recursos del sistema o bien se comunican unos con otros.<br />a)      Deadlocks.<br />b)    Bloqueo.<br />c)     Interbloqueo.<br />d)      Livelock.<br />e)     Colapsar.<br /> <br />9- Es Un elemento que un programa o proceso puede utilizar en la computadora donde se está ejecutando.<br />a) Recurso.<br />b) Impresora.<br />c) Modelo.<br />d) Bloqueo.<br />e) Disco.<br /> <br />10- Inconvenientes de Recursos:<br />      a) Es necesario conocer a priori los recursos que se van a emplear.<br />      b) Puede que algún recurso solicitado no se use.<br />      c) Se obtiene una baja utilización de los mismos.<br />          d) Se presentan los recursos.<br />          e)  Se daña la computadoras.<br /> <br /> <br /> Video<br /> <br /> <br />