Diferencia entre revisiones de «Sol-ejer-planif-procesos-3»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(=)
(Propuesta de corrección y solución al apartado B)
Línea 42: Línea 42:
 
                   |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___> t
 
                   |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___> t
 
                   0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18
 
                   0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18
 +
 +
--Creo que esa solución no es correcta (el enunciado dice que los 2 procesos se lanzan a la vez y en este cronograma se lanza P<sub>a</sub> antes que P<sub>b</sub>. Yo he llegado a las siguientes soluciones:
 +
 +
a)
 +
 +
 +
              & = 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      <  |  |  |  |  |  |  |---|---|---|---|  |  |  |---|---*  |  |
 +
            |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
 +
            | 1 | 2 | 3 | 4 | 3 | 2 | 4 |  |  |  |  |  |  |  |  |  |  |  |
 +
    Pb      <---|---|---|---|---|---|---|  |  |  >  |  |  |  |  |  |  |  |
 +
            |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
 +
  planif.  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
 +
            |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___
 +
            0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  t
 +
 +
--Duda: yo he supuesto que aunque el planificador le de paso primero a A al aplicar el criterio y al tener B mayor prioridad de ejecuta B en t=0. --[[Usuario:jesgonbe|jesgonbel]]
 +
 +
b) Suponiendo que solo se ejecutan procesos en el procesador 2 si esta ocupado el procesador 1
 +
 +
              & = 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      <+++|+++|+++|+++&  |  |  |+++|+++|  |  |  |+++|+++|  |  |  |  |
 +
            |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
 +
            | 1 | 2 | 3 | 4 | 3 | 2 | 4 |  |  |  |  |  |  |  |  |  |  |  |
 +
    Pb      <---|---|---|---|+++|+++|+++|  |  |  >  |  |  |  |  |  |  |  |
 +
            |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
 +
  planif.  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
 +
            |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___
 +
            0  1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  t

Revisión del 07:17 11 nov 2011

APARTADO 1

Traza de los procesos A y B

Proceso A
---------
1, 2, 3,   4,       3,   4,       3,   5
      |    |        |    |        |    
      i=0  Bloquea  i=1  Bloquea  i=2  
     
Por tanto tenemos t=8


Proceso B
---------
1, 2,   3, 2,   3, 2,   4
   |       |       |    |  
   i=0     i=1     i=2  Bloquea 
Por tanto t=7


Proceso  H0  t  Plazo  
-------- --  -- -----
PA       0   8  16      
PB       0   7  18      



                 | 1 |   |   |   |   |   |   |   | 2 | 3 | 4 |   |   |   | 3 | 4 |   |   |          
  Pa             <---|   |   |   |   |   |   |   |---|---|---B   |   |   P---|---B ABORTAR         
                 |   |   |   |   |   |   |   |   |   |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   |   X   |   |      
                 |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |       
                 |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___> t
                 0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18

--Creo que esa solución no es correcta (el enunciado dice que los 2 procesos se lanzan a la vez y en este cronograma se lanza Pa antes que Pb. Yo he llegado a las siguientes soluciones:

a)


              & = 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      <   |   |   |   |   |   |   |---|---|---|---|   |   |   |---|---*   |   |
           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
           | 1 | 2 | 3 | 4 | 3 | 2 | 4 |   |   |   |   |   |   |   |   |   |   |   |
   Pb      <---|---|---|---|---|---|---|   |   |   >   |   |   |   |   |   |   |   |
           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
 planif.   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
           |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___
           0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19   t

--Duda: yo he supuesto que aunque el planificador le de paso primero a A al aplicar el criterio y al tener B mayor prioridad de ejecuta B en t=0. --jesgonbel

b) Suponiendo que solo se ejecutan procesos en el procesador 2 si esta ocupado el procesador 1

              & = 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      <+++|+++|+++|+++&   |   |   |+++|+++|   |   |   |+++|+++|   |   |   |   |
           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
           | 1 | 2 | 3 | 4 | 3 | 2 | 4 |   |   |   |   |   |   |   |   |   |   |   |
   Pb      <---|---|---|---|+++|+++|+++|   |   |   >   |   |   |   |   |   |   |   |
           |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
 planif.   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |
           |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___
           0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19   t