tecnicas de administracion de memoria

43
La labor del administrador de la memoria consiste en Llevar el registro de las partes de memoria que se estén utilizando y aquellas que no, con el fin de asignar espacio en memoria a los procesos; cuando estos la necesiten y liberarlo cuando terminen. Administrar el intercambio entre la memoria principal y el disco, en los casos en que la memoria principal no pueda albergar a todos los procesos. ADMINISTRACION DE MEMORIA Estructura general

Upload: ashley-stronghold-witwicky

Post on 25-Jun-2015

850 views

Category:

Education


1 download

DESCRIPTION

Tecnicas de Administracion de Memoria

TRANSCRIPT

Page 1: Tecnicas de Administracion de Memoria

La labor del administrador de la memoria consiste en

Llevar el registro de las partes de memoria que se estén utilizando y aquellas que no, con el fin de asignar espacio en memoria a los procesos; cuando estos la necesiten y liberarlo cuando terminen.

Administrar el intercambio entre la memoria principal y el disco, en los casos en que la memoria principal no pueda albergar a todos los procesos.

ADMINISTRACION DE MEMORIAEstructura general

Page 2: Tecnicas de Administracion de Memoria

MEMORIA REAL O PRINCIPAL

Una de las funciones básicas que debe implementar un SO es la Administración de la Memoria para tener un control sobre los lugares donde están almacenados los procesos y datos que actualmente se están utilizando.

La memoria principal puede ser considerada como un arreglo lineal de localidades de almacenamiento de un byte de tamaño. Cada localidad de almacenamiento tiene asignada una dirección que la identifica.

Es en donde son ejecutados los programas y procesos de una computadora y es el espacio real que existe en memoria para que se ejecuten los procesos. Por lo general esta memoria es de mayor costo que la memoria secundaria, pero el acceso a la información contenida en ella es más rápido. Solo la memoria cache es más rápida que la principal, pero su costo es a su vez mayor.

Page 3: Tecnicas de Administracion de Memoria

A la memoria secundaria o de "almacenamiento masivo“ es de mucha mayor capacidad que la memoria primaria, pero también es mucho más lenta. En las computadoras modernas, los discos duros suelen usarse como dispositivos de almacenamiento masivo. El tiempo necesario para acceder a un byte de información dado almacenado en un disco duro es de alrededor de unos pocas milésimas de segundo (milisegundos).

En cambio, el tiempo que lleva acceder lo mismo en una memoria de acceso aleatorio se mide en mil-millonésimas de segundo (nanosegundos). Esto ilustra cuan significativa es la diferencia de velocidad que distingue las memorias de estado sólido de los dispositivos rotantes de almacenamiento magnético: Los discos duros son del orden de un millón de veces más lentos que la memoria. Los dispositivos rotantes de almacenamiento óptico (unidades de CD y DVD) son incluso más lentos que los discos duros, aunque es probable que sus velocidades de acceso mejoren a la par que los avances tecnológicos..

MEMORIA SECUNDARIA

Page 4: Tecnicas de Administracion de Memoria

Memoria Real

Page 5: Tecnicas de Administracion de Memoria

Admon. de almacenamiento

Formateo de discos

Un disco magnético nuevo, no es mas que platos de un material de grabación magnético. Antes de poder almacenar datos en el disco, es preciso dividirlo en sectores que el controlador de disco pueda leer y escribir.

Administración del espacio de intercambio.El objetivo principal del diseño e implementación del espacio de intercambio es ofrecer el mejor rendimiento al sistema de memoria virtual. Los sistemas que implementan intercambio podrían usar el espacio de intercambio para contener toda la imagen del proceso

ALMACENAMIENTO TERCIARIO -Discos removibles.

Los discos removibles son un tipo de almacenamiento terciario. Los discos magneto-ópticos son una clase de discos removibles, como es el disco óptico. Memorias de disco óptico almacenan información usando agujeros minúsculos grabados con un láser en la superficie de un disco circular. La información se lee iluminando la superficie con un diodo laser y observando la reflexión.

Page 6: Tecnicas de Administracion de Memoria

FORMATOS DE DISCOS REMOVIBLES CD, CD-ROM, DVD: Memorias de simplemente solo lectura, usada par distribución masiva de información digital (música, vídeo, programas informáticos).

CD-R, DVD-R, DVD+R: Memorias de escritura única usada como memoria terciaria y fuera de línea

