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