unidad 3. administración de memoria

31
Unidad 3. Administración de la memoria

Upload: alienarandas123

Post on 04-Jan-2016

235 views

Category:

Documents


3 download

DESCRIPTION

Administración de memoria

TRANSCRIPT

Page 1: Unidad 3. Administración de Memoria

Unidad 3. Administración de la memoria

Page 2: Unidad 3. Administración de Memoria

INTRODUCCIÓNLa organización y administración de la memoria

principal, memoria primaria o memoria real de un sistema de cómputo ha sido uno de los factores mas importantes que influyen en el diseño de los sistemas operativos.

Los programas y datos deben residir en la memoria principal para podernos ejecutar o para hacer referencia directamente a ellos.

El almacenamiento secundario (Disco Duro) proporcionan capacidad barata en gran escala para los numerosos programas y datos que deben mantenerse disponibles para su procesamiento.

Page 3: Unidad 3. Administración de Memoria

ORGANIZACIÓN DEL ALMACENAMIENTO

Por organización del almacenamiento se entiende la forma de considerar el almacenamiento principal.

El almacenamiento principal se ha considerado como un recurso relativamente caro y como tal ha capturado la atención de los diseñadores de sistemas quienes intentan optimizar su uso.

Page 4: Unidad 3. Administración de Memoria

ADMINISTRACIÓN DEL ALMACENAMIENTO Las estrategias de administración del almacenamiento determinan el

comportamiento de una organización de almacenamiento determinada cuando se siguen diferentes políticas:

¿Cuándo se toma un nuevo programa para colocarlo en la memoria? ¿Se toma el programa cuando el sistema lo solicita específicamente o

se intenta anticiparse a las peticiones del sistema? ¿En que lugar del almacenamiento principal se coloca el siguiente

programa por ejecutar? ¿Se colocan los programas lo mas cerca posible unos de otros en los

espacios disponibles de la memoria para reducir al mínimo el desperdicio de espacio, o se colocan lo más rápido posible para reducir al mínimo el tiempo de ejecución?

Sí se necesita colocar un nuevo programa en el almacenamiento y éste está lleno, ¿cuál de los otros programas de desaloja? ¿Se deben reemplazar los programas más antiguos los que se utilizan con menos frecuencia o los utilizados hace más tiempo?

Page 5: Unidad 3. Administración de Memoria

JERARQUÍA DEL ALMACENAMIENTOEn los años sesenta se hizo evidente que la

jerarquía del almacenamiento podría extenderse un nivel más con luna clara mejora del rendimiento y la utilización.

Este nivel adicional, la memoria caché es un almacenamiento de alta velocidad, mucho más rápido que el almacenamiento principal.

Introduce un nivel adicional de transferencia de información en el sistema. Los programas en memoria principal se pasan a la memoria caché antes de ejecutarse y son más rápidos.

Page 6: Unidad 3. Administración de Memoria

JERARQUÍA DEL ALMACENAMIENTO

Page 7: Unidad 3. Administración de Memoria

ESTRATEGIAS DE ADMINISTRACIÓN DEL ALMACENAMIENTO Las estrategias de la administración del almacenamiento se

dividen en las siguientes categorías:1. Estrategias de obtención: Determinan cuando debe obtenerse

la siguiente parte del programa o los datos que se van a transferir del almacenamiento secundario al principal.

a) Estrategias de obtención por demanda: Se transfiere cuando un programa en ejecución hace referencia a ella.

b) Estrategias de obtención anticipada: Hace suposiciones y anticipa la carga.

2. Estrategias de colocación: Determina el almacenamiento donde se colocará un programa entrante (primer ajuste, mejor ajuste y peor ajuste)

3. Estrategias de reemplazo: Determina que parte del programa o de los datos se debe desalojar para dejar espacio a los programas entrantes.

Page 8: Unidad 3. Administración de Memoria

ASIGNACIÓN DE ALMACENAMIENTO CONTIGUO Y NO CONTIGUO

Los primeros sistemas de cómputo requerían una asignación de almacenamiento contiguo: Cada programa tenía que ocupar un único bloque contiguo de localidades de memoria.

En la asignación de almacenamiento no contiguo un programa se divide en varios bloques o segmentos que se pueden colocar en el almacenamiento principal en fragmentos que no necesitan ser adyacentes.

