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

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(Observación acerca de la solución propuesta por otro alumno.)
Línea 21: Línea 21:
 
       de tiempos  __T__|_7__|_11_|_12_|
 
       de tiempos  __T__|_7__|_11_|_12_|
 
                   _T/t_|2.3_|2.2_|_2__|
 
                   _T/t_|2.3_|2.2_|_2__|
 +
 +
En esta solución propuesta no se ha tenido en cuenta el bloqueo que sufre el proceso A cuando lleva una unidad de tiempo de ejecución.
 +
 +
                      < = indica el instante de lanzamiento del proceso
 +
                      > = indica el instante de finalización del proceso
 +
                      X = se ejecuta el código del planificador
 +
                      / = Tiempo del quantum no aprovechado debido a bloqueo.                                         
 +
                  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  | 
 +
              P<sub>A</sub>  <---|///|  |  |  |  |---|///|  |  |  |  |---|///>  |  |  |  |  | 
 +
              P<sub>B</sub>  |  <  |---|---|  |  |  |  |---|---|  |  |  |  |---|///>  |  |  | 
 +
              P<sub>C</sub>  |  |  <  |  |---|---|  |  |  |  |---|---|  |  |  |  |---|--->  | 
 +
    Planificador  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 
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
  
  

Revisión del 16:24 21 mar 2011

Turno rotatorio

                    ____|_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   |   |   |   |   |      
             -----|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|--> 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__|_7__|_11_|_12_|
                  _T/t_|2.3_|2.2_|_2__|

En esta solución propuesta no se ha tenido en cuenta el bloqueo que sufre el proceso A cuando lleva una unidad de tiempo de ejecución.

                      < = indica el instante de lanzamiento del proceso
                      > = indica el instante de finalización del proceso
                      X = se ejecuta el código del planificador
                      / = Tiempo del quantum no aprovechado debido a bloqueo.                                          
                  |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   
              PA  <---|///|   |   |   |   |---|///|   |   |   |   |---|///>   |   |   |   |   |   
              PB  |   <   |---|---|   |   |   |   |---|---|   |   |   |   |---|///>   |   |   |   
              PC  |   |   <   |   |---|---|   |   |   |   |---|---|   |   |   |   |---|--->   |   
    Planificador  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  













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?