CD-RW, DVD-RW, DVD+RW, DVD-RAM: Memoria de escritura lenta y lectura rápida usada como memoria terciaria y fuera de línea.

Blu-ray: Formato de disco óptico pensado para almacenar vídeo de alta calidad y datos.

FORMATOS HD DVD :

HDV: Discos cambio de fase Dual Estos discos no utilizan magnetismo; emplean materiales que se pueden alterar con la luz láser para que tengan puntos relativamente oscuros o brillantes.

La cinta magnética: es otro tipo de medio removible. Una cinta es mas económica que un disco óptico o magnético, y contiene mas datosbúsqueda en disco.

Page 7: Tecnicas de Administracion de Memoria

La memoria principal es el lugar donde el CPU lee las instrucciones a ejecutar, así como algunos datos a emplear.

Una de las funciones básicas que debe implementar un SO es la Administración de la Memoria para tener un control sobre los lugares donde están almacenados los procesos y datos que actualmente se están utilizando.

POLITICAS Y FILOSOFIA

Page 8: Tecnicas de Administracion de Memoria

FIFO: Los procesos se despachan de acuerdo a su tiempo de llegada la cola de procesos listos, si un proceso llega al procesador sale hasta que termine.

SJF (Shortest job first - Prioridad del trabajo mas corto): Se ejecuta primero el proceso en espera que tiene el menor tiempo estimado. SJF favorece a los procesos cortos.

SRT (Shortest remaining time scheduling) – Tiempo restante más corto): Una vez que un proceso comienza su ejecución continua hasta terminar. En SRT, un proceso en ejecución puede ser desposeído por uno nuevo de menor tiempo de ejecución.

HRN: (highest response ratio next – Prioridad de la tasa de respuesta más alta): corrige el retraso excesivo de procesos grandes que produce el SJF, para así no caer en un favoritismo excesivo por los procesos cortos, con lo cual la prioridad de cada trabajo no solo esta en función del tiempo de servicio sino también del tiempo que ha esperado para ser atendido.

Page 9: Tecnicas de Administracion de Memoria

JERARQUIA Se conoce como jerarquía de memoria a la organización piramidal de la memoria en niveles, que

tienen los ordenadores. Su objetivo es conseguir el rendimiento de una memoria de gran velocidad al costo de una memoria de baja velocidad, basándose en el principio de cercanía de referencias.

Los puntos básicos relacionados con la memoria pueden resumirse en Calidad, Velocidad, Costo

Los niveles que componen la jerarquía de memoria habitualmente son:

Nivel 1: Registros

Nivel 1: Memoria Caché

Nivel 2: Memoria Principal

Nivel 3: Disco Duro

REGISTRO

Un registro es una memoria de alta velocidad y poca capacidad, integrada en el microprocesador, que permite guardar y acceder a valores muy usados, generalmente en operaciones matemáticas. Es la manera más rápida que tiene el sistema de almacenar datos. Los registros se miden generalmente por el número de bits que almacenan; por ejemplo, un "registro de 32 bits". Los registros generalmente se implementan en un banco de registros, memoria SRAM (Memoria Estática de Acceso Aleatorio), un tipo de memoria RAM (estática), es muy cara, es volátil, es rápida.

MEMORIA CACHE

Es un conjunto de datos duplicados de otros originales, Cuando se accede por primera vez a un dato, se hace una copia en el caché; los accesos siguientes se realizan a dicha copia, haciendo que el tiempo de acceso medio al dato sea menor.

Page 10: Tecnicas de Administracion de Memoria

MEMORIA PRINCIPAL:

La memoria principal son circuitos integrados capaces de almacenar información digital, a los que tiene acceso el microprocesador del equipo de cómputo. Poseen una menor capacidad de almacenamiento que la memoria secundaria, pero una velocidad millones de veces superior. En las computadoras son utilizados dos tipos de estos dispositivos: Read Only Memory (ROM), memoria de solo lectura, almacena códigos de programa grabados en fábrica. Random Access Memory (RAM), memoria de acceso aleatorio, almacena datos que pueden ser escritos y borrados atendiendo a los procesos de computación. El microprocesador direcciona las posiciones de la RAM para poder acceder a los datos almacenados en ellas y para colocar los resultados de las operaciones.

DISCO DURO