Page 9: Unidad 3. Administración de Memoria

ASIGNACIÓN DE ALMACENAMIENTO CONTIGUO PARA UN USUARIO ÚNICO Los primeros sistemas de cómputo permitían que sólo una

persona a la vez utilizara la máquina, todos los recursos estaban a su disposición por un tiempo determinado por un cobro por hora.

El código de entrada y salida requerido para realizar las funciones básicas se consolidó en un sistema de control de entrada/salida (input/output control system, IOCS).

El tamaño de los programas está limitado por la cantidad de memoria principal, pero es posible ejecutar programas más grandes utilizando superposiciones.

El S.O. debe protegerse del usuario mediante un registro de límites para verificar que no se valla a destruir al sistema con un mensaje de error apropiado (instrucción de llamada al supervisor)

Page 10: Unidad 3. Administración de Memoria

ASIGNACIÓN DE ALMACENAMIENTO CONTIGUO PARA UN USUARIO ÚNICO

Page 11: Unidad 3. Administración de Memoria

PROCESAMIENTO POR LOTES DE FLUJO ÚNICO

En este procesamiento los trabajos se agrupan en lotes cargándolos consecutivamente. Un procesador de flujo de trabajos lee las instrucciones en lenguaje de control de trabajos y facilita la preparación para el siguiente trabajo.

Envía órdenes al operador del sistema y realiza automáticamente muchas funciones que antes eran efectuadas en forma manual.

Page 12: Unidad 3. Administración de Memoria

MULTIPROGRAMACIÓN CON PARTICIONES FIJASSon sistemas de multiprogramación en los

cuales varios usuarios compiten al mismo tiempo por los recursos del sistema.

El trabajo que está esperando la terminación de una operación de E/S cederá la CPU a otro trabajo que esté listo para realizar cálculos, si es que hay uno en espera.

Es necesario que varios trabajos residan al mismo tiempo en el almacenamiento principal del computador para que la CPU pueda comunicarse inmediatamente de uno a otro.

Page 13: Unidad 3. Administración de Memoria

MULTIPROGRAMACIÓN CON PARTICIONES FIJASMULTIPROGRAMACIÓN CON PARTICIONES FIJAS:

TRADUCCIÓN Y CARGA ABSOLUTAS.El almacenamiento principal se dividía en

particiones de tamaño fijo.En cada partición podía haber un solo trabajo. Los trabajos se traducen con compiladores y

ensambladores absolutos para ejecutarse en una partición específica.

Sí un trabajo estaba listo para ser ejecutado y su partición estaba ocupada, tenía que esperar aunque estuvieran libres otras particiones.

Page 15: Unidad 3. Administración de Memoria

MULTIPROGRAMACIÓN CON PARTICIONES FIJASMULTIPROGRAMACIÓN CON PARTICIONES FIJAS:

TRADUCCIÓN Y CARGA CON REUBICACIÓN.Los compiladores, ensambladores y cargadores

con reubicación sirven para producir programas reubicables que se pueden ejecutar en cualquier partición disponible que sea lo bastante grande para contenerlos.

Dicho esquema elimina parte del desperdicio de espacio inherente a la multiprogramación con carga y traducción absolutas.

Page 17: Unidad 3. Administración de Memoria

MULTIPROGRAMACIÓN CON PARTICIONES FIJAS

PROTECCIÓN EN LOS SITEMAS CON MULTIPROGRAMACIÓN

Sí se utiliza asignación contigua de memoria la protección suele implementarse con varios “registros de límites”.

Los extremos superior e inferior de una partición pueden ser:◦Delineados con dos registros.◦Indicados el límite inferior o superior y el tamaño

de la partición o región.

Page 18: Unidad 3. Administración de Memoria

MULTIPROGRAMACIÓN CON PARTICIONES FIJAS

Page 19: Unidad 3. Administración de Memoria

MULTIPROGRAMACIÓN CON PARTICIONES FIJASFRAGMENTACIÓN EN LA MULTIPROGRAMACIÓN

CON PARTICIONES FIJAS.La fragmentación del almacenamiento se

presenta en todos los sistemas de cómputo, sea cual sea la organización.

