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

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(=)
(Turno rotatorio: revisión del ejercicio)
Línea 1: Línea 1:
= Turno rotatorio =
+
= Turno rotatorio estrícto =
  
 
                     ____|_P<sub>A</sub>_|_P<sub>B</sub>_|_P<sub>C</sub>_|
 
                     ____|_P<sub>A</sub>_|_P<sub>B</sub>_|_P<sub>C</sub>_|
Línea 12: Línea 12:
 
                                                                  
 
                                                                  
 
                   |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |   
 
                   |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |   
               P<sub>A</sub> <---|  |  |  |  |---|  |  |  |--->  |  |  |  |  |  |  |  |  |   
+
               Pa <---|  |  |  |  |---|  |  |  |--->  |  |  |  |  |  |  |  |  |   
               P<sub>B</sub> |  <---|---|  |  |  |---|  |  |  |---|--->  |  |  |  |  |  |  |   
+
               Pb |  <---|---|  |  |  |---|  |  |  |---|--->  |  |  |  |  |  |  |   
               P<sub>C</sub> |  |  <  |---|---|  |  |---|---|  |  |  |---|--->  |  |  |  |  |   
+
               Pc |  |  <  |---|---|  |  |---|---|  |  |  |---|--->  |  |  |  |  |   
 
     Planificador  X  X  |  X  |  X  X  X  |  X  X  |  X  |  X  |  |  |  |  |       
 
     Planificador  X  X  |  X  |  X  X  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  19   
 
                   0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19   
 
   
 
   
                   _____|_P<sub>A</sub>_|_P<sub>B</sub>_|_P<sub>C</sub>_|
+
                   _____|_Pa_|_Pb_|_Pc_|
 
         Cálculos  __t__|_3__|_5__|_6__|
 
         Cálculos  __t__|_3__|_5__|_6__|
 
       de tiempos  __T__|_10_|_11_|_12_|
 
       de tiempos  __T__|_10_|_11_|_12_|
Línea 25: Línea 25:
  
  
DEBERIAS PONER ESTO EN LA ZONA DE DISCUSIÓN
+
Notése que el proceso A no llega a emplear el ''quantum'' que tiene asignado, en ese caso, como indica la [[Criterios_de_planificación|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. --[[Usuario:Pneira|Pneira]] 21:15 21 mar 2011 (UTC)
 
 
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.
 
 
 
 
 
                  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | 
 
              P<sub>A</sub>  <---|///|  |  |  |  |---|///|  |  |  |  |---|///>  |  |  |  |  | 
 
              P<sub>B</sub>  |  |  |---|---|  |  |  |  |---|---|  |  |  |  |---|///>  |  |  | 
 
              P<sub>C</sub>  |  |  <  |  |---|---|  |  |  |  |---|---|  |  |  |  |---|--->  | 
 
    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 =
 
= Por prioridades =

Revisión del 22:15 21 mar 2011

Turno rotatorio estrícto

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

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?

Creo que no, porque ya en el instante 1 hay dos procesos en el planificador, por lo que el quantum ya se reduce.