La gestión de memoria representa un vínculo delicado entre el rendimiento (tiempo de acceso) y la cantidad (espacio disponible).
Siempre se busca obtener el mayor espacio disponible en la memoria, pero pocas veces existe la predisposición para comprometer el rendimiento.
La gestión de memoria también debe realizar las siguientes funciones:
Permitir que la memoria se comparta (en sistemas de multiprocesos).
Asignar bloques de espacio de memoria a distintas tareas;
Proteger los espacios de memoria utilizados (evitar que un usuario modifique una tarea realizada por otro usuario).
Optimizar la cantidad de memoria disponible, específicamente a través de sistemas de expansión de memoria.
Los mecanismos de distribución de memoria
Segmentación: los programas se dividen en paquetes de longitudes variadas conocidos como "segmentos".
Paginación: consiste en dividir la memoria en bloques y los programas en páginas de longitud fija.
Particiones Fijas
Memoria física se divide en particiones fijas
Todas las particiones son de tamaño fijo y nunca cambian, pero pueden haber particiones de diferentes tamaños
Hardware requerido: registro base y registro límite
Dirección física = dirección virtual + registro base
Registro base es cargado por el SO después de cambio de contexto, y entonces un proceso se va a ejecutar
Ventajas
Sencillo, cambio de contexto rápido
Desventajas
Fragmentación interna
Partición mas grande de lo necesario (sobra memoria que no puede utilizar otro proceso)
Fragmentación externa
Caso en que dos particiones disponibles pero ambas muy pequeñas para contener un proceso mas grande
No hay comentarios.:
Publicar un comentario