Proceso de administración de memoria

Proceso de administración de memoria

Comienza Ya. Es Gratis
ó regístrate con tu dirección de correo electrónico
Rocket clouds
Proceso de administración de memoria por Mind Map: Proceso de administración de memoria

1. Jerarquía de Almacenamiento

1.1. Los programas y datos tienen que estar en la memoria principal para poder ejecutarse o ser referenciados

1.2. Los programas y datos que no son necesarios de inmediato pueden mantenerse en el almacenamiento secundario

1.3. Un nivel adicional es el “caché” o memoria de alta velocidad

1.3.1. Es más rápida y costosa que la memoria principal

1.3.2. Impone al sistema un nivel más de traspaso

1.3.2.1. Los programas son traspasados de la memoria principal al caché antes de su ejecución

1.3.3. Los programas en la memoria caché ejecutan mucho más rápido que en la memoria principal

1.3.4. Al utilizar memoria caché se espera que La sobrecarga que supone el traspaso de programas de un nivel de memoria a otro sea mucho menor que la mejora en el rendimiento obtenida por la posibilidad de una ejecución mucho más rápida en la caché

1.4. El almacenamiento principal es más costoso y menor que el secundario pero de acceso más rápido

1.5. Los sistemas con varios niveles de almacenamiento requieren destinar recursos para administrar el movimiento de programas y datos entre niveles

2. Organización del almacenamiento

2.1. Manera de considerar el almacenamiento

2.2. Si se encuentran varios programas de usuario

2.2.1. ¿Se concede a cada uno la misma cantidad de espacio o se divide el almacenamiento en porciones o “particiones” de diferente tamaño?

2.2.2. ¿Se utilizará un esquema rígido de número y tamaño de particiones o un esquema dinámico y adaptable?

2.2.3. ¿Se requerirá que los trabajos de los usuarios sean diseñados para funcionar en una partición específica o se permitirá que se ejecuten en cualquiera donde quepan?

2.2.4. ¿Se requerirá o no que cada trabajo sea colocado en un bloque contiguo de memoria?

2.3. ¿Se coloca un solo programa de usuario o varios?

3. Administración del Almacenamiento

3.1. Decidir las estrategias que se utilizarán para optimizar el rendimiento

3.2. Las “estrategias de administración” deben considerar

3.2.1. ¿Cuándo se consigue un nuevo programa para colocar en la memoria?

3.2.1.1. ¿Cuando el sistema lo pide específicamente o se intenta anticiparse a las peticiones?

3.2.2. ¿Dónde se colocará el programa que se ejecutará a continuación?

3.2.2.1. ¿Se prioriza el tiempo de carga o la optimización en el uso del almacenamiento?

3.2.3. ¿Con qué criterio se desplazarán programas?

4. Administración del Almacenamiento

4.1. Están dirigidas a la obtención del mejor uso posible del recurso del almacenamiento principal

4.2. Se dividen en las siguientes categorías

4.2.1. Estrategias de búsqueda: están relacionadas con el hecho de cuándo obtener el siguiente fragmento de programa o de datos para su inserción en la memoria principal.

4.2.1.1. Estrategias de búsqueda por demanda: el siguiente fragmento de programa o de datos se carga al almacenamiento principal cuando algún programa en ejecución lo referencia

4.2.1.2. Estrategias de búsqueda anticipada: puede producir un mejor rendimiento del sistema

4.2.2. Estrategias de colocación: están relacionadas con la determinación del lugar de la memoria donde se colocará (cargará) un programa nuevo

4.2.3. Estrategias de reposición: están relacionadas con la determinación de qué fragmento de programa o de datos desplazar para dar lugar a los programas nuevos.

5. Esquemas de asignación de memoria

5.1. Contigua

5.1.1. La memoria está dividida de antemano en espacios (Particiones).

5.1.2. Un proceso necesita ejecutarse -> Se le asigna uno de dichos espacios (Partición).

5.1.3. Cada partición puede contener un único proceso

