Diferencia entre revisiones de «Sol-ejer-planif-procesos-3»
De Wiki de Sistemas Operativos
					
										
					
					|  (→=) |  (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 06: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

