Ejercicios de Interbloqueos

4
INSTITUTO UNIVERSITARIO TECNOLOGICO “ANTONIO JOSE DE SUCRE” EXTENSIÓN BARQUISIMETO DEPARTAMENTO DE INFORMATICA AUTOR: José Rebolledo C.I 14.443.549 BARQUISIMETO JULIO DEL 2013.

Transcript of Ejercicios de Interbloqueos

Page 1: Ejercicios de Interbloqueos

INSTITUTO UNIVERSITARIO TECNOLOGICO “ANTONIO JOSE DE SUCRE” EXTENSIÓN BARQUISIMETO

DEPARTAMENTO DE INFORMATICA

AUTOR:

José Rebolledo

C.I 14.443.549

BARQUISIMETO JULIO DEL 2013.

Page 2: Ejercicios de Interbloqueos

1)

La respuesta es: Para P1 = 5. Para P2 = 6. Para P3 = 8. Las formulas usadas fueron: Tomando ejemplo de P2 Para saber que necesitaba P2 sumamos la cantidad de Asignados + lo faltante, es decir 4 + 2 = 6. Esto según fuentes que explican que cuando no hay suficientes recursos para el proceso Pi, debe esperar hasta que algún proceso Pj termine su ejecución y libere sus recursos. Recién entonces podrá Pi tomar los recursos necesarios, utilizarlos y terminar su ejecución. Al suceder esto, el proceso se incrementa Pi+1 puede tomar los recursos que necesite, y así sucesivamente. 2) Suponiendo que en un sistema operativo tengamos 3 procesos abiertos ejecutándose a la vez y pidiendo recursos (como Tiempo de ejecución) al sistema tales como: P1 P2 y P3 en el cual poseen un tiempo de llegada, es decir cuando se iniciaron. *Inanición sin interbloqueo:

Tiempo de Inicio del Proceso

Inicio a las 9:50 am P1

Inicio a las 9:30 am P2

Inicio a las 10:00 am P3

Aplicamos la política de FIFO para solventar el problema, como ya se conoce, FIFO seleccionara el proceso que ha llegado primero, por lo tanto será el primero en ser atendido y así continuamente hasta finalizar el caso. Citando lo que dice el libro de tanenbaum: “En el transcurso del tiempo cualquiera de los procesos dados:

Sera el más antiguo.

Obtendrá el recurso necesario.” En este caso los procesos serán atendidos según la política FIFO, lo cual será en el siguiente orden P2, P1, P3, de esta forma se resuelve una inanición sin interbloqueos. *Inanición con Interbloqueo: Si usamos el mismo ejemplo anterior estas ves tomando en cuenta que cada proceso P1, P2 y P3 requieran recursos diferentes ejemplo:

Procesos Asignados Necesidad Máxima

P1 1 4

P2 4 6

P3 5 8

Page 3: Ejercicios de Interbloqueos

Procesos Recurso que posee Recurso que necesita

P1 Memoria Entrada a la sección Critica

P2 Tiempo de Ejecución Mas memoria

P3 Está en la sección Critica Tiempo de Ejecución

NOTA: Esto es solo una suposición, la sección crítica es una parte de código del sistema en la cual solo puede ingresar 1 SOLO proceso a la vez por lo tanto lo usamos como recurso en este ejemplo. Lo explicamos en el trabajo de Comunicación y Sincronización de Procesos. Además de esto anexamos que los tres procesos requieran el recurso de manera urgente, debido a que son procesos importantes para el sistema, en este caso la situación cambiaria y ocurriría una inanición con Interbloqueo. Generalmente esto da inicio a un bucle infinito. En pocas palabras P2 Necesita algo de P1 y P1 Necesita algo de P3 y P3 Necesita algo de P2… de esta forma se podría visualizar un gráfico tipo “Anillo o circular” también visto como un bucle infinito. 3) Primero identificaremos: E=Recursos Disponibles E= 534 (R1 = 5 // R2 = 3 // R3 = 4) P=Posee S=Solicita Calcule G y su representación gráfica.

P1 P4 P2 P3

R1 R2 R3

S: 3 R3

P = 5 P = 3 P = 4

S: 2 R1 S: 4 R2 S: 1 R1

Bloqueado P3, ya que R2 no tiene

recursos suficientes

Page 4: Ejercicios de Interbloqueos

En conclusión P3 queda bloqueado esperando asignación de recursos. 4) Si tenemos 2 recursos R1 y R2 cada uno con 3 unidades y que se estén ejecutando procesos en el sistema cada uno de ellos con una necesidad de 1 unidad de cada recurso, lo lógico es que el sistema tenga un máximo de 3 procesos, que serían P1, P2 y P3, debido a que cada proceso exige una unidad de cada recurso. Así que en conclusión el número máximo que puede tener este sistema es 3.