Sol-ejer4-planif-procesos

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar

Datos del problema:

                        | Pa | Pb | Pc  |
                    --------------------
                     H0 | 0  | 1  |  2  |
                    --------------------
                     t  | 3  | 5  |  6  |
                    --------------------

                 Pa bloquea por operación de E/S tras 1 unidad de ejecución
                 Pb bloquea por operación de E/S tras 3 unidad de ejecución

                      < = indica el instante de lanzamiento del proceso
                      > = indica el instante de finalización del proceso
                      & = El proceso se bloquea por una operacion de E/S 
                      X = se ejecuta el código del planificador

      |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   |   
Pa    <---&   |   |---&   |   |--->   |   |   |   |   |   |   |   |   |   |   |   |
Pb    |   <---|---|   |   |   |   |---&   |   |---|--->   |   |   |   |   |   |   |   
Pc    |   |   <   |   |---|---|   |   |---|---|   |   |---|--->   |   |   |   |   |   
Plnf  X   X   |   X   X   |   X   X   X   |   X   |   X   |   |   |   |   |   |   |   
      |___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|___|
      0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15  16  17  18  19


Cálculo de índices:

                        | Pa | Pb |  Pc |
                    --------------------
                     t  | 3  | 5  |  6  |
                    --------------------
                     T  | 8  | 11 |  12 |
                    --------------------
                   T/t  |2.6 | 2.2|  2  |
                    --------------------


Explicacion

En el instante Ho = 0 llega el proceso A que es el primero que se ejecuta , a la unidad de tiempo bloquea por operacion de E/S. En el instante Ho = 1 llega el proceso el proceso B y al ser el unico que esta en la cola de preparados se le asigna al procesador y gasta su quantum de 2 unidades de tiempo. En el instante Ho = 2 llega a la cola de preparado el proceso C siendo el unico que se encuentra en la cola de preparado en ese momento ya que el proceso B esta activo. En el instante Ho = 3 , estaria en la cola de preparados C y despues B pero el proceso al no gastar su cuantum de tiempo se le da una nueva oportunidad y se le asigna de nuevo al procesado con 2 unidades de tiempo de quantum, de nuevo se ejecuta solamente una unidad de tiempo y se bloquea el proceso A por operacion de E/S. En el instante Ho = 4 , en la cola de preparados queda el proceso C y B , en ese orden , por lo tanto se le asignara al procesador el proceso C y gasta sus 2 unidades de tiempo de quantum. En el instante Ho = 6 sucede lo mismo que en el instante Ho=3 el proceso A al no haber gastado su 2 unidade tiempo de quantum, se le da una nueva oportunidad y se le asigna al procesador , el proceso A termina. En el instante Ho= 7 en la cola esta primero B y luego C con lo que se le asignara B al procesador y la unidad de tiempo bloqueara por operacion de E/S. En el Ho = 8 se le asigna al procesador el proceso C ya que es el unico en la cola de preparados. En el instante Ho=10 llegan a estado preparado B y C pero siguiendo el 2º punto del enunciado dice que llega antes B que C por lo tanto se le asigna al procesador el proceso B y el proceso B agota sus 2 cuantum y tambien terminaria su proceso al ya tener sus 5 unidades de tiempo. Solo queda el proceso C que acaba en Ho = 14

Una duda, En el instante Ho=3 como bien has dicho estan preparados C y B y el Proceso A desbloquearia en ese momento Poniendose en cola, tu lo colocas el primero por no agotar el 50% de su cuantum pero en el ejercicio dice que solo se haria eso si en cola de preparados hay un unico proceso, y aqui nos encontramos que B y C estan preparados, por lo que A se colocaria despues de B no?