Diferencia entre revisiones de «Sol-ejer2-1-otros-aspectos»
De Wiki de Sistemas Operativos
(→SJF Apropiativo con multiprocesamiento: Observaciones) |
(→SJF Apropiativo con multiprocesamiento. Error en explicación, cambio a 'proceso B se deja en el procesador 1') |
||
(No se muestran 14 ediciones intermedias de 6 usuarios) | |||
Línea 2: | Línea 2: | ||
Para este caso disponemos de 2 Procesadores, y supondremos que el planificador se ejecuta en uno de ellos | Para este caso disponemos de 2 Procesadores, y supondremos que el planificador se ejecuta en uno de ellos | ||
− | ____|_P<sub>A</sub>_|_P<sub>B</sub>_|_P<sub>C</sub>_| P<sub>A</sub> bloquea cada 1 u.t. | + | ____|_P<sub>A</sub>_|_P<sub>B</sub>_|_P<sub>C</sub>_| |
− | + | Datos del _H0_|_0__|_1__|_2__| | |
− | + | problema _t__|_3__|_5__|_6__| | |
+ | |||
+ | P<sub>A</sub> bloquea cada 1 u.t. | ||
+ | P<sub>B</sub> bloquea cada 3 u.t. | ||
+ | tiempos de bloqueo=2 u.t. (tanto para P<sub>A</sub> y P<sub>B</sub>). | ||
< = indica el instante de lanzamiento del proceso | < = indica el instante de lanzamiento del proceso | ||
> = indica el instante de finalización del proceso | > = indica el instante de finalización del proceso | ||
X = se ejecuta el código del planificador | 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 1 | ||
--- = procesador 2 | --- = procesador 2 | ||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ||
− | Pa <+++ | + | Pa <+++B | P---B | P---B | > | | | |
− | Pb | <+++|+++| | + | Pb | <+++|+++|+++B | P+++|+++> | | | | |
− | Pc | | <--- | + | Pc | | <---P |---|---P |---|---|---> | | |
Planificador X X X X X | X X | | | | | | Planificador X X X X X | X X | | | | | | ||
|___|___|___|___|___|___|___|___|___|___|___|___|___> t | |___|___|___|___|___|___|___|___|___|___|___|___|___> t | ||
0 1 2 3 4 5 6 7 8 9 10 11 12 | 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 1 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. --[[Usuario:Pneira|Pneira]] 18:27 23 nov 2011 (UTC) |
Revisión actual del 20:59 4 nov 2015
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 1 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)