La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

III - Gestión de memoria

Presentaciones similares


Presentación del tema: "III - Gestión de memoria"— Transcripción de la presentación:

1 III - Gestión de memoria

2 Almacenamiento real

3 Introducción Memoria=Almacenamiento Memoria primaria=RAM
Memoria real=Memoria primaria Programa y datos en memoria principal. Memoria principal más cara que la memoria secundaria. Cuando no se trabajaba con memoria virtual la MP era todo lo que se tenía. MP recurso caro.

4 Organización del almacenamiento
Es la forma de considerar la MP: ¿Se debe permitir o no varios usuarios al mismo tiempo? ¿Cómo se divide el espacio entre los distintos procesos? ¿La división es estática o dinámica? ¿Todos los bloques son del mismo tamaño o no? ¿Los trabajos se ejecutan en cualquier partición/bloque o en alguno determinado? ¿Un trabajo debe ocupar bloques contiguos de memoria o no?

5 Administración del almacenamiento
Las estrategias de administración del almacenamiento determinan el comportamiento de una organización cuando se siguen diferentes políticas: Cuándo se toma un nuevo proceso para colocarlo en la memoria ?: se toma un programa cuando llega o se trata de anticipar ? En qué lugar del almacenamiento principal se coloca un programa a ejecutar ? Cómo se manejan los espacios libres en memoria entre diferentes programas ? Se busca maximizarlos o minimizarlos ? Si al colocar un proceso en MP se debe quitar otro, cuál es el que sale ?

6 Jerarquía del almacenamiento
Antes la memoria era un recurso más escaso y se calculaba su necesidad con sumo cuidado. De todos modos, el problema de administrar correctamente la memoria sigue vigente, debido a que las aplicaciones son más ambiciosas. Los medios de almacenamiento se combinan en distintos niveles. En cada nivel tenemos distinto precio/unidad, y distinta velocidad de acceso y distinta capacidad.

7 continuación Aumenta la velocidad de acceso al almacenamiento
Aumenta el costo de almacenamiento por bit Disminuye la capacidad de almacenamiento Memoria caché La CPU puede acceder Directamente Al almacenamiento primario y a la memoria caché Almacenamiento primario Los programas y datos se deben Pasar primero a la MP para que la CPU pueda Referirse a ellos Almacenamiento secundario

8 Estrategias de administración del almacenamiento
Obtención: Determinan cuándo debe obtenerse información de MS y transferirla a MP. Colocación: Dónde se coloca la información que está entrando en MP. Reemplazo: Qué información que está en MP sale para dejar lugar a la nueva información entrante.

9 Estrategias de obtención
Determinan cuándo debe obtenerse el siguiente programa a alojar en MP. La más común es la obtención por demanda: un programa (o parte, o datos) son transferidos a MP en el momento que se hace referencia al mismo. La obtención anticipada busca traer anticipadamente código o datos a MP de modo que ya estén disponibles en el momento en que son necesarios. Esto mejoraría la performance, aunque predecir qué traer no es para nada simple.

10 Asignación de almacenamiento contiguo y no contiguo
Almacenamiento contiguo: un programa debe ocupar un único bloque contiguo de localidades de memoria. Un almacenamiento no contiguo recién se tornó necesario cuando se intentó realizar multiprogramación con particiones variables de memoria. En asignación de almacenamiento no contiguo se divide un programa en varios bloques o segmentos, que se colocan en memoria en posiciones que no tienen por qué ser adyacentes. Aparece la necesidad de gestionar los huecos en memoria.

11 Asignación de almacenamiento contiguo para un usuario único.
El usuario es único en el sistema, entonces es dueño de todos los recursos del mismo. Así, la memoria debe dividirse solamente entre el usuario y el sistema operativo, bajo un esquema como sigue:

12 continuación Sistema operativo a Usuario b No usado c
a b c Esquema de asignación de almacenamiento contiguo con un único usuario

13 continuación El tamaño de los programas está limitado por la cantidad de memoria principal. Es posible ejecutar programas mayores que MP por medio de superposiciones. En este caso en la memoria se ubican: Sistema operativo Código y datos que permanecen en MP durante toda la ejecución. Área de superposición, donde se cargan/descargan las distintas fases: iniciación, procesamiento, salida, p/ej.

14 continuación La superposición manual permite trabajar con más memoria que la que realmente se dispone. Complica la programación, ya que hay que planificar con cuidado el manejo de la memoria. Al usar técnicas de superposición los programas son difíciles de modificar y poco portables.

15 Protección de memoria en sistemas de usuario único
El usuario tiene todo el control sobre MP. Problema: Cómo se protege el SO para que no sea destruido por programas de usuario ? Si un programa de usuario se desvía podría destruir el SO, y a veces incluso esto no se notaría sino hasta mucho después, con efectos potencialmente gravísimos. Para proteger al sistema operativo del usuario, se trabaja con un registros de límites integrado a la CPU. Con cada acceso a una dirección de memoria se chequea la validez de la misma frente al contenido de este registro de límites.

16 Registro de límites Para todas las direcciones generadas
Usuario No usado Sistema operativo a b c Para todas las direcciones generadas por el programa se verifica que no sean menores que a. Registro límite CPU a

17 Multiprogramación con particiones fijas
Aún al usar sistemas de procesamiento por lotes, se siguen desperdiciando muchos recursos de cómputo. Un programa consume CPU hasta que necesita una E/S y en caso de un solo usuario, se desperdiciaba CPU mientras se esperaba por esta operación “lenta”. Multiprogramación: varios procesos de usuario compiten simultáneamente por los recursos del sistema. Así, si un programa libera CPU otro puede tomarla.

18 continuación Para lograr la multiprogramación, varios trabajos deben residir al mismo tiempo en MP. Se requiere de una memoria mayor que en el caso de usuario único, pero se usa mucho mejor la CPU.

19 continuación Hay dos alternativas:
Multiprogramación con particiones fijas, traducción y carga absolutas. Multiprogramación con particiones fijas, traducción y carga con reubicación. El modo elegido condiciona herramientas como compiladores…

20

21

22

23 Protección del almacenamiento
Hay que manejar varios registros de límites. Así, se guardan los límites superior e inferior de cada partición de usuario.

24

25 Un problema El gran problema (que aparece en todos los casos de almacenamiento) son los HUECOS. Esta fragmentación del espacio libre a veces no permite satisfacer demandas de usuarios cuando hay memoria libre pero muy fragmentada.

26 Multiprogramación con particiones variables
Sólo analizamos los casos de asignación contigua. A continuación se muestra un ejemplo de cómo se van atendiendo estos pedidos.

27

28 Huecos A continuación se muestra un ejemplo
en que aparecen huecos al trabajar con particiones variables. También se muestra la condensación de huecos

29

30 Huecos Ejemplo de compactación de huecos.
La compactación es un proceso que consume muchos recursos.

31

32 Estrategias de colocación
Sirven para determinar en qué lugar de MP se deben colocar los programas y datos entrantes. Estrategia del mejor ajuste Estrategia del peor ajuste Estrategia del primer ajuste A continuación se muestra un ejemplo de cada caso.

33


Descargar ppt "III - Gestión de memoria"

Presentaciones similares


Anuncios Google