Diferencia entre revisiones de «Sol-ejer-planif-procesos-3»
De Wiki de Sistemas Operativos
(→=) |
(Propuesta de corrección y solución al apartado B) |
||
Línea 42: | Línea 42: | ||
|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___> 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 | ||
+ | |||
+ | --Creo que esa solución no es correcta (el enunciado dice que los 2 procesos se lanzan a la vez y en este cronograma se lanza P<sub>a</sub> antes que P<sub>b</sub>. Yo he llegado a las siguientes soluciones: | ||
+ | |||
+ | a) | ||
+ | |||
+ | |||
+ | & = 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 < | | | | | | |---|---|---|---| | | |---|---* | | | ||
+ | | | | | | | | | | | | | | | | | | | | | ||
+ | | 1 | 2 | 3 | 4 | 3 | 2 | 4 | | | | | | | | | | | | | ||
+ | Pb <---|---|---|---|---|---|---| | | > | | | | | | | | | ||
+ | | | | | | | | | | | | | | | | | | | | | ||
+ | planif. | | | | | | | | | | | | | | | | | | | | ||
+ | |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___ | ||
+ | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 t | ||
+ | |||
+ | --Duda: yo he supuesto que aunque el planificador le de paso primero a A al aplicar el criterio y al tener B mayor prioridad de ejecuta B en t=0. --[[Usuario:jesgonbe|jesgonbel]] | ||
+ | |||
+ | b) Suponiendo que solo se ejecutan procesos en el procesador 2 si esta ocupado el procesador 1 | ||
+ | |||
+ | & = 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 <+++|+++|+++|+++& | | |+++|+++| | | |+++|+++| | | | | | ||
+ | | | | | | | | | | | | | | | | | | | | | ||
+ | | 1 | 2 | 3 | 4 | 3 | 2 | 4 | | | | | | | | | | | | | ||
+ | Pb <---|---|---|---|+++|+++|+++| | | > | | | | | | | | | ||
+ | | | | | | | | | | | | | | | | | | | | | ||
+ | planif. | | | | | | | | | | | | | | | | | | | | ||
+ | |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___ | ||
+ | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 t |
Revisión del 06:17 11 nov 2011
APARTADO 1
Traza de los procesos A y B
Proceso A --------- 1, 2, 3, 4, 3, 4, 3, 5 | | | | | i=0 Bloquea i=1 Bloquea i=2 Por tanto tenemos t=8
Proceso B --------- 1, 2, 3, 2, 3, 2, 4 | | | | i=0 i=1 i=2 Bloquea
Por tanto t=7
Proceso H0 t Plazo -------- -- -- ----- PA 0 8 16 PB 0 7 18
| 1 | | | | | | | | 2 | 3 | 4 | | | | 3 | 4 | | | Pa <---| | | | | | | |---|---|---B | | P---|---B ABORTAR | | | | | | | | | |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 | X | | | | | | | | | | | | | | | | | | | | | |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___> t 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
--Creo que esa solución no es correcta (el enunciado dice que los 2 procesos se lanzan a la vez y en este cronograma se lanza Pa antes que Pb. Yo he llegado a las siguientes soluciones:
a)
& = 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 < | | | | | | |---|---|---|---| | | |---|---* | | | | | | | | | | | | | | | | | | | | | | 1 | 2 | 3 | 4 | 3 | 2 | 4 | | | | | | | | | | | | Pb <---|---|---|---|---|---|---| | | > | | | | | | | | | | | | | | | | | | | | | | | | | | | planif. | | | | | | | | | | | | | | | | | | | |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 t
--Duda: yo he supuesto que aunque el planificador le de paso primero a A al aplicar el criterio y al tener B mayor prioridad de ejecuta B en t=0. --jesgonbel
b) Suponiendo que solo se ejecutan procesos en el procesador 2 si esta ocupado el procesador 1
& = 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 <+++|+++|+++|+++& | | |+++|+++| | | |+++|+++| | | | | | | | | | | | | | | | | | | | | | | | | 1 | 2 | 3 | 4 | 3 | 2 | 4 | | | | | | | | | | | | Pb <---|---|---|---|+++|+++|+++| | | > | | | | | | | | | | | | | | | | | | | | | | | | | | | planif. | | | | | | | | | | | | | | | | | | | |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 t