Diferencia entre revisiones de «Otro ejemplo»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
m
Línea 123: Línea 123:
  
 
Cambia las asignaciones de H2 ya que P7>P3>P6 y por ese mismo criterio, en H3 primero entraria P3 y P8 entraria en H2.--[[Usuario:Luidela1|Luidela1]] 14:26 7 jun 2011 (UTC)
 
Cambia las asignaciones de H2 ya que P7>P3>P6 y por ese mismo criterio, en H3 primero entraria P3 y P8 entraria en H2.--[[Usuario:Luidela1|Luidela1]] 14:26 7 jun 2011 (UTC)
 +
 +
Creo que sería como dices Jorcalmar, pero cambiando para que primero entren en H2 P6-P7-P8, recuerda que Ho(P7)=2.--[[Usuario:alvrodber|alvrodber]] 17:25 7 jun 2011 (UTC)

Revisión del 16:26 7 jun 2011

Ej: tenemos los siguientes procesos: m(P1)=6KB,m(P2)=1KB,m(P3)=3KB,m(P4)=31KB,m(P5)=30KB,m(P6)=2KB,m(P7)=4KB,m(P8)=1KB;
    y una memoria de 64 KB divididos en 4 huecos como sigue:
 _____
|_____| H1 = 8KB     | m(P1)=6KB  | H0(P1)=0 | t(P1)=8
|_____| H2 = 8KB     | m(P2)=1KB  | H0(P2)=0 | t(P2)=8
|     |              | m(P3)=3KB  | H0(P3)=1 | t(P3)=2
|_____| H3 = 16KB    | m(P4)=31KB | H0(P4)=0 | t(P4)=2
|     |              | m(P5)=30KB | H0(P5)=0 | t(P5)=2
|     |              | m(P6)=2KB  | H0(P6)=0 | t(P6)=2
|     | H4 = 32KB    | m(P7)=4KB  | H0(P7)=2 | t(P7)=2
|_____|              | m(P8)=1KB  | H0(P8)=0 | t(P8)=2
solución:
 >: fin del proceso.

    | P1| P1| P1| P1| P1| P1| P1| P1|   |
  H1|---|---|---|---|---|---|---|--->   |
    |   |   |   |   |   |   |   |   |   |
    | P6| P6| P7| P7| P3| P3|   |   |   |
  H2|---|--->---|--->---|--->   |   |   |
    |   |   |   |   |   |   |   |   |   |
    | P2| P2| P2| P2| P2| P2| P2| P2|   |
  H3|---|---|---|---|---|---|---|--->   |
    |   |   |   |   |   |   |   |   |   |
    | P4| P4| P5| P5| P8| P8|   |   |   |
  H4|---|--->---|--->---|--->   |   |   |
    |___|___|___|___|___|___|___|___|___|__>
    0   1   2   3   4   5   6   7   8   9  t


¿A qué criterio pertenece esta solución? --Jorcalmar 16:42 31 may 2011 (UTC)


Soluciones:

a) Mejor ajuste estático: Asociamos a cada proceso la partición menor en la que cabe. En nuestro caso: P1: H1 P2: H2 P3: H1/H2 el que acabe primero. P4: H4 P5: H4 P6: H1/H2 el que acabe primero. P7: H1/H2 el que acabe primero. P8: H1/H2 el que acabe primero.

Como vemos, usando este criterio, la partición H3 se queda siempre libre. Éste es uno de los inconvenientes del mejor ajuste estático, no aprovechamos todas las particiones.

    | P1| P1| P1| P1| P1| P1| P1| P1| P3| P3| P7| P7
  H1|---|---|---|---|---|---|---|--->---|--->---|--->
    |   |   |   |   |   |   |   |   |   |   |   |   |
    | P2| P2| P2| P2| P2| P2| P2| P2| P6| P6| P8| P8
  H2|---|---|---|---|---|---|---|--->---|-->|---|--->
    |   |   |   |   |   |   |   |   |   |   |   |   |
    |   |   |   |   |   |   |   |   |   |   |   |   |
  H3|   |   |   |   |   |   |   |   |   |   |   |   |
    |   |   |   |   |   |   |   |   |   |   |   |   |
    | P4| P4| P5| P5|   |   |   |   |   |   |   |   |
  H4|---|--->---|--->   |   |   |   |   |   |   |   |
    |___|___|___|___|___|___|___|___|___|__ |___|___|
    0   1   2   3   4   5   6   7   8   9  10   11  12


