Sol-ejer-planif-procesos-3

De Wiki de Sistemas Operativos
Revisión del 14:19 11 nov 2011 de Pneira (discusión | contribuciones) (revisión)
Saltar a: navegación, buscar

Traza de los procesos

Proceso A

1, 2, 3,   4,       3,   4,       3,   5
      |    |        |    |        |    
      i=0  Bloquea  i=1  Bloquea  i=2  
    

Proceso B

1, 2,   3, 2,   3, 2,   4
   |       |       |    |  
   i=0     i=1     i=2  Bloquea 

Apartado 1

              B = El proceso realiza una llamada bloqueante.
              + = El proceso se ejecuta en el procesador 1.
              - = El proceso se ejecuta en el procesador 2.
              < = Instante de llegada del proceso.
              > = Instante de finalización del proceso.
              * = El proceso es abortado.
  
                 |   |   |   |   |   |   |   | 1 | 2 | 3 | 4 |   |   |   | 3 | 4 |   |   |          
  Pa             <   |   |   |   |   |   |   |---|---|---|---B   |   |   P---|---*
                 |   |   |   |   |   |   |   |   |   |i=0|   |   |   |   |i=1|   |   |   |       
                 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |       
                 | 1 | 2 | 3 | 2 | 3 | 2 | 4 |   |   |   |   |   |   |   |   |   |   |   |   
  Pb             <---|---|---|---|---|---|---B   |   |   P FIN   |   |   |   |   |   |   |
                 |   |   |i=0|   |i=1|   |i=2|   |   |   |   |   |   |   |   |   |   |   |       
                 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
                 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
  Planificador   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

Puesto que <math>P_b</math> tiene más prioridad de <math>P_a</math> y ambos se lanzan a la vez, el planificador da paso al proceso <math>P_a</math> en primer lugar. --Pneira 12:19 11 nov 2011 (UTC)

Apartado 2

              B = El proceso realiza una llamada bloqueante.
              + = El proceso se ejecuta en el procesador 1.
              - = El proceso se ejecuta en el procesador 2.
              < = Instante de llegada del proceso.
              > = Instante de finalización del proceso.
           | 1 | 2 | 3 | 4 |   |   |   | 3 | 4 |   |   |   | 3 | 5 |   |   |   |   |
   Pa      <+++|+++|+++|+++B   |   |   |+++|+++B   |   |   |+++|+++|   |   |   |   |
           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
           | 1 | 2 | 3 | 4 | 3 | 2 | 4 |   |   |   |   |   |   |   |   |   |   |   |
   Pb      <---|---|---|---|---|---|---B   |   |   >   |   |   |   |   |   |   |   |
           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
 planif.   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
           |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___
           0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19   t

Aunque la asignación sea dinámica mantenemos a los procesos en el mismo procesador. El concepto de asignación dinámica aplica solamente si hay una situación en la que un procesador está sobrecargado de procesos. La migración de un proceso de la CPU1 a la CPU2 tiene una penalización importante asociada al fallo en la memoria caché. --Pneira 12:19 11 nov 2011 (UTC)