Se llama disco duro, disco solidó o disco rígido ( hard disk, HD o HDD) al dispositivo encargado de almacenar información de forma permanente en una computadora. Dentro de un disco duro hay varios platos , que son discos (de aluminio o cristal) concéntricos y que giran todos a la vez. El cabezal (dispositivo de lectura y escritura) es un conjunto de brazos alineados verticalmente que se mueven hacia dentro o fuera según convenga, todos a la vez.

Los componentes que tiene un disco duro son:

Plato: Cada uno de los discos que hay dentro del disco duro (platos metálicos apilados giran a gran Velocidad).

Cara: Cada uno de los dos lados de un plato

Cabeza: Número de cabezales (leer y escribir).

Pista: Una circunferencia dentro de una cara; la pista 0 está en el borde exterior.

Cilindro: Conjunto de varias pistas; son todas las circunferencias que están alineadas verticalmente (una de cada cara).

Sector: Cada una de las divisiones de una pista. El tamaño del sector no es fijo, siendo el estándar 512 bytes.

Cinta magnética y los discos ópticos para el almacenamiento de archivos.

Page 11: Tecnicas de Administracion de Memoria
Page 12: Tecnicas de Administracion de Memoria

ESTRATEGIAS DE ADMINISTRACION

ESTRATEGIASReubicación.

Organización lógica de los programas.

Organización física de la memoria.

Asignación de espacio.

REUBICACIÓN

En un sistema multiprogramado puede haber varios procesos ocupando la memoria y otros que requieran una porción. El gestor puede seleccionar uno para sacarlo de la memoria y que el espacio pueda ser aprovechado para otro proceso. Puede volcar objetos inactivos al disco. Cuando el objeto quiere volver a memoria el gestor debe saber si lo debe colocar en la misma posición o en una posición diferente.

ORGANIZACIÓN LÓGICA DE LOS PROGRAMAS

Resulta beneficioso organizar los programas en módulos para obtener las siguientes ventajas: Escribir y compilar los módulos de forma independiente y el SO puede cargar en memoria cada modulo por separado. El SO resolverá las referencias de un modulo a otro en tiempo de ejecución

ORGANIZACIÓN FÍSICA DE LA MEMORIA

La memoria esta dividida en principal y secundaria..

ASIGNACIÓN DE ESPACIO

La evolución de la asignación de espacio se presenta de la siguiente manera:

Maquina desnuda Monitor residente

Asignación por intercambio (swapping)

Superposiciones (overlays)

Page 13: Tecnicas de Administracion de Memoria

MAQUINA DESNUDA:

Es el modelo más simple. Es propio de los primeros sistemas operativos. Toda la memoria esta a disposición de un único usuario y el programa puede utilizar cualquier posición de memoria.

MONITOR RESIDENTE(Monitor de Proceso Unico):

Para facilitar el trabajo se incorporo un código común llamado IOCS (sistema de control de entrada salida). El monitor de proceso único consista en dividir la memoria en dos porciones, una para el SO y otra para los procesos transitorios de usuario (y rutinas transitorias del SO). A la dirección que separa ambas partes se le llama borde de memoria y al final el techo de memoria. Con este monitor residente se comienzan a utilizar técnicas de protección y reubicación.

ADMINISTRACIÓN POR INTERCAMBIO (Swapping) :

Con esta técnica el administrador de la memoria pasa a memoria auxiliar un proceso que esta en memoria principal de modo que queda un espacio libre. Se requiere que esa operación de intercambio se realice a gran velocidad para que siempre haya tareas listas para ser ejecutadas. Supuesto que los procesos se ejecutan durante un cuanto de tiempo, dicho cuanto deberá ser suficientemente grande como para que se puedan llevar a cabo las tareas de intercambio durante ese tiempo, de manera que cuando termine de ejecutarse un proceso haya otro trabajo listo para ser ejecutado. Por lo tanto el tiempo de ejecución de un proceso debe ser mayor que el tiempo de intercambio.

SUPERPOSICIONES (Overlays) :

La dimensión de un proceso esta limitada a la cantidad de memoria disponible. Para que un proceso pueda ser mayor que la cantidad de memoria libre se utiliza la superposición. Esta consiste en cargar en memoria solo las partes de un programa necesarias permanentemente. El resto del programa, los módulos restantes, serán cargados en memoria solo cuando son necesarios para lo cual se utilizara una porción de memoria para estos módulos. La memoria asignada a un proceso esta dividida de la siguiente manera: Zona común (espacio compartido por los módulos del programa),Código de gestión de superposiciones ,Zona permanente (instrucciones y datos que no cambian)