En los sistemas con multiprogramación y particiones fijas, la fragmentación ocurre porque los trabajos de los usuarios no llenan por completo las particiones designadas o porque una partición se queda sin utilizar por ser demasiado pequeña para contener un trabajo en espera.

Page 20: Unidad 3. Administración de Memoria

MULTIPROGRAMACIÓN CON PARTICIONES VARIABLES Los procesos ocupan tanto espacio como necesitan, pero

obviamente no deben superar el espacio disponible de memoria.

No hay límites fijos de memoria, es decir que la partición de un trabajo es su propio tamaño.

Se consideran “esquemas de asignación contigua”, dado que un programa debe ocupar posiciones adyacentes de almacenamiento.

Los procesos que terminan dejan disponibles espacios de memoria principal llamados “huecos”: ◦ Pueden ser usados por otros trabajos que cuando finalizan dejan

otros “huecos” menores.◦ En sucesivos pasos los “huecos” son cada vez más numerosos pero

más pequeños, por lo que se genera un desperdicio de memoria principal.

Page 21: Unidad 3. Administración de Memoria

MULTIPROGRAMACIÓN CON PARTICIONES VARIABLES

Page 22: Unidad 3. Administración de Memoria

MULTIPROGRAMACIÓN CON PARTICIONES VARIABLES

COMPACTACIÓN DEL ALMACENAMIENTO:Puede ocurrir que los huecos (áreas libres)

separados distribuidos por todo el almacenamiento principal constituyan una cantidad importante de memoria: ◦Podría ser suficiente (el total global disponible)

para alojar a procesos encolados en espera de memoria.

◦Podría no ser suficiente ningún área libre individual.

Page 23: Unidad 3. Administración de Memoria

MULTIPROGRAMACIÓN CON PARTICIONES VARIABLES

Page 24: Unidad 3. Administración de Memoria

MULTIPROGRAMACIÓN CON PARTICIONES VARIABLES

COMPACTACIÓN DEL ALMACENAMIENTO:La técnica de compresión de memoria

implica pasar todas las áreas ocupadas del almacenamiento a uno de los extremos de la memoria principal:

Deja un solo agujero grande de memoria libre contigua.

Esta técnica se denomina “recogida de residuos”.

Page 25: Unidad 3. Administración de Memoria

MULTIPROGRAMACIÓN CON PARTICIONES VARIABLES

Page 26: Unidad 3. Administración de Memoria

MULTIPROGRAMACIÓN CON PARTICIONES VARIABLESPRINCIPALES DESVENTAJAS DE LA COMPRESIÓNConsume recursos del sistema.El sistema debe detener todo mientras efectúa la

compresión, lo que puede afectar los tiempos de respuesta.

Implica la relocalización (reubicación) de los procesos que se encuentran en la memoria: ◦La información de relocalización debe ser de

accesibilidad inmediata.Una alta carga de trabajo significa mayor

frecuencia de compresión que incrementa el uso de recursos.

Page 27: Unidad 3. Administración de Memoria

MULTIPROGRAMACIÓN CON PARTICIONES VARIABLES

Page 28: Unidad 3. Administración de Memoria

MULTIPROGRAMACIÓN CON PARTICIONES VARIABLES ESTRATEGIAS DE COLOCACIÓN EN EL ALMACENAMIENTO. Se utilizan para determinar el lugar de la memoria donde

serán colocados los programas y datos que van llegando y se las clasifica de la siguiente manera:

“Estrategia de mejor ajuste”: ◦ Un trabajo nuevo es colocado en el hueco en el cual quepa de forma

más ajustada: Debe dejarse el menor espacio sin usar.

“Estrategia de primer ajuste”: Un trabajo nuevo es colocado en el primer agujero disponible con tamaño

suficiente para alojarlo. “Estrategia de peor ajuste”:

◦ Consiste en colocar un programa en el agujero en el que quepa de la peor manera, es decir en el más grande posible: El agujero restante es también grande para poder alojar a un

nuevo programa relativamente grande.

Page 29: Unidad 3. Administración de Memoria

MULTIPROGRAMACIÓN CON PARTICIONES VARIABLES

Page 30: Unidad 3. Administración de Memoria

MULTIPROGRAMACIÓN CON PARTICIONES VARIABLES

Page 31: Unidad 3. Administración de Memoria

MULTIPROGRAMACIÓN CON PARTICIONES VARIABLES