Diferencia entre revisiones de «SO multiprogramables con particiones fijas»

De Wiki de Sistemas Operativos
Saltar a: navegación, buscar
(Criterios de asignación)
Línea 36: Línea 36:
  
 
[[solución ajuste dinámico|Ver solución]]
 
[[solución ajuste dinámico|Ver solución]]
 +
 +
*'''Mejor que quepa con aplazamiento limitado''': Cuando queda una partición libre, se selecciona el mayor proceso que quepa en ella, pero se cuenta el nº de veces que un proceso se aplaza. Si se superan esas n veces (umbral), se le da paso.
 +
 +
*'''Subparticiones'''

Revisión del 16:30 16 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)

Ver solución

  • Primer ajuste: cuando una partición queda libre, se asigna el primer proceso que quepa en ella. Complejidad: O(1)

Ver solución

  • Mejor ajuste dinámico: cuando una partición queda libre, se asigna el mayor proceso que queda en ella. Complejidad: O(nlog(p))

Ver solución

  • Mejor que quepa con aplazamiento limitado: Cuando queda una partición libre, se selecciona el mayor proceso que quepa en ella, pero se cuenta el nº de veces que un proceso se aplaza. Si se superan esas n veces (umbral), se le da paso.
  • Subparticiones