5.1.4. Pueden ser:

5.1.4.1. Particiones Fijas:

5.1.4.1.1. – Todas el mismo tamaño. – Con diferentes Tamaños.

5.1.4.2. Particiones Variables

5.2. Asignación dinámica de almacenamiento

5.2.1. Externa: SI. (memoria dividida en huecos pequeños) • Suma del espacio libre en memoria suficiente para el nuevo proceso. • Pero no hay huecos suficientemente grand

5.2.2. Interna: NO. • Las particiones se crean con el tamaño solicitado por el proceso.

5.2.3. ¿Como elegir un hueco cuando llega un nuevo proceso de tamaño N?

5.2.3.1. Estrategías:

5.2.3.1.1. Primer Ajuste: • Escoge el primer hueco libre de tamaño suficiente.

5.2.3.1.2. Mejor Ajuste: • Hueco más pequeño con tamaño suficiente (requiere ver toda la lista si no está ordenada).

5.2.3.1.3. Peor Ajuste: • Hueco más grande: Pretende conseguir que los huecos que queden sean grandes (requiere ver toda la lista si no ordenada).

5.3. Paginación

5.3.1. Permite que la memoria de un proceso no sea contigua

5.3.2. Hay una distinción entre direcciones lógicas y físicas.

5.3.2.1. La dirección lógica generada consta de dos partes: • Número de Pagina (P). • Desplazamiento dentro de la página (D).

5.3.2.2. La dirección física es el número de marco y el desplazamiento

5.3.3. La memoria física la dividimos en bloques de tamaño fijo: marcos.

5.3.4. La memoria lógica: • La dividimos en bloques llamados: páginas. • De igual tamaño que el marco.

5.3.5. Las páginas de un proceso se cargan en los marcos de la memoria principal que estén disponibles:

5.3.5.1. Tenemos “trozos” del proceso allí donde la memoria está disponible.

5.4. Segmentación

5.4.1. El espacio de direcciones lógicas se compone de un conjunto de segmentos: Cada uno tiene un nombre y una longitud.

5.4.2. Para el usuario las direcciones especifican el nombre del segmento y el desplazamiento dentro de él.

5.4.3. Hardware de segmentación mediante Tabla de segmentos

5.4.3.1. Establece la correspondencia entre direcciones físicas y lógicas

5.4.3.2. Se busca en la tabla de acuerdo con el número de segmento

5.4.3.3. Cada entrada 2 registros: – base (dir. Física inicial del segmento en memoria) – límite de segmento (longitud del segmento)

5.4.3.4. Se compara límite del segmento con desplazamiento

5.4.3.5. Si desplazamiento válido, se suma a la dirección el registro base

5.4.4. El nombre del segmento se numera (es un número). <número segmento, desplazamiento>

5.4.5. Hay una división lógica del proceso en diferentes segmentos.

5.5. Segmentación paginada

5.5.1. La Memoria lógica está dividida en bloque llamados segmentos que contienen las regiones de un proceso

5.5.2. Dirección lógica=<nº segmento, desplazamiento>=<S,d>

5.5.3. Los segmento están divididos en páginas de igual tamaño que los marcos (potencias de 2)

5.5.4. Las páginas de un proceso se cargan en marcos de la memoria principal

5.5.5. Esquema de traducción de direcciones

5.5.5.1. Dirección lógica=<nº segmento, desplazamiento>=<S,d>

5.5.5.2. S= entrada de la tabla de segmentos

5.5.5.2.1. • Contiene el límite del segmento

5.5.5.2.2. • Contiene la dirección base de una tabla de páginas.

5.5.5.2.3. • Habrá una tabla de páginas por cada segmento.

5.5.5.3. El desplazamiento d es:

5.5.5.3.1. • Un número de página P.

5.5.5.3.2. • Un nuevo desplazamiento dentro de la página d’.

5.5.6. Cada segmento tiene asociada una tabla de páginas

5.5.7. Se usa un registro límite y base de la tabla de páginas para cada segmento