2. 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
3. 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 P4P2 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
4. 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.