Diferencia entre revisiones de «SO multiprogramables con particiones fijas»
De Wiki de Sistemas Operativos
Línea 12: | Línea 12: | ||
Se lanza un proceso, y hay que elegir a que partición va (estrategia de espera). Puede haber una cola por partición, o una sola para todas las particiones. | Se lanza un proceso, y hay que elegir a que partición va (estrategia de espera). Puede haber una cola por partición, o una sola para todas las particiones. | ||
− | Ej: tenemos los siguientes procesos: m(P1) = 6KB, m(P2) = 1KB, m(P3) = 3KB, m(P4) = 31KB, m(P5) = 30KB; y una memoria de 64 KB divididos en 4 huecos como sigue: | + | Ej: tenemos los siguientes procesos: m(P1) = 6KB, m(P2) = 1KB, m(P3) = 3KB, m(P4) = 31KB, m(P5) = 30KB; |
+ | y una memoria de 64 KB divididos en 4 huecos como sigue: | ||
_ | _ | ||
|_| H1 = 8KB | |_| H1 = 8KB |
Revisión del 13:41 11 may 2011
La memoria se encuentra dividida en particiones, en cada una habrá un proceso.
Estrategias
- Cancelación: "no hay memoria, prueba luego"
- Espera: añadir a la cola
Limitaciones
- Procesos partición máxima -> No se ejecuta
- Desperdicio de memoria. Por ejemplo, si los procesos son muy pequeños y las particiones grandes
Criterios de asignación
Se lanza un proceso, y hay que elegir a que partición va (estrategia de espera). Puede haber una cola por partición, o una sola para todas las particiones.
Ej: tenemos los siguientes procesos: m(P1) = 6KB, m(P2) = 1KB, m(P3) = 3KB, m(P4) = 31KB, m(P5) = 30KB; y una memoria de 64 KB divididos en 4 huecos como sigue: _ |_| H1 = 8KB |_| H2 = 8KB | | |_| H3 = 16KB | | | | | | H4 = 32KB |_|
- Mejor ajuste estático: se adjudica cada proceso a la menor partición que quepa. Complejidad: O(1)
- Primer ajuste: cuando una partición queda libre, se asigna el primer proceso que quepa en ella. Complejidad: O(1)
- Mejor ajuste dinámico: cuando una partición queda libre, se asigna el mayor proceso que queda en ella. Complejidad: O(nlog(p))