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

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(SJF Apropiativo con multiprocesamiento)
Línea 36: Línea 36:
  
 
*'''Importante''': Este ejercicio (de momento) no ha sido corregido por Pablo Neira, es por ello que si alguien tiene una duda sobre él debería indicarlo para discutirlo hasta que dicho profesor lo revise.
 
*'''Importante''': Este ejercicio (de momento) no ha sido corregido por Pablo Neira, es por ello que si alguien tiene una duda sobre él debería indicarlo para discutirlo hasta que dicho profesor lo revise.
 +
 +
*OTRA SOLUCION
 +
* Comienzo con la idea de que el planificador es un componente del sistema operativo y no de un procesador concreto, por lo que decidirá en cada momento que proceso será asignado al recurso procesador, para este caso tenemos 2 procesadores y como dice el enunciado solo se asignaran al segundo si el primero está ocupado,he considerado para este caso asignar el proceso A en t=3 al procesador 2 aunque es prioritario sobre B al que tendría que retirarle el 1, para de esta manera aplicar el principio de localizacion espacio temporal y ahorrar costes en posibles fallos de migracion de la memoria cache, '''solo cambio de procesador una vez, para los procesos B y C'''
 +
 +
      X Ejecucion del planificador
 +
      F Fin de proceso
 +
      --- Procesador 1
 +
      +++ Procesador 2
 +
      * Estado Bloqueado
 +
      & Estado Preparado
 +
      Fin Finalizacion del proceso
 +
 +
 +
                  |  |  |  |  |  |  |  |  |  |  |  |  |
 +
    Pa            <---*  |  &+++*  |  &+++Fin |  |  |  |  |
 +
    Pb            |  <---|---|---*  |  &---|---Fin |  |  |  |
 +
    Pc            |  |  <+++|  |+++|+++|  |+++|+++|+++Fin |  |
 +
    Planificador  X  X  X  X  X  |  X  X  |  |  |  |  |
 +
                  |___|___|___|___|___|___|___|___|___|___|___|___|___> t
 +
                  0  1  2  3  4  5  6  7  8  9  10  11  12

Revisión del 08:54 12 nov 2011

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_| PA bloquea cada 1 u.t.
         Datos del  _H0_|_0__|_1__|_2__| PB bloquea cada 3 u.t.
          problema  _t__|_3__|_5__|_6__| tiempo de bloqueo=2 u.t.
                    
                      < = indica el instante de lanzamiento del proceso
                      > = indica el instante de finalización del proceso
                      X = se ejecuta el código del planificador
                      # = el proceso se bloquea
                      +++ = procesador 1
                      --- = procesador 2

                  |   |   |   |   |   |   |   |   |   |   |   |   |
   Pa             <+++#   |   <+++#   |   |+++>   |   |   |   |   |
   Pb             |   <+++|+++|---#   |   |---|+++>   |   |   |
   Pc             |   |   <---|   |+++|+++|   |---|---|--->   |   |
   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

OBSERVACIONES:

  • En esta solución suponemos que en en el procesador 1 se ejecuta el proceso más corto preparado y en el procesador 2 se ejecuta el 2º más corto preparado.
  • Por lo anterior indicado, la solución podría variar entre la unidad de tiempo 7 y la 10, pero como no nos han dado expresamente un criterio para asignar a los procesadores los procesos, no tiene importancia.
  • Importante: Este ejercicio (de momento) no ha sido corregido por Pablo Neira, es por ello que si alguien tiene una duda sobre él debería indicarlo para discutirlo hasta que dicho profesor lo revise.
  • OTRA SOLUCION
  • Comienzo con la idea de que el planificador es un componente del sistema operativo y no de un procesador concreto, por lo que decidirá en cada momento que proceso será asignado al recurso procesador, para este caso tenemos 2 procesadores y como dice el enunciado solo se asignaran al segundo si el primero está ocupado,he considerado para este caso asignar el proceso A en t=3 al procesador 2 aunque es prioritario sobre B al que tendría que retirarle el 1, para de esta manera aplicar el principio de localizacion espacio temporal y ahorrar costes en posibles fallos de migracion de la memoria cache, solo cambio de procesador una vez, para los procesos B y C
     X Ejecucion del planificador
     F Fin de proceso
     --- Procesador 1
     +++ Procesador 2
     * Estado Bloqueado
     & Estado Preparado
     Fin Finalizacion del proceso


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