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 | | | < | | | |---|---| | | | | | |---|---|---|---| | | | |---|---|---|---| | |---|---> |