Diferencia entre revisiones de «Sol-ejer-planif-procesos-3»
De Wiki de Sistemas Operativos
(Propuesta de corrección y solución al apartado B) |
(revisión) |
||
Línea 1: | Línea 1: | ||
− | + | == Traza de los procesos == | |
− | + | === Proceso A === | |
− | |||
− | |||
1, 2, 3, 4, 3, 4, 3, 5 | 1, 2, 3, 4, 3, 4, 3, 5 | ||
| | | | | | | | | | | | ||
i=0 Bloquea i=1 Bloquea i=2 | i=0 Bloquea i=1 Bloquea i=2 | ||
− | + | ||
− | + | === Proceso B === | |
− | |||
− | |||
− | |||
1, 2, 3, 2, 3, 2, 4 | 1, 2, 3, 2, 3, 2, 4 | ||
| | | | | | | | | | ||
i=0 i=1 i=2 Bloquea | i=0 i=1 i=2 Bloquea | ||
− | + | ||
− | + | == Apartado 1 == | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ | B = El proceso realiza una llamada bloqueante. | ||
+ | + = El proceso se ejecuta en el procesador 1. | ||
+ | - = El proceso se ejecuta en el procesador 2. | ||
+ | < = Instante de llegada del proceso. | ||
+ | > = Instante de finalización del proceso. | ||
+ | * = El proceso es abortado. | ||
− | | | + | | | | | | | | | 1 | 2 | 3 | 4 | | | | 3 | 4 | | | |
− | Pa < | + | Pa < | | | | | | |---|---|---|---B | | P---|---* |
| | | | | | | | | |i=0| | | | |i=1| | | | | | | | | | | | | | |i=0| | | | |i=1| | | | | ||
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ||
− | + | | 1 | 2 | 3 | 2 | 3 | 2 | 4 | | | | | | | | | | | | | |
− | Pb | + | Pb <---|---|---|---|---|---|---B | | P FIN | | | | | | | |
| | |i=0| |i=1| |i=2| | | | | | | | | | | | | | | |i=0| |i=1| |i=2| | | | | | | | | | | | | ||
− | | | | | | | | | | | | | | | | | | | | | + | | | | | | | | | | | | | | | | | | | | |
− | | | | | | | | | | | | | | | | | | | | | + | | | | | | | | | | | | | | | | | | | | |
− | Planificador | + | Planificador X | | | | | | X | | | X | | X | X | | |
− | | | | | | | | | | | | | | | | | | | | | + | | | | | | | | | | | | | | | | | | | | |
|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___> t | |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___> t | ||
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | ||
− | + | Puesto que <math>P_b</math> tiene más prioridad de <math>P_a</math> y ambos se lanzan a la vez, el planificador da paso al proceso <math>P_a</math> en primer lugar. --[[Usuario:Pneira|Pneira]] 12:19 11 nov 2011 (UTC) | |
− | |||
− | |||
− | |||
− | + | == Apartado 2 == | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | B = El proceso realiza una llamada bloqueante. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
+ = El proceso se ejecuta en el procesador 1. | + = El proceso se ejecuta en el procesador 1. | ||
- = El proceso se ejecuta en el procesador 2. | - = El proceso se ejecuta en el procesador 2. | ||
Línea 76: | Línea 48: | ||
| 1 | 2 | 3 | 4 | | | | 3 | 4 | | | | 3 | 5 | | | | | | | 1 | 2 | 3 | 4 | | | | 3 | 4 | | | | 3 | 5 | | | | | | ||
− | Pa <+++|+++|+++|+++ | + | Pa <+++|+++|+++|+++B | | |+++|+++B | | |+++|+++| | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ||
| 1 | 2 | 3 | 4 | 3 | 2 | 4 | | | | | | | | | | | | | | 1 | 2 | 3 | 4 | 3 | 2 | 4 | | | | | | | | | | | | | ||
− | Pb <---|---|---|---| | + | Pb <---|---|---|---|---|---|---B | | > | | | | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ||
planif. | | | | | | | | | | | | | | | | | | | | planif. | | | | | | | | | | | | | | | | | | | | ||
|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___ | |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___ | ||
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 t | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 t | ||
+ | |||
+ | Aunque la asignación sea dinámica mantenemos a los procesos en el mismo procesador. El concepto de asignación dinámica aplica solamente '''si hay una situación en la que un procesador está sobrecargado de procesos'''. La migración de un proceso de la CPU1 a la CPU2 tiene una penalización importante asociada al fallo en la memoria caché. --[[Usuario:Pneira|Pneira]] 12:19 11 nov 2011 (UTC) |
Revisión del 13:19 11 nov 2011
Traza de los procesos
Proceso A
1, 2, 3, 4, 3, 4, 3, 5 | | | | | i=0 Bloquea i=1 Bloquea i=2
Proceso B
1, 2, 3, 2, 3, 2, 4 | | | | i=0 i=1 i=2 Bloquea
Apartado 1
B = El proceso realiza una llamada bloqueante. + = El proceso se ejecuta en el procesador 1. - = El proceso se ejecuta en el procesador 2. < = Instante de llegada del proceso. > = Instante de finalización del proceso. * = El proceso es abortado. | | | | | | | | 1 | 2 | 3 | 4 | | | | 3 | 4 | | | Pa < | | | | | | |---|---|---|---B | | P---|---* | | | | | | | | | |i=0| | | | |i=1| | | | | | | | | | | | | | | | | | | | | | | | 1 | 2 | 3 | 2 | 3 | 2 | 4 | | | | | | | | | | | | Pb <---|---|---|---|---|---|---B | | P FIN | | | | | | | | | |i=0| |i=1| |i=2| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Planificador 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
Puesto que <math>P_b</math> tiene más prioridad de <math>P_a</math> y ambos se lanzan a la vez, el planificador da paso al proceso <math>P_a</math> en primer lugar. --Pneira 12:19 11 nov 2011 (UTC)
Apartado 2
B = El proceso realiza una llamada bloqueante. + = El proceso se ejecuta en el procesador 1. - = El proceso se ejecuta en el procesador 2. < = Instante de llegada del proceso. > = Instante de finalización del proceso.
| 1 | 2 | 3 | 4 | | | | 3 | 4 | | | | 3 | 5 | | | | | Pa <+++|+++|+++|+++B | | |+++|+++B | | |+++|+++| | | | | | | | | | | | | | | | | | | | | | | | | 1 | 2 | 3 | 4 | 3 | 2 | 4 | | | | | | | | | | | | Pb <---|---|---|---|---|---|---B | | > | | | | | | | | | | | | | | | | | | | | | | | | | | | planif. | | | | | | | | | | | | | | | | | | | |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 t
Aunque la asignación sea dinámica mantenemos a los procesos en el mismo procesador. El concepto de asignación dinámica aplica solamente si hay una situación en la que un procesador está sobrecargado de procesos. La migración de un proceso de la CPU1 a la CPU2 tiene una penalización importante asociada al fallo en la memoria caché. --Pneira 12:19 11 nov 2011 (UTC)