Diferencia entre revisiones de «Otro ejemplo»
(No se muestran 8 ediciones intermedias de 4 usuarios) | |||
Línea 27: | Línea 27: | ||
|___|___|___|___|___|___|___|___|___|__> | |___|___|___|___|___|___|___|___|___|__> | ||
0 1 2 3 4 5 6 7 8 9 t | 0 1 2 3 4 5 6 7 8 9 t | ||
+ | |||
+ | |||
+ | ¿A qué criterio pertenece esta solución? | ||
+ | --[[Usuario:Jorcalmar|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 | ||
+ | |||
+ | '''DUDAAAAAAA!!''' Porque se pone P8 antes que P3?? No esta P3 antes en la cola??? | ||
+ | |||
+ | Mi solucion sería igual pero cambiando: | ||
+ | H3: P6-P3-P7 | ||
+ | H4: P4-P5-P8 | ||
+ | |||
+ | Alguien la resuelve?? --[[Usuario:Lcarlosp|Lcarlosp]] 16:25 7 jun 2011 (UTC) | ||
+ | |||
+ | Creo que es porque primero debes recorrer todos los procesos, y luego centrarte en la cola, haciéndolo así es de la única manera en la que todos los ejercicios tienen algun sentido. --[[Usuario:alvrodber|alvrodber]] 21:35 7 jun 2011 (UTC) | ||
+ | |||
+ | --[[Usuario:PCamino|desertEagle]] 20:13 7 jun 2011 (UTC) A mi me sale eso, el 8 lo pongo antes que el 3 simplemente porque llega antes | ||
+ | |||
+ | '''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.--[[Usuario:Jorcalmar|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.--[[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 actual del 21:14 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
DUDAAAAAAA!! Porque se pone P8 antes que P3?? No esta P3 antes en la cola???
Mi solucion sería igual pero cambiando: H3: P6-P3-P7 H4: P4-P5-P8
Alguien la resuelve?? --Lcarlosp 16:25 7 jun 2011 (UTC)
Creo que es porque primero debes recorrer todos los procesos, y luego centrarte en la cola, haciéndolo así es de la única manera en la que todos los ejercicios tienen algun sentido. --alvrodber 21:35 7 jun 2011 (UTC)
--desertEagle 20:13 7 jun 2011 (UTC) A mi me sale eso, el 8 lo pongo antes que el 3 simplemente porque llega antes
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)