b) Primer ajuste: En este criterio, elegimos el primer proceso que quepa en la partición que tengamos en la cola de procesos en espera. Para este criterio, es conveniente verificar en cada instante de tiempo qué procesos tengo en espera (y en qué orden) y qué particiones se me van quedando libres en cada instante.


    | P1| P1| P1| P1| P1| P1| P1| P1|   |   |   |   |
  H1|---|---|---|---|---|---|---|--->   |   |   |   |
    |   |   |   |   |   |   |   |   |   |   |   |   |
    | P2| P2| P2| P2| P2| P2| P2| P2|   |   |   |   |
  H2|---|---|---|---|---|---|---|--->   |   |   |   |
    |   |   |   |   |   |   |   |   |   |   |   |   |
    | P6| P6| P8| P8| P3| P3|   |   |   |   |   |   |
  H3|---|--->---|--->---|--->   |   |   |   |   |   |
    |   |   |   |   |   |   |   |   |   |   |   |   |
    | P4| P4| P5| P5| P7| P7|   |   |   |   |   |   |
  H4|---|--->---|--->---|--->   |   |   |   |   |   |
    |___|___|___|___|___|___|___|___|___|__ |___|___|
    0   1   2   3   4   5   6   7   8   9  10   11  12


c) Mejor ajuste dinámico:En este criterio, hemos de seleccionar el mayor proceso que quepa en nuestra partición. Para esto debemos recorrer toda la cola de procesos en espera. Como inconveniente nos encontramos con que los procesos menores quedarán aplazados en favor de los procesos de mayor tamaño. Una vez más debemos tener cuidado verificando el estado de la cola de espera en cada instante de tiempo para la elección de los procesos.


    | P1| P1| P1| P1| P1| P1| P1| P1|   |   |   |   |
  H1|---|---|---|---|---|---|---|--->   |   |   |   |
    |   |   |   |   |   |   |   |   |   |   |   |   |
    | P6| P6| P7| P7| P3| P3|   |   |   |   |   |   |
  H2|---|--->---|--->---|--->   |   |   |   |   |   |
    |   |   |   |   |   |   |   |   |   |   |   |   |
    | P2| P2| P2| P2| P2| P2| P2| P2|   |   |   |   |
  H3|---|---|---|---|---|---|---|--->   |   |   |   |
    |   |   |   |   |   |   |   |   |   |   |   |   |
    | P4| P4| P5| P5| P8| P8|   |   |   |   |   |   |
  H4|---|--->---|--->---|--->   |   |   |   |   |   |
    |___|___|___|___|___|___|___|___|___|__ |___|___|
    0   1   2   3   4   5   6   7   8   9  10   11  12


Como podemos observar, el proceso 8, queda aplazado hasta que el resto de procesos mayores han terminado. Para solucionar este problema tenemos el siguiente criterio, mayor que quepa con aplazamiento, en el cual hacemos uso de una variable 'umbral' que selecciona aquellos procesos que han sido aplazados un número dado de veces.--Jorcalmar 17:43 31 may 2011 (UTC)


--El c en realidad,¿no seria?:


    | P1| P1| P1| P1| P1| P1| P1| P1|   |   |   |   |
  H1|---|---|---|---|---|---|---|--->   |   |   |   |
    |   |   |   |   |   |   |   |   |   |   |   |   |
    | P7| P7| P6| P6| P8| P8|   |   |   |   |   |   |
  H2|---|--->---|--->---|--->   |   |   |   |   |   |
    |   |   |   |   |   |   |   |   |   |   |   |   |
    | P3| P3| P2| P2| P2| P2| P2| P2| P2| P2|   |   |
  H3|---|--->---|---|---|---|---|---|---|--->   |   |
    |   |   |   |   |   |   |   |   |   |   |   |   |
    | P4| P4| P5| P5|   |   |   |   |   |   |   |   |
  H4|---|--->---|--->   |   |   |   |   |   |   |   |
    |___|___|___|___|___|___|___|___|___|__ |___|___|
    0   1   2   3   4   5   6   7   8   9  10   11  12

Cambia las asignaciones de H2 ya que P7>P3>P6 y por ese mismo criterio, en H3 primero entraria P3 y P8 entraria en H2.--Luidela1 14:26 7 jun 2011 (UTC)

Creo que sería como dices Jorcalmar, pero cambiando para que primero entren en H2 P6-P7-P8, recuerda que Ho(P7)=2.--alvrodber 17:25 7 jun 2011 (UTC)