Diferencia entre revisiones de «Sol-ejer2-1-otros-aspectos»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(revisión)
(SJF Apropiativo con multiprocesamiento. Error en explicación, cambio a 'proceso B se deja en el procesador 1')
 
(No se muestran 2 ediciones intermedias de 2 usuarios)
Línea 5: Línea 5:
 
           Datos del  _H0_|_0__|_1__|_2__|
 
           Datos del  _H0_|_0__|_1__|_2__|
 
           problema  _t__|_3__|_5__|_6__|
 
           problema  _t__|_3__|_5__|_6__|
 
+
 
  P<sub>A</sub> bloquea cada 1 u.t.
 
  P<sub>A</sub> bloquea cada 1 u.t.
 
  P<sub>B</sub> bloquea cada 3 u.t.
 
  P<sub>B</sub> bloquea cada 3 u.t.
Línea 19: Línea 19:
 
   
 
   
 
                   |  |  |  |  |  |  |  |  |  |  |  |  |
 
                   |  |  |  |  |  |  |  |  |  |  |  |  |
     Pa            <+++B  |  P---B  |  P--->   |  |   |  |  |
+
     Pa            <+++B  |  P---B  |  P---B   |  >   |  |  |
 
     Pb            |  <+++|+++|+++B  |  P+++|+++>  |  |  |  |
 
     Pb            |  <+++|+++|+++B  |  P+++|+++>  |  |  |  |
 
     Pc            |  |  <---P  |---|---P  |---|---|--->  |  |
 
     Pc            |  |  <---P  |---|---P  |---|---|--->  |  |
Línea 35: Línea 35:
 
Explicación:
 
Explicación:
  
* En el instante de tiempo 3, el proceso Pa pasa a estado preparado y su tiempo de ejecución es menor al del proceso Pc. Por tanto, se apropia del procesador 2. Recuerde que '''siempre que sea posible''' el proceso que pasa a estado activo debe hacerlo en el último procesador que empleó para evitar el coste asociado a la migración. En caso de no ser posible, '''se migra''' al procesador disponible. El proceso B se deja en el procesador 2 para evitar el coste asociado a la migración pues '''no''' se considera posible migrar un proceso en estado activo.
+
* En el instante de tiempo 3, el proceso Pa pasa a estado preparado y su tiempo de ejecución es menor al del proceso Pc. Por tanto, se apropia del procesador 2. Recuerde que '''siempre que sea posible''' el proceso que pasa a estado activo debe hacerlo en el último procesador que empleó para evitar el coste asociado a la migración. En caso de no ser posible, '''se migra''' al procesador disponible. El proceso B se deja en el procesador 1 para evitar el coste asociado a la migración pues '''no''' se considera posible migrar un proceso en estado activo.
  
 
* En el instante de tiempo 6, el proceso Pa y Pb, que son más cortos que el proceso Pc, se apropian de los procesadores. Puesto que en asignación dinámica, '''siempre que sea posible''' se mantiene al proceso en el procesador en el que se ejecutó anteriormente, nuestro proceso Pa pasa al procesador 2, y el proceso Pb pasa al procesador 1 (pues estos son los procesadores en los que se ejecutaron anteriormente).
 
* En el instante de tiempo 6, el proceso Pa y Pb, que son más cortos que el proceso Pc, se apropian de los procesadores. Puesto que en asignación dinámica, '''siempre que sea posible''' se mantiene al proceso en el procesador en el que se ejecutó anteriormente, nuestro proceso Pa pasa al procesador 2, y el proceso Pb pasa al procesador 1 (pues estos son los procesadores en los que se ejecutaron anteriormente).
  
 
Revisado. --[[Usuario:Pneira|Pneira]] 18:27 23 nov 2011 (UTC)
 
Revisado. --[[Usuario:Pneira|Pneira]] 18:27 23 nov 2011 (UTC)

Revisión actual del 20:59 4 nov 2015

SJF Apropiativo con multiprocesamiento

Para este caso disponemos de 2 Procesadores, y supondremos que el planificador se ejecuta en uno de ellos

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

PA bloquea cada 1 u.t.
PB bloquea cada 3 u.t.
tiempos de bloqueo=2 u.t. (tanto para PA y PB).
                    
                      < = indica el instante de lanzamiento del proceso
                      > = indica el instante de finalización del proceso
                      X = se ejecuta el código del planificador
                      B = el proceso pasa a estado bloqueado
                      P = el proceso pasa a estado preparado
                      +++ = procesador 1
                      --- = procesador 2

                  |   |   |   |   |   |   |   |   |   |   |   |   |
   Pa             <+++B   |   P---B   |   P---B   |   >   |   |   |
   Pb             |   <+++|+++|+++B   |   P+++|+++>   |   |   |   |
   Pc             |   |   <---P   |---|---P   |---|---|--->   |   |
   Planificador   X   X   X   X   X   |   X   X   |   |   |   |   |
                  |___|___|___|___|___|___|___|___|___|___|___|___|___> t
                  0   1   2   3   4   5   6   7   8   9   10  11  12

                       _____|_PA_|_PB_|_PC_|
            Cálculos   __t__|_3__|_5__|_6__|
           de tiempos  __T__|_7__|_7__|_8__|
                       _T/t_|_2.3|_1.4|_1.3|
                         |
                         |_> Indice de penalización

Explicación:

  • En el instante de tiempo 3, el proceso Pa pasa a estado preparado y su tiempo de ejecución es menor al del proceso Pc. Por tanto, se apropia del procesador 2. Recuerde que siempre que sea posible el proceso que pasa a estado activo debe hacerlo en el último procesador que empleó para evitar el coste asociado a la migración. En caso de no ser posible, se migra al procesador disponible. El proceso B se deja en el procesador 1 para evitar el coste asociado a la migración pues no se considera posible migrar un proceso en estado activo.
  • En el instante de tiempo 6, el proceso Pa y Pb, que son más cortos que el proceso Pc, se apropian de los procesadores. Puesto que en asignación dinámica, siempre que sea posible se mantiene al proceso en el procesador en el que se ejecutó anteriormente, nuestro proceso Pa pasa al procesador 2, y el proceso Pb pasa al procesador 1 (pues estos son los procesadores en los que se ejecutaron anteriormente).

Revisado. --Pneira 18:27 23 nov 2011 (UTC)