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

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(Turno rotatorio)
(Turno rotatorio: Realizacion ejercicio por prioridades)
Línea 34: Línea 34:
 
                       > = 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
                       / = Tiempo del quantum desaprovechado bien por bloqueo de E/S o por finalización del proceso.
+
                       / = Tiempo desaprovechado bien por bloqueo de E/S o por finalización del proceso.
  
  
Línea 44: Línea 44:
 
               ____|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__> t
 
               ____|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|__> t
 
                   0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19
 
                   0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19
 +
 +
= Por prioridades =
 +
 +
Suponiendo que la prioridad de los procesos es la siguiente: A<B<C
 +
 +
                    ____|_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 por E/S cada 1 unidad de tiempo
 +
    P<sub>B</sub> 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
 +
                      / = Tiempo desaprovechado por bloqueo de E/S.
 +
                                                               
 +
                  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | 
 +
              P<sub>A</sub>  <---|  |  |  |  |  |  |  |  |  |  |  |  |  |---|///|///|---|///|///> 
 +
              P<sub>B</sub>  |  <---|  |  |  |  |  |  |---|---|///|///|---|--->  |  |  |  |  |  |     
 +
              P<sub>C</sub>  |  |  <---|---|---|---|---|--->  |  |  |  |  |  |  |  |  |  |  |  | 
 +
    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 20
 +
 +
                  _____|_P<sub>A</sub>_|_P<sub>B</sub>_|_P<sub>C</sub>_|
 +
        Cálculos  __t__|_3__|_5__|_6__|
 +
      de tiempos  __T__|_20_|_13_|_6_|
 +
                  _T/t_|6.66|_2.6|_1__|
  
 
= Turno rotatorio proporcional al número de procesos =
 
= Turno rotatorio proporcional al número de procesos =

Revisión del 19:59 21 mar 2011

Turno rotatorio

                    ____|_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__|


DEBERIAS PONER ESTO EN LA ZONA DE DISCUSIÓN

Sigue estando mal, el quantum no se reduce a 1 en el proceso A, el quantum se debe respetar siempre(en el articulo de la wiki sobre turno rotatorio lo explican).

Pd: No pises las otras soluciones propuestas, pon la tuya debajo para que todos podamos discutirlo.

                      < = indica el instante de lanzamiento del proceso
                      > = indica el instante de finalización del proceso
                      X = se ejecuta el código del planificador
                      / = Tiempo desaprovechado bien por bloqueo de E/S o por finalización del proceso.


                  |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   
              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

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
                      / = Tiempo desaprovechado por bloqueo de E/S.
                                                                
                  |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   
              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 20 

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

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
                                                                
                  |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
              PA  <---|   |   |---|   |   |--->   |   |   |   |   |   |   |   |   |   |   |   |   |
              PB  |   <---|   |   |---|   |   |---|   |   |---|   |--->   |   |   |   |   |   |   |
              PC  |   |   <---|   |   |---|   |   |---|---|   |---|   |--->   |   |   |   |   |   |
   Planificador   X   X   X   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  20

                  _____|_PA_|_PB_|_PC_|
       Cálculos   __t__|_3__|_5__|_6__|
      de tiempos  __T__|_7__|_12_|_12_|
                  _T/t_|2.3_|2.4_|_2__|
=

Observaciones

=

- Al no existir en el instante de tiempo 0 problemas de concurrencia de procesos, ¿no debería el proceso A tener derecho a sus dos unidades de tiempo de quantum, aunque este solo utilice una unidad de tiempo debido al bloqueo por E/S?. Esto dejaría al procesador con dos procesos en estado preparado (B y C) en el instante de tiempo 2, donde ya se reduciría el quantum a 1 debido a la existencia de 2 o más procesos en estado preparado. ¿Cómo lo veis?