Sol-ejer2-planif-procesos
De Wiki de Sistemas Operativos
Turno rotatorio
____|_PA_|_PB_|_PC_| Datos del _H0_|_0__|_1__|_2__| problema _t__|_3__|_5__|_6__| PA bloquea por E/S cada 1 unidad de tiempo PB bloquea por E/S cada 3 unidades de tiempo < = 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 | | < |---|---| | |---|---| | | |---|---> | | | | | Planificador X X | X | X X X | X X | X | X | | | | | ____|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__> t 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 _____|_PA_|_PB_|_PC_| Cálculos __t__|_3__|_5__|_6__| de tiempos __T__|_10_|_11_|_12_| _T/t_|3.3_|2.2_|_2__|
Sigue estando mal, el quantum no se reduce a 1 en el proceso A, el quantum se debe respetar siempre(en el articulo de la wiki sobre turno rotatorio lo explican).
Pd: No pises las otras soluciones propuestas, pon la tuya debajo para que todos podamos discutirlo.
< = indica el instante de lanzamiento del proceso > = indica el instante de finalización del proceso X = se ejecuta el código del planificador / = Tiempo del quantum desaprovechado bien por bloqueo de E/S o por finalización del proceso.
| | | | | | | | | | | | | | | | | | | | PA <---|///| | | | |---|///| | | | |---|///> | | | | | PB | | |---|---| | | | |---|---| | | | |---|///> | | | PC | | < | |---|---| | | | |---|---| | | | |---|---> | Planificador X X | X | X X X | X X | X | X | | | | | ____|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__> t 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Turno rotatorio proporcional al número de procesos
____|_PA _|_PB_|_PC _| Datos del _H0_|_0__|_1__|_2__| problema _t__|_3__|_5__|_6__| < = 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 | | <---| | |---| | |---|---| |---| |---> | | | | | | Planificador X X X X X X X X X | X X X X | | | | | | | -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---> t 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 _____|_PA_|_PB_|_PC_| Cálculos __t__|_3__|_5__|_6__| de tiempos __T__|_7__|_12_|_12_| _T/t_|2.3_|2.4_|_2__|
=
Observaciones
=
- Al no existir en el instante de tiempo 0 problemas de concurrencia de procesos, ¿no debería el proceso A tener derecho a sus dos unidades de tiempo de quantum, aunque este solo utilice una unidad de tiempo debido al bloqueo por E/S?. Esto dejaría al procesador con dos procesos en estado preparado (B y C) en el instante de tiempo 2, donde ya se reduciría el quantum a 1 debido a la existencia de 2 o más procesos en estado preparado. ¿Cómo lo veis?