Diferencia entre revisiones de «Sol-ejer2-planif-procesos»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(Turno rotatorio proporcional al número de procesos: revisión)
(Turno rotatorio proporcional al número de procesos: revisión)
Línea 80: Línea 80:
 
                       B = bloquea
 
                       B = bloquea
 
                       P = preparado
 
                       P = preparado
                            q=2 q=2    q=1 q=1 q=1 q=2    q=1 q=1 q=1 q=1 q=2                 
+
                <sub> </sub> |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
+
                      q=2 q=2    q=1 q=1 q=1 q=2    q=1 q=1 q=1 q=1 q=2                 
               P<sub>A</sub>  <---B  |  P  |---B  |  P  |--->  |  |  |  |  |  |  |  |  |  |  |
+
                      |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
               P<sub>B</sub>  |  <---|---P  |  |---B  |  P  |---P  |--->  |  |  |  |  |  |  |  |
+
               Pa      <---B  |  P  |---B  |  P  |--->  |  |  |  |  |  |  |  |  |  |  |
               P<sub>C</sub>  |  |  <  |---P  |  |---|---P  |  |---P  |---|--->  |  |  |  |  |  |
+
               Pb      |  <---|---P  |  |---B  |  P  |---P  |--->  |  |  |  |  |  |  |  |
            <sub> </sub> -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---> t
+
               Pc      |  |  <  |---P  |  |---|---P  |  |---P  |---|--->  |  |  |  |  |  |
                  0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20
+
                      |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---> t
 +
                      0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20
 
   
 
   
 
                   _____|_P<sub>A</sub>_|_P<sub>B</sub>_|_P<sub>C</sub>_|
 
                   _____|_P<sub>A</sub>_|_P<sub>B</sub>_|_P<sub>C</sub>_|

Revisión del 21:35 8 nov 2011

Turno rotatorio estricto

                    ____|_PA_|_PB_|_PC_|
         Datos del  _H0_|_0__|_1__|_2__|
          problema  _t__|_3__|_5__|_6__|

   PA bloquea por E/S cada 1 unidad de tiempo
   PB bloquea por E/S cada 3 unidades de tiempo
                      < = indica el instante de lanzamiento del proceso
                      > = indica el instante de finalización del proceso
                      X = se ejecuta el código del planificador
                                                                
                  |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   
              Pa  <---|   |   |   |   |---|   |   |   |--->   |   |   |   |   |   |   |   |   |   
              Pb  |   <---|---|   |   |   |---|   |   |   |---|--->   |   |   |   |   |   |   |   
              Pc  |   |   <   |---|---|   |   |---|---|   |   |   |---|--->   |   |   |   |   |   
    Planificador  X   X   |   X   |   X   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  19  

                  _____|_Pa_|_Pb_|_Pc_|
       Cálculos   __t__|_3__|_5__|_6__|
      de tiempos  __T__|_10_|_11_|_12_|
                  _T/t_|3.3_|2.2_|_2__|


Notése que el proceso A no llega a emplear el quantum que tiene asignado, en ese caso, como indica la teoría, se le retira el procesador y el planificador selecciona a otro proceso. Dejar el procesador sin proceso asignado, es decir, ocioso, va contra la lógica del máximo aprovechamiento del procesador. Por ello, he retirado una solución incorrecta que aparecía en esta sección. --Pneira 21:15 21 mar 2011 (UTC)


Tengo una duda en este ejercicio, en la unidad de tiempo 6 cuando el planificador activa el proceso Pb, porque motivo solo le asigna una unidad de tiempo?, podria asignarle 2 no? teniendo en cuenta que el quantum = 2. Ademas el proceso B bloquea cada 3 unidades de tiempo, no entiendo porque solo le asigna una unidad y luego activa en la unidad de tiempo 7 el proceso C. LFE (Luis Fernandez Esteban)

Pues yo diría que es porque se bloquea cada 3, al igual que el A se bloquea a cada unidad. Ya llevaba 1, y con esa actividad, +2 --PCamino

Gracias, tienes razon ya lo entendi. LFE (Luis Fernandez Esteban)

DUDA En t=3 llegaría el proceso Pa y el proceso Pb a la cola de estado preparado. Como dice en teroía, un proceso que se bloquea sin llegar a agotar su quantum, pasaría al final de la cola de estados preparados. Por tanto, el siguiente en ejecutarse sería Pb, puesto que Pa viene de estar bloqueado sin agotar su quantum luego pasaría al final de la cola de preparados. ¿Estoy en lo cierto? --josvaldia

-esto es estricto no por compensación por tanto no estas en lo cierto. --juacordia

Por prioridades

Suponiendo que la prioridad de los procesos es la siguiente: A<B<C

                    ____|_PA_|_PB_|_PC_|
         Datos del  _H0_|_0__|_1__|_2__|
          problema  _t__|_3__|_5__|_6__|

   PA bloquea por E/S cada 1 unidad de tiempo
   PB bloquea por E/S cada 3 unidades de tiempo
                      < = indica el instante de lanzamiento del proceso
                      > = indica el instante de finalización del proceso
                      X = se ejecuta el código del planificador
                                                                
                  |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   
              PA  <---|   |   |   |   |   |   |   |   |   |---|   |   |   |--->   |   |   |   |   
              PB  |   <---|   |   |   |   |   |   |---|---|   |   |---|--->   |   |   |   |   |            
              PC  |   |   <---|---|---|---|---|--->   |   |   |   |   |   |   |   |   |   |   |    
    Planificador  X   X   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  19  

                  _____|_PA_|_PB_|_PC_|
       Cálculos   __t__|_3__|_5__|_6__|
      de tiempos  __T__|_15_|_13_|_6_|
                  _T/t_|__5_|_2.6|_1__|

Nota: Del 14 al 15 no se procesa nada porque sólo quedan los procesos A y B, pero en esa unidad de tiempo ambos están bloqueados (los bloqueos de A y B duran 2 uds. de tiempo) --Pneira 19:23 8 nov 2011 (UTC)

Turno rotatorio proporcional al número de procesos

                    ____|_PA _|_PB_|_PC _|
         Datos del  _H0_|_0__|_1__|_2__|
          problema  _t__|_3__|_5__|_6__|

                      < = indica el instante de lanzamiento del proceso
                      > = indica el instante de finalización del proceso
                      X = se ejecuta el código del planificador
                      B = bloquea
                      P = preparado

                     q=2 q=2     q=1 q=1 q=1 q=2     q=1 q=1 q=1 q=1 q=2                
                      |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
              Pa      <---B   |   P   |---B   |   P   |--->   |   |   |   |   |   |   |   |   |   |   |
              Pb      |   <---|---P   |   |---B   |   P   |---P   |--->   |   |   |   |   |   |   |   |
              Pc      |   |   <   |---P   |   |---|---P   |   |---P   |---|--->   |   |   |   |   |   |
                      |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---> t
                      0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19  20

                  _____|_PA_|_PB_|_PC_|
       Cálculos   __t__|_3__|_5__|_6__|
      de tiempos  __T__|_12_|_15_|_17_|
                  _T/t_|_4__|2.80|_2.5|

Revisado --Pneira 19:34 8 nov 2011 (UTC)