Page 14: Tecnicas de Administracion de Memoria

OverlaysTécnica que consiste en que el programador divide lógicamente un programa muy grande en secciones que puedan almacenarse en las particiones de RAM. Al final de cada sección del programa (o en otros lugares necesarios) el programador insertaba una o varias llamadas al sistema con el fin de descargar la sección presente de RAM y cargar otra, que en ese momento residía en disco duro u otro medio de almacenamiento secundario.

DESVENTAJAS

Eficaz (porque resolvía el problema) no era eficiente (ya que no lo resolvía de la mejor manera). Requería que el programador tuviera un conocimiento muy profundo del equipo de cómputo y de las llamadas al SO. No habìa portabilidad de un sistema a otro: las llamadas cambiaban, los tamaños de particiones también.

Page 15: Tecnicas de Administracion de Memoria

ASIGNACION CONTIGUA Y NO CONTIGUA

ASIGNACIÓN DE ALMACENAMIENTO CONTIGUO Y NO CONTIGUO

Una asignación de almacenamiento contiguo es que cada programa tiene que ocupar un único bloque contiguo de localidad 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 o permanecer relativamente cerca.

ASIGNACIÓN DE ALMACENAMIENTO CONTIGUO PARA UN USUARIO ÚNICO

Los primeros sistemas de cómputo permitían que solo una persona a la vez utilizara la máquina. Todos los recursos estaban a disposición del usuario y se les asignaba una máquina por un tiempo determinado, en el cual cada usuario escribía todo un código necesario para realizar un aplicación específica, incluyendo las detalladas instrucciones de E/S a nivel de la maquina. El código de E/S requerido para realizar las funciones básicas se consolido en un sistema de control de E/S.

Page 16: Tecnicas de Administracion de Memoria
Page 17: Tecnicas de Administracion de Memoria

MULTIPROGRAMACION CON PARTICIONES

MULTIPROGRAMACIÓN CON PARTICIONES FIJAS:

El sistema de multiprogramación en los cuales varios usuarios compiten al mismo tiempo por los recursos del sistema. El trabajo está esperando la terminación de una operación E/S cederá la CPU a otro trabajo que este listo para realizar cálculos. Si es que hay una espera. De esta forma pueden efectuarse simultáneamente las operaciones de E/S y cálculos de la CPU.

FRAGMENTACIÓN EN LA MULTIPROGRAMACIÓN CON PARTICIONES FIJAS:

La fragmentación de almacenamiento se presenta en todos los sistemas de cómputo, sea cual sea la organización de su almacenamiento. 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.

MULTIPROGRAMACIÓN CON PARTICIONES VARIABLES:

Esta hace suposiciones sobre el tamaño de los trabajos. Llega un espacio cuando lo necesite. No hay desperdicio, pues la partición de un trabajo tiene exactamente el tamaño del trabajo.

Page 18: Tecnicas de Administracion de Memoria

En el esquema de “intercambio” los programas del usuario no requieren permanecer en la memoria principal hasta su terminación. Una variante consiste en que un trabajo se ejecuta hasta que ya no pueda continuar: Cede el almacenamiento y la CPU al siguiente trabajo. La totalidad del almacenamiento se dedica a un trabajo durante un breve periodo de tiempo. Los trabajos son “intercambiados”, dándose que un trabajo puede ser intercambiado varias veces antes de llegar a su terminación.

Los sistemas de intercambio fueron los predecesores de los sistemas de paginación. Manteniendo al mismo tiempo varias “imágenes de usuario o imágenes de memoria” en la memoria principal.

Retirando una imagen de usuario de la memoria principal solo cuando es necesario su almacenamiento para una nueva imagen.

Incrementando la cantidad de memoria principal disponible en el sistema.

Las imágenes de usuario (imágenes de memoria) retiradas del almacenamiento principal se graban en el almacenamiento secundario (discos).

MULTIPROGRAMACION CON INTERCAMBIO DE ALMACENAMIENTO

Page 19: Tecnicas de Administracion de Memoria

Esquema usado principalmente en sistemas mono usuario y mono tarea, la memoria real es tomada para almacenar el programa que se esté ejecutando en un momento dado, con la visible desventaja de que se está limitado a la cantidad de RAM disponible únicamente.

La organización física: El sistema operativo se ubica en las localidades superiores o inferiores de la memoria, seguido por algunos manejadores de dispositivos (drivers). Esto deja un espacio contiguo de memoria disponible que es tomado por los programas del usuario, dejando generalmente la ubicación de la pila (stack) al último, con el objetivo de que ésta pueda crecer hasta el máximo posible.

Manejo de memoria en sistemas monousuario sin intercambio

Page 20: Tecnicas de Administracion de Memoria
Page 21: Tecnicas de Administracion de Memoria

Para ejecutar un proceso este debe cargarse en memoria. Generalmente el proceso reside en disco como archivo binario o ejecutable. El conjunto de procesos en disco que esperan entrar en la memoria para ejecutarse forman la cola de entrada.

El procedimiento normal consiste en

•Seleccionar uno de los procesos de la cola de entrada y cargarlos en memoria. •Esto ocasiona la relocalización de dirección o enlaces a referencias externas, según sea el caso. •Mientras se ejecuta un programa, se accede a las instrucciones o datos en la memoria.•Finalmente, el programa termina de ejecutarse y su espacio en memoria se declara disponible.

Mecanismos de asignación

Page 22: Tecnicas de Administracion de Memoria

Un mecanismo de asignación determina la cantidad de bloques (particiones) que serán administrados en la memoria.

Existen 3 mecanismos de Asignación:

1. ASIGNACIÓN DE UNA PARTICIÓN. En la memoria se considera la existencia de una sola partición, esto es, se tiene la capacidad de ejecutar un proceso. La partición es toda la memoria, cuya administración corre por cuenta del usuario, o sea, no hay un sistema operativo.

2. ASIGNACIÓN DE DOS PARTICIONES.  La memoria se divide en

2 bloques. En una partición se carga el Sistema Operativo y en la otra el programa del usuario. Es el concepto de Sistema Operativo Mono usuario.

3. ASIGNACIÓN DE MULTIPLES PARTICIONES.  La memoria es dividida en varias particiones una para el Sistema Operativo y las demás para los procesos de usuarios u otras funciones especiales del Sistema Operativo. Este es el concepto teórico de asignación de memoria en los Sistemas Operativos de Multiparticiones y de Multitarea..

Page 23: Tecnicas de Administracion de Memoria

Una estrategia de asignación de memoria determina el lugar donde será cargado un nuevo proceso en base a un criterio.  Las estrategias de asignación son:

1. PRIMER AJUSTE. El Sistema Operativo asigna el primer bloque de memoria libre con espacio suficiente para satisfacer la información. La búsqueda de este bloque es de manera secuencial.

2. MEJOR AJUSTE. El sistema operativo busca el bloque de memoria que represente el menor desperdicio según el requerimiento.

3. PEOR AJUSTE. El sistema operativo asigna el bloque mas grande que encuentre.

 

Estrategias de asignación

Page 24: Tecnicas de Administracion de Memoria

Memoria Virtual

Page 25: Tecnicas de Administracion de Memoria

Mem

ori

a V

irtu

al

Muchas veces las aplicaciones

requieren el acceso a más

información (código y datos) que la

que puede ser mantenida en

memoria física.

Esto es

especialmente cierto cuando el S.O.

permite múltiples procesos y

aplicaciones

corriendo

simultáneamente. Una solución al problema de

necesitar mayor cantidad de

memoria de la que se posee,

consiste en que las aplicaciones

mantengan parte de su información

en disco, moviéndola a la memoria

principal cuando sea necesario

Page 26: Tecnicas de Administracion de Memoria

La memoria virtual, es un método, diseñado por Fotheringham en 1961, que tiene como objetivo la simulación de tener más memoria principal de la que existe físicamente en un sistema operativo.

Para implementar la memoria virtual se utilIza un medio de almacenamiento secundario de alta velocidad de acceso, el cual generalmente es el disco duro de la máquina.

La parte del disco que es usado como memoria virtual se llama área de swap (swap space).

Page 27: Tecnicas de Administracion de Memoria

Dif

ere

nci

a d

e

mem

ori

a r

eal y

mem

ori

a v

irtu

al

La memoria real o principal es en

donde son ejecutados los programas y

procesos de una computadora y es el

espacio real que existe en memoria

para que se ejecuten los procesos , el

acceso a la información contenida en

ella es de más rápido acceso y la

memoria virtual es una técnica para

proporcionar la simulación de un

espacio de memoria mucho mayor

que la memoria física de una

máquina.

Esta "ilusión" permite que los

programas se ejecuten sin tener en

cuenta el tamaño exacto de la

memoria

física.

Page 28: Tecnicas de Administracion de Memoria

ORGANIZACION: MÉTODOS DE ASIGNACIÓN DE MEMORIA.

Es la manera mediante la cual el S.O lleva el control de la memoria tratando de que sea lo más eficiente posible. Mediante este esquema se ejecutan programas que no se encuentran totalmente en memoria principal. Por lo tanto, un programa puede tener un tamaño mayor a la memoria física disponible.

PAGINACIÓN

SEGMENTACIÓN

Las direcciones referidas por un proceso se denominan direcciones virtuales o lógicas (L). Por otra parte, las direcciones disponibles en memoria principal se denominan direcciones físicas (F).

En el momento de ejecución de los programas, las direcciones lógicas deben hacerse corresponder con las direcciones físicas, mediante una aplicación M: L -> F, la cual se denomina mapeo de memoria (MAPPING). Esta actividad realizada por los mecanismos de conversión de direcciones lógicas a direcciones reales se llama mecanismo de traducción dinámica de direcciones (MTDD).

Page 29: Tecnicas de Administracion de Memoria
Page 30: Tecnicas de Administracion de Memoria

SEG

MEN

TA

CIÓ N

Este método consiste en la

asignación de bloques de memoria

de tamaño variable, llamados

segmentos. El tamaño de cada

segmento será el requerido según la

petición, por ejemplo el tamaño del

proceso a cargar. El tamaño máximo para un

segmento estará determinado por la

capacidad de direccionamiento del

hardware de la computadora, esto

es, de cuantos bits se dispone para

almacenar una dirección. El acceso a

cada elemento individual (byte) en

la memoria se hace mediante una

dirección de memoria.

Page 31: Tecnicas de Administracion de Memoria

PAGINACIÓN.

Consiste en considerar el espacio de direcciones lógicas de cada proceso como un conjunto de bloques de tamaño consistente llamados paginas. Cada dirección lógica manejada para un proceso estará conformada por un par de valores [pagina: desplazamiento].

La memoria física se administra implementando bloques de tamaño consistente denominados 'marcos'. Obviamente el tamaño de un 'marco' debe ser igual al tamaño de una pagina.

Por lo general el tamaño designado para los marcos y páginas es pequeño.

Page 32: Tecnicas de Administracion de Memoria

OPCIONES DE IMPLEMENTACION DE TABLA DE PAGINAS

Implementada completamente en hardware.

VENTAJA: Se obtiene una alta velocidad de acceso a memoria.

   DESVENTAJA: Resulta problemática cuando la tabla de paginas debe ser grande.

Implementada en la memoria principal

VENTAJA: puede crecer según se requiera.

DESVENTAJA: La velocidad de accesar a memoria es relativamente baja, dado que cada referencia a memoria involucra 2 accesos.

Page 33: Tecnicas de Administracion de Memoria

Los MTDD mantienen mapas de correspondencia para la traducción de direcciones que muestran cuales localidades del almacenamiento virtual están en el almacenamiento real en un momento dado y en donde se encuentran. Para ello, se agrupa en bloques.

Cuando los bloques son del mismo tamaño se llaman páginas y la organización de la memoria se llama paginación. Cuando los bloques pueden tener tamaños diferentes se llaman segmentos y la organización de la memoria se llama segmentación. Las direcciones en un sistema de bloques son bidimencionales. Para hacer referencia a un elemento en particular, el programa especifica el bloque en el que se encuentra y su desplazamiento a partir del inicio del bloque.

Page 34: Tecnicas de Administracion de Memoria
Page 35: Tecnicas de Administracion de Memoria
Page 36: Tecnicas de Administracion de Memoria

Sis

tem

as

de

pagin

aci

ón

segm

enta

da

Objetivo: Combinar las ventajas de

ambos esquemas.Los segmentos tienen un tamaño

múltiple de páginas.No es necesario que todas las

páginas de un segmento estén en

almacenamiento primario a la vez.

Las páginas que son contíguas en

almacenamiento virtual no son por

fuerza contíguas en almacenamiento

real.

Las direcciones son tridimensionales.

Page 37: Tecnicas de Administracion de Memoria
Page 38: Tecnicas de Administracion de Memoria

Estrategias de administración

Estrategias de obtención. Determinan cuándo se debe transferir una página o un segmento del almacenamiento secundario al primario.

Estrategias de colocación.

Estrategias de reemplazo.

Page 39: Tecnicas de Administracion de Memoria

Técnicas de reemplazo de paginas

POSIBLES FALLOS

Si una página buscada está marcada como no disponible (tal vez porque no está presente en la memoria principal, pero sí en el área de intercambio), cuando la CPU intenta referenciar una dirección de memoria en esa página, la MUU responde levantando una excepción (comúnmente llamada fallo de página).

Cuando se presenta un fallo de página, el sistema operativo tiene que escoger la página que desalojará de la memoria para hacer espacio para colocar la página que traerá del disco. Si la página a desalojar fue desalojada mientras estaba en la memoria, deberá reescribirse en el disco para actualizarse la copia.

En cambio si la página no se ha modificado, la copia en disco ya estará actualizada y no será necesario reescribirla

Page 40: Tecnicas de Administracion de Memoria

Paginación por demanda Es una estrategia en donde se espera a que un proceso en ejecución

haga referencia a una página o el segmento al almacenamiento primario.

Ventajas. Garantiza que las únicas páginas que se transfieren al almacenamiento principal son aquéllas que requieren los procesos.

El trabajo extra requerido para decir cuáles páginas se deben transferir al almacenamiento principal es mínimo.

Desventajas.Un proceso debe acumular sus páginas una por una; a medida que se hace referencia a cada página nueva, el proceso debe de esperar a que esa página se transfiera al almacenamiento primario.

Es creciente la cantidad de almacenamiento primario afectada al proceso que espera páginas, por lo que el “producto espacio - tiempo” se incrementa.

El “producto espacio - tiempo” indica la cantidad de almacenamiento que usa un proceso y la cantidad de tiempo que lo usa. “La reducción del producto espacio - tiempo de las esperas de páginas de un proceso es una meta importante de las estrategias de administración del almacenamiento”.

Page 41: Tecnicas de Administracion de Memoria

Pagin

a

anti

cipada

El S.O intenta predecir cuales páginas

necesita un proceso, entonces carga

dichas páginas cuando hay espacio

disponible. Si se pueden tomar las

decisiones correctas en casi todos los

casos, se reducirá bastante el tiempo

de ejecución de un proceso. Dedica un área de la memoria a los

procesos y otra a anticipar y cargar

páginas que se requerirán en el

futuro.

• Se reducen los tiempos de los procesos

si se tomó o cargó la página correcta.

• Como el hardware se vuelve más

económico las consecuencias de una

mala decisión no son tan serias.

Page 42: Tecnicas de Administracion de Memoria

Liberación de pagina. Voluntaria

Un proceso usuario puede emitir una “liberación voluntaria de página” para liberar el marco de página cuando ya no necesite esa página. Por lo regular hay un tiempo durante el cual permanecen en el almacenamiento principal las páginas que ya no se requieren.

Cuando es evidente que ya no será necesaria una página, un usuario podrá dar una orden de "liberación voluntaria de página" para liberar el marco de página. Ésto eliminaría el retraso que implíca dejar que el proceso deseche poco a poco la página de su conjunto de trabajo.

La liberación voluntaria de páginas podría eliminar el desperdicio y acelerar la ejecución de un programa, pero la mayoría de los usuarios de los sistemas de cómputo ni siquiera saben que es una página y no se les puede pedir que tomen decisiones a nivel del sistema.

Page 43: Tecnicas de Administracion de Memoria

TA

MA

ÑO

DE

PA

GIN

A

El tamaño será de acuerdo a las

aplicaciones deseadas para un

sistema en particular• Cuanto menor sea el tamaño de la

página, más páginas y marcos de

páginas habrá y mayores tendrán

que ser las tablas de páginas

• Con tamaños de páginas grandes

se paginan en el almacenamiento

primario grandes cantidades de

información a la que quizá nunca

se haga referencia. • Si las páginas son pequeñas y

muchas, la transferencia al disco

es relativamente lento por lo que

podría afectar al sistema.