Sol-ejer3-planif-procesos
Ejercicio 3
Datos del problema:
| Pa | Pb | Pc | Pd |
--------------------------
H0 | 0 | 1 | 2 | 3 |
--------------------------
t | 4 | 4 | 12 | 12 |
--------------------------
Pa y Pb bloquean por operación de E/S tras 1 unidad de ejecución
< = indica el instante de lanzamiento del proceso
> = indica el instante de finalización del proceso
X = se ejecuta el código del planificador
| | | | | | | | | | | | | | | | | | | | |
Pa <---| | | | | |---| | | | | | | | | |---| |---| |
Pb | <---| | | | | |---| | | | | | | | | |---| |---|
Pc | | <---|---| | | | |---|---|---|---| | | | | | | | |
Pd | | | < |---|---| | | | | | |---|---|---|---| | | | |
Plnf X X X | X | X X X | | | X | | | X | | | X
|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
... continuación ...
| | | | | | | | | | | | |
Pa | | | | | | | | | | | | |
Pb | | | | | | | | | | | | |
Pc |---|---|---|---| | | | |---|---| | |
Pd | | | | |---|---|---|---| | |---|---|
Plnf | | | | X | | | X | X | |
|___|___|___|___|___|___|___|___|___|___|___|___|
20 21 22 23 24 25 26 27 28 29 30 31 32
Cálculo de índices:
| Pa | Pb | Pc | Pd |
--------------------------
t | 4 | 4 | 12 | 12 |
--------------------------
T | 19 | 20 | 30 | 32 |
--------------------------
T/t |4.75| 5 | 2.5 |2.66|
--------------------------
Explicación:
Todos los procesos empiezan inicialmente en la segunda cola. Pa y Pb reciben una oportunidad de ejecución sin consumir su quantum debido a bloqueo, por tanto, permanecen en la segunda cola. Pc y Pd consumen todo su quantum, por tanto, promocionan a la primera cola. Los procesos Pa y Pb se ejecutan otra vez, pues los procesos que se encuentran en la segunda cola reciben dos oportunidades de ejecución. Tras esto, los procesos recién ascendidos a la primera cola, que son Pc y Pd, reciben su oportunidad de ejecución, en este caso con quantum de 4 unidades. De nuevo, se le da oportunidad de ejecución a los procesos de la segunda cola, que terminan su ejecución. Como no hay más procesos en la segunda cola, se le da una oportunidad de ejecución a los de la primera. --Pneira 18:36 22 mar 2011 (UTC)
¿Posible solución?
Supuestamente al inicio(t=0) en la 2ª cola solo hay un proceso(A), por lo tanto la 1ª iteracion solo ejecuta el proceso A, el la 2ª iteracion (t=1) estan los procesos [B,A]. Ahora se ejecutaria la 1ª cola, pero como estavacia pasa a 2 nuevas iteraciones de la 2ª cola: la primera iteración:[B,A,C,D], como C y D consumen el quantum pasan a la 1ª cola, y la 2ª iteracion se ejecutan los procesos [B,A], aora se ejecuta la 1ª cola completa(C y D),y cuando este vacia se vueleve a ejecutar la 2ª cola(que solo queda B) hasta terminar. ¿Cómo lo veis?
PA <---| |---| |---| | | | | |---> | | | | | | | | | | | | | | | | |---| | | | PB | <---| |---| | | | | |---| | | | | | | | | | | | | | | | | | | | | |---> PC | | < | | |---|---| | | | |---|---|---|---| | | | |---|---|---|---| | | | |---|---> | | | PD | | | < | | | |---|---| | | | | | |---|---|---|---| | | | |---|---|---|---| | |---|---> |