Guia Deadlock 2011 Resuelta

Embed Size (px)

Citation preview

  • 7/26/2019 Guia Deadlock 2011 Resuelta

    1/8

    Ejercicios bsicos 2011 Revisin 4 Sistemas Operativos UTN - FRBA

    Ejercicios de Deadlock

    1 - Dadas las siguientes matrices:

    R1 R2 R3 R4 R1 R2 R3 R4

    P1 3 2 2 2 P1 2 1 2 1

    P2 3 4 1 1 P2 3 0 0 1

    P3 9 5 3 5 P3 1 0 0 1

    P4 3 4 1 3 P4 2 3 0 1Peticiones

    mximas

    Recursos

    asignados

    R1 R2 R3 R4 R1 R2 R3 R4

    9 5 3 5 1 1 1 1Recursos

    totales

    Recursos

    disponibles

    a Determine si el estado actual del sistema es seguro! "usti#i$ue!

    b %uponiendo $ue& ba'o el estado actual& ingresa P5 cu(as peticiones mximas son iguales a los

    recursos totales del sistema! )*s este nue+o estado seguro, "usti#i$ue!

    2 - %e encuentran procesos compartiendo distintos recursos& de los cuales existe una sola

    instancia de cada uno& e'ecutando el siguiente c.digo:

    while(true){

    t_buffer rec_id[3] = get_recursos(); // devuelve aleatoriamentetres IDs de recursos

    syscall_edir(rec_id[!]); // "lo#uea$te si el recurso $o se e$cue$tra diso$ible%

    syscall_edir(rec_id[&]);

    syscall_edir(rec_id[']);

    usar_recursos(rec_id);

    syscall_devolver(rec_id[!]);

    syscall_devolver(rec_id[&]);

    syscall_devolver(rec_id[']);

    a Demueste $ue dic/os procesos podran $uedar en deadloc!

    b Proponga una soluci.n para e+itar el deadloc& usando sem#oros!

    c Proponga una soluci.n para e+itar el deadloc& sin usar soporte alguno del sistema operati+o

    ni tampoco /acerle modi#icaciones al mismo!

  • 7/26/2019 Guia Deadlock 2011 Resuelta

    2/8

    Ejercicios bsicos 2011 Revisin 4 Sistemas Operativos UTN - FRBA

    3 - %uponga $ue se tiene un sistema $ue tiene como estrategia para tratar el deadloc la e+asi.n

    mediante el algoritmo del ban$uero! %iendo el estado de los recursos el siguiente:

    R1 R2 R3 R4 R1 R2 R3 R4

    P1 3 2 0 2 P1 2 1 0 1P2 3 4 1 1 P2 3 0 0 1

    P3 9 5 1 5 P3 1 0 1 1

    P4 3 4 1 3 P4 2 3 0 1Peticiones

    mximas

    Recursos

    asignados

    R1 R2 R3 R4 R1 R2 R3 R4

    10 5 2 5 2 1 1 1Recursos

    totales

    Recursos

    disponibles

    a ndi$ue cual de los siguientes pedidos seran satis#ec/os inmediatamente& suponiendo $ue

    cada uno se e#ectuara sobre el estado presentado inicialmente:

    - P3: una instancia de R1

    - P4: una instancia de R3

    - P3: una instancia de R1 ( dos instancias de R4

    b )u debe /acer el sistema operati+o con los procesos cu(os pedidos no pueden ser

    satis#ec/os,

    4- Dadas las siguientes matrices& determine si existe deadloc& ( en caso a#irmati+o indi$ue $u

    procesos estn in+olucrados!

    R1 R2 R3 R4 R1 R2 R3 R4

    P1 1 1 1 1 P1 1 1 0 0

    P2 2 0 0 2 P2 0 0 0 0

    P3 1 1 0 0 P3 1 1 0 0

    P4 0 0 0 2 P4 0 0 1 0

    Peticionesactuales

    Recursosasignados

    R1 R2 R3 R4 R1 R2 R3 R4

    2 2 1 2 0 0 0 2Recursos

    totales

    Recursos

    disponibles

  • 7/26/2019 Guia Deadlock 2011 Resuelta

    3/8

    Ejercicios bsicos 2011 Revisin 4 Sistemas Operativos UTN - FRBA

    5 - ndi$ue la o las me'ores estrategias contra la posible ocurrencia de deadloc para cada

    caso! "usti#i$ue cada decisi.n& (a sea por ser la me'or opci.n o por descarte de las otras!

    a %istema usado en un puesto administrati+o de una empresa& donde el operador usa

    planillas de clculo& imprime documentos ( na+ega por internet!b %istema computari6ado de +uelo de aerona+es $ue tiene un grado alto de o+er/ead

    debido a $ue el procesador no es mu( potente!

    c 7ase de datos transaccional usada en un sistema 8eb de redes sociales& con cientos de

    usuarios programando aplicaciones para dic/o sistema ( una alta carga de transacciones

    en /oras pico!

    d %er+idor de 'uegos online no gratuito con ba'a carga de usuarios& donde se desea no tener

    $ue de+ol+erle el dinero a los mismos a causa de un deadloc& pero al mismo tiempo se

    desea $ue los programadores de 'uegos para dic/o ser+idor tengan alta #lexibilidad en la

    solicitud de los recursos del sistema!

    - Dado el siguiente gr#ico de asignaci.n de recursos& determine si el sistema se encuentra endeadloc!

    P

    1

    P

    2

    P

    5

    P

    3

    P

    8

    P

    7

    P

    6

    P

    4

    R1R2

    R3

    R4

    R5

    R6

    R7

    R8

  • 7/26/2019 Guia Deadlock 2011 Resuelta

    4/8

    Ejercicios bsicos 2011 Revisin 4 Sistemas Operativos UTN - FRBA

    ; %uponga $ue siendo el administrador de un sistema #inanciero& lo llaman a las 3 a!m! para

    decirle $ue un con'unto de procesos lle+a e'ecutando demasiado tiempo muc/o ms $ue de

    costumbre& ( se sospec/a $ue los mismos se encuentran ante alg?n tipo de blo$ueo! @a persona

    $ue lo llam.& $ue traba'a para & le comenta $ue pronto debern empe6ar a

    e'ecutar otro con'unto de procesos ( cree $ue existe el riesgo $ue este segundo con'untocu(o resultado debe estar listo a primera /ora de la maBana se +ea a#ectado por este

    problema! *l dilogo contin?a de la siguiente manera:

    Csted: )*l con'unto usa los mismos recursos $ue el con'unto ,

    Aperador: = +er!!! no& mas all del ?nico procesador $ue tiene el sistema& usan distintos recursos!

    Csted: )*l resultado de la e'ecuci.n del con'unto tambin tiene $ue estar listo s o s para

    maBana,

    Aperador: o& por lo $ue +eo dic/o resultado se utili6ar recin la semana $ue +iene!

    Csted: ='!!& ) podras con#irmarme si es un deadloc o un li+eloc,

    Aperador: *steeee& de'ame +er!!! consulta a su carpeta de sistemas operati+os E al parecer es

    un FFFF!Csted: A& entonces no /a( nada para preocuparse& maBana lo arreglamos& me +o( a dormirG

    )Hual #u la respuesta #inal del Aperador,Justifique ampliamente.

  • 7/26/2019 Guia Deadlock 2011 Resuelta

    5/8

    1)

    a)

    N

    1 1 0 1 1 1 1 1

    0 4 1 0 - 1 1 0 1

    8 5 3 4 0 0 1 0

    1 1 1 2 + 3 2 2 2

    3 2 3 2

    - 1 1 1 2

    2 1 2 0

    + 3 4 1 3

    5 5 3 3

    - 0 4 1 0

    5 1 2 3

    + 3 4 1 1

    8 5 3 4

    - 8 5 3 4

    0 0 0 0

    + 9 5 3 5

    9 5 3 5

    Es seguro porque existe una secuencia en la cual pueden terminar todos los procesos.

    b) Si, porque hay recursos disponibles para procesarlo y luego se liberan.

    2)

    Si los procesos se ejecutan al mismo tiempo puede ser que un proceso A ejecute una llamada al sistema

    pidiendo el recurso R2 y se le asigne, luego el proceso B pide R1 y se le asigna, luego A pide R1 y se

    bloquea luego B pide R2 y se bloquea quedando as en deadlock.

    b)

    while(true){

    t_buffer rec_id[3] = get_recursos(); // devuelve aleatoriamente tres IDs de recursos

  • 7/26/2019 Guia Deadlock 2011 Resuelta

    6/8

    wait(mutex);

    syscall_pedir(rec_id[0]); // Bloqueante si el recurso no se encuentra disponible.

    syscall_pedir(rec_id[1]);

    syscall_pedir(rec_id[2]);

    usar_recursos(rec_id);

    syscall_devolver(rec_id[0]);

    syscall_devolver(rec_id[1]);

    syscall_devolver(rec_id[2]);

    signal(mutex);

    }

    c)

    Hacer un grafo para que se asigne los recursos solo si no se va a formar un ciclo..

    3)

    - P3: una instancia de R1

    m N

    3 2 0 2 1 1 0 1 1 1 1 1

    3 4 1 1 0 4 1 0 - 1 1 0 1

    9 5 1 5 7 5 0 4 0 0 1 0

    3 4 1 3 1 1 1 2 + 3 2 0 2

    3 2 1 2

    - 1 1 1 2

    2 1 0 0

    + 3 4 1 3

    5 5 1 3

    - 0 4 1 0

    5 1 0 3

    + 3 4 1 1

    8 5 1 4

    - 7 5 0 4

    1 0 1 0

    + 9 5 1 5

    10 5 2 5

  • 7/26/2019 Guia Deadlock 2011 Resuelta

    7/8

    - P4: una instancia de R3

    max N

    3 2 0 2 1 1 0 1 2 1 0 1

    3 4 1 1 0 4 1 0 - 1 1 0 1

    9 5 1 5 8 5 0 4 1 0 0 03 4 1 3 1 1 0 2 + 3 2 0 2

    4 2 0 2

    - 1 1 0 2

    3 1 0 0

    + 3 4 1 3

    6 5 1 3

    - 0 4 1 0

    6 1 0 3

    + 3 4 1 1

    9 5 1 4- 8 5 0 4

    1 0 1 0

    + 9 5 1 5

    10 5 2 5

    - P3: una instancia de R1 y dos instancias de R4

    No puede ser satisfecho porque no hay suficientes instancias de R4.

    b)

    Ponerlos en una cola de espera hasta que se les pueda asignar los recursos.

    4)max N

    2 2 1 1 1 1 1 1 0 0 0 2

    2 0 0 2 2 0 0 2 - 0 0 0 2

    2 2 0 0 1 1 0 0 0 0 0 0

    0 0 1 2 0 0 0 2 + 0 0 1 2

    0 0 1 2

    Queda en estado no seguro porque no se pueden completar todos los procesos por lo tanto hay que

    hacer si o si el grafo de asignacin de recursos.

    R1 P3R2

    P2

    P1

    P4

    R4

    R3

  • 7/26/2019 Guia Deadlock 2011 Resuelta

    8/8

    Como hay un bucle P1-R2-P3-R1 y el nmero de instancias no es suficiente se concluye que hay

    deadlock.

    5)

    a) Algoritmo del avestruz porque en un SO de propsito general es poco probable que haya un deadlock

    e implementar una estrategia de evasin hara bajar la performance del sistema.

    b)

    Seguramente que el sistema no es crtico para el funcionamiento del avin por lo cual se podra permitir

    que el sistema entre en deadlock pero tener una forma de detectarlo y recuperarse del mismo.

    c)

    Una base de datos ya maneja de por s el tema de la sincronizacin y tiene mecanismos como los niveles

    de aislamiento y timeouts para los bloqueos. No sera necesario un algoritmo de evasin de deadlock.

    d)

    En un servidor de juegos la performance suele ser crtica por lo cual no conviene tener un algoritmo de

    evasin de deadlock pero si se podra permitir que el sistema entre en deadlock teniendo una forma de

    detectarlo y recuperarse del mismo.

    6)Hay dos blucles pero eso no alcanza para decir que haya deadlock.

    P3 termina si o si porque necesita una sola instancia de R3 que est disponible, luego libera la instancia

    de R2 que tiene asignado y luego termina P2 y no hay ms bucles por lo tanto no hay deadlock.

    7)

    Deadlock porque si fuera livelock consumira tiempo de CPU y afectara a los procesos del conjunto B.