Sol-ejer2-1-otros-aspectos
De Wiki de Sistemas Operativos
Revisión del 19:14 29 ene 2012 de Alfalclop (discusión | contribuciones) (→SJF Apropiativo con multiprocesamiento: Fin Pa)
SJF Apropiativo con multiprocesamiento
Para este caso disponemos de 2 Procesadores, y supondremos que el planificador se ejecuta en uno de ellos
____|_PA_|_PB_|_PC_| Datos del _H0_|_0__|_1__|_2__| problema _t__|_3__|_5__|_6__| PA bloquea cada 1 u.t. PB bloquea cada 3 u.t. tiempos de bloqueo=2 u.t. (tanto para PA y PB). < = indica el instante de lanzamiento del proceso > = indica el instante de finalización del proceso X = se ejecuta el código del planificador B = el proceso pasa a estado bloqueado P = el proceso pasa a estado preparado +++ = procesador 1 --- = procesador 2 | | | | | | | | | | | | | Pa <+++B | P---B | P---B | > | | | Pb | <+++|+++|+++B | P+++|+++> | | | | Pc | | <---P |---|---P |---|---|---> | | Planificador X X X X X | X X | | | | | |___|___|___|___|___|___|___|___|___|___|___|___|___> t 0 1 2 3 4 5 6 7 8 9 10 11 12 _____|_PA_|_PB_|_PC_| Cálculos __t__|_3__|_5__|_6__| de tiempos __T__|_7__|_7__|_8__| _T/t_|_2.3|_1.4|_1.3| | |_> Indice de penalización
Explicación:
- En el instante de tiempo 3, el proceso Pa pasa a estado preparado y su tiempo de ejecución es menor al del proceso Pc. Por tanto, se apropia del procesador 2. Recuerde que siempre que sea posible el proceso que pasa a estado activo debe hacerlo en el último procesador que empleó para evitar el coste asociado a la migración. En caso de no ser posible, se migra al procesador disponible. El proceso B se deja en el procesador 2 para evitar el coste asociado a la migración pues no se considera posible migrar un proceso en estado activo.
- En el instante de tiempo 6, el proceso Pa y Pb, que son más cortos que el proceso Pc, se apropian de los procesadores. Puesto que en asignación dinámica, siempre que sea posible se mantiene al proceso en el procesador en el que se ejecutó anteriormente, nuestro proceso Pa pasa al procesador 2, y el proceso Pb pasa al procesador 1 (pues estos son los procesadores en los que se ejecutaron anteriormente).
Revisado. --Pneira 18:27 23 nov 2011 (UTC)