Sol-ejer2-planif-procesos
Contenido
Turno rotatorio estricto
____|_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__|
Notése que el proceso A no llega a emplear el quantum que tiene asignado, en ese caso, como indica la teoría, se le retira el procesador y el planificador selecciona a otro proceso. Dejar el procesador sin proceso asignado, es decir, ocioso, va contra la lógica del máximo aprovechamiento del procesador. Por ello, he retirado una solución incorrecta que aparecía en esta sección. --Pneira 21:15 21 mar 2011 (UTC)
Tengo una duda en este ejercicio, en la unidad de tiempo 6 cuando el planificador activa el proceso Pb, porque motivo solo le asigna una unidad de tiempo?, podria asignarle 2 no? teniendo en cuenta que el quantum = 2. Ademas el proceso B bloquea cada 3 unidades de tiempo, no entiendo porque solo le asigna una unidad y luego activa en la unidad de tiempo 7 el proceso C. LFE (Luis Fernandez Esteban)
Pues yo diría que es porque se bloquea cada 3, al igual que el A se bloquea a cada unidad. Ya llevaba 1, y con esa actividad, +2 --PCamino
Gracias, tienes razon ya lo entendi. LFE (Luis Fernandez Esteban)
Por prioridades
Suponiendo que la prioridad de los procesos es la siguiente: A<B<C
____|_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 | | | | | ____|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__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__|_15_|_13_|_6_| _T/t_|__5_|_2.6|_1__|
Alguien me puede explicar ¿por que de 14 a 15 no se procesa nada? AnaBarros
Creo que eso esta mal...y he visto mas fallos por ahi o eso me parece... :S Luis Fernandez Esteban
Sí lo creo como el C solo debia de empenzar en el 3 pero empienza antes. Ana Barros
Del 14 al 15 no se procesa nada porque sólo quedan los procesos A y B, pero en esa unidad de tiempo ambos están bloqueados (los bloqueos de A y B duran 2 uds. de tiempo)
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?
Creo que no, porque ya en el instante 1 hay dos procesos en el planificador, por lo que el quantum ya se reduce.
Cierto, además creo que aunque A no se bloquease, se le seguiría asignando 1 unidad de tiempo en t=1 al proceso B: Entraría el planificador, reduciría el quantum, y al no haber compensación, A pasaría de nuevo al final de la cola del turno rotatorio, dejando el procesador a B, ¿no?
- Duda: En el instante 9 no debería entrar el proceso Pb en vez de seguir el Pc??
Lo dudo, porque el bloqueo de B dura 2 unidades, así que C tiene carta libre.--PCamino
- Duda: ¿Por que el proceso C se ejecuta en el instante 11 habiendo sido bloqueado en el 10?,se supone que todos los procesos tienen un tiempo de bloqueo de 2 unidades
El proceso C no se bloquea nunca (o al menos en el enunciado no lo pone), por eso se ejecuta cada vez que puede. Me refiero a bloqueo por E/S, claro.