Vous êtes sur la page 1sur 29

Memoria

Gestin y o administracin de o la memoria

Introduccin o Particiones estticas a Particiones dinmicas a Intercambio Paginacin o Segmentacin o

Gestin y administracin de la memoria o o


Eloy Anguiano Rey eloy.anguiano@uam.es
Centro de Referencia Linux UAMIBM Escuela Politcnica Superior e Universidad Autnoma de Madrid o

Introduccin o
Qu es la memoria? e
Gestin y o administracin de o la memoria

Introduccin o
Qu es la memoria? e Proceso en etapas de un programa de usuario Direccionamiento Gestin o Requisitos de la gestin o

La memoria es una matriz de palabras o bytes direccionables (accesibles mediante una direccin o unica) por la CPU para carga de instrucciones o datos (operandos) y para almacenamiento de datos (resultados). Las direcciones de un proceso pueden ser representadas de modo diferente en las sucesivas etapas del ciclo de un programa de usuario (compilacin, carga y ejecucin). o o Las direcciones que entiende el controlador de la memoria son direcciones absolutas. La conversin entre o las distintas representaciones de las direcciones y las direcciones absolutas se denomina vinculacin, y puede o llevarse a cabo en cualquiera de las fases del programa.

Particiones estticas a Particiones dinmicas a Intercambio Paginacin o Segmentacin o

Introduccin o
Proceso en etapas de un programa de usuario
Gestin y o administracin de o la memoria

Introduccin o
Qu es la memoria? e Proceso en etapas de un programa de usuario Direccionamiento Gestin o Requisitos de la gestin o

Particiones estticas a Particiones dinmicas a Intercambio Paginacin o Segmentacin o

Introduccin o
Direccionamiento
Gestin y o administracin de o la memoria

Introduccin o
Qu es la memoria? e Proceso en etapas de un programa de usuario Direccionamiento Gestin o Requisitos de la gestin o

Particiones estticas a Particiones dinmicas a Intercambio Paginacin o Segmentacin o

Direccin lgica: Direccin generada por la CPU. o o o Direccin f o sica: Direccin percibida por la unidad de o memoria. Si la vinculacin de direcciones (lgica-f o o sica) se realiza en tiempo de compilacin o de carga, entonces la o direccin f o sica = direccin lgica. o o Si la vinculacin de direcciones se realiza en tiempo o de ejecucin (por ser el cdigo reasignable), las o o direcciones lgicas y f o sicas dieren y llamamos a las direcciones lgicas direcciones virtuales. o

Introduccin o
Gestin o
Gestin y o administracin de o la memoria

Introduccin o
Qu es la memoria? e Proceso en etapas de un programa de usuario Direccionamiento Gestin o Requisitos de la gestin o

La necesidad de la gestin de la memoria nace dado que o tenemos que: Subdividir la memoria para hacer sitio a varios procesos. Repartir ecientemente la memoria para introducir tantos procesos como sea posible.

Particiones estticas a Particiones dinmicas a Intercambio Paginacin o Segmentacin o

Introduccin o
Requisitos de la gestin o
Gestin y o administracin de o la memoria

Introduccin o
Qu es la memoria? e Proceso en etapas de un programa de usuario Direccionamiento Gestin o Requisitos de la gestin o

Reubicacin: o
El programador no conoce qu otros programas e residirn en la memoria en el momento de la ejecucin. a o Mientras que se est ejecutando el programa, puede que a se descargue en el disco y que vuelva a la memoria principal, pero en una ubicacin distinta a la anterior o (reubicacin). o Se deben traducir las referencias a la memoria encontradas en el cdigo del programa a las direcciones o f sicas reales.

Particiones estticas a Particiones dinmicas a Intercambio Paginacin o Segmentacin o

Introduccin o
Requisitos de la gestin o
Gestin y o administracin de o la memoria

Introduccin o
Qu es la memoria? e Proceso en etapas de un programa de usuario Direccionamiento Gestin o Requisitos de la gestin o

Proteccin: o
El cdigo de un proceso no puede hacer referencia a o posiciones de memoria de otros procesos sin permiso. Es imposible comprobar las direcciones absolutas de los programas, puesto que se desconoce la ubicacin de un o programa en la memoria principal. Debe comprobarse durante la ejecucin: o
El sistema operativo no puede anticiparse a todas las referencias a la memoria que har un programa. a

Particiones estticas a Particiones dinmicas a Intercambio Paginacin o Segmentacin o

Introduccin o
Requisitos de la gestin o
Gestin y o administracin de o la memoria

Introduccin o
Qu es la memoria? e Proceso en etapas de un programa de usuario Direccionamiento Gestin o Requisitos de la gestin o

La proteccin de memoria se puede realizar utilizando o dos registros (base=reasignacin y l o mite) que controlan el acceso a la memoria f sica. Slo el SO puede modicar los registros de base y o l mite.

Particiones estticas a Particiones dinmicas a Intercambio Paginacin o Segmentacin o

Introduccin o
Requisitos de la gestin o
Gestin y o administracin de o la memoria 3

Compartimiento:
Permite el acceso de varios procesos a la misma zona de la memoria principal. Es mejor permitir a cada proceso (persona) que acceda a la misma copia del programa, en lugar de tener cada uno su propia copia aparte.

Introduccin o
Qu es la memoria? e Proceso en etapas de un programa de usuario Direccionamiento Gestin o Requisitos de la gestin o

Organizacin lgica: o o
La mayor de los programas se organizan en mdulos. a o Los mdulos pueden escribirse y compilarse o independientemente. Pueden otorgarse distintos grados de proteccin (slo o o lectura, slo ejecucin) a los mdulos. o o o Compartir mdulos. o

Particiones estticas a Particiones dinmicas a Intercambio Paginacin o Segmentacin o 5

Organizacin f o sica:
La memoria disponible para un programa y sus datos puede ser insuciente:
La superposicin permite que varios mdulos sean o o asignados a la misma regin de memoria. o

El programador no conoce el espacio disponible.

Particiones estticas a
De igual tamao n
Gestin y o administracin de o la memoria

Introduccin o Particiones estticas a


De igual tamao n De distinto tamao n Esquema

Cualquier proceso cuyo tamao sea menor o igual que el n tamao de la particin puede cargarse en cualquier n o particin libre. o Si todas las particiones estn ocupadas, el sistema a operativo puede sacar un proceso de una particin. o Un programa puede que no se ajuste a una particin. El o programador debe disear el programa mediante n superposiciones. El uso de la memoria principal es ineciente. Cualquier programa, sin importar lo pequeo que sea, ocupar n a una particin completa. Este fenmeno se denomina o o fragmentacin interna. o

Particiones dinmicas a Intercambio Paginacin o Segmentacin o

Particiones estticas a
De distinto tamao n
Gestin y o administracin de o la memoria

Introduccin o Particiones estticas a


De igual tamao n De distinto tamao n Esquema

Pueden asignar cada proceso a la particin ms o a pequea en la que quepa. n Hace falta una cola para cada particin. o Los procesos estn asignados de forma que se minimiza a la memoria desaprovechada dentro de cada particin. o

Particiones dinmicas a Intercambio Paginacin o Segmentacin o

Particiones estticas a
Esquema
Gestin y o administracin de o la memoria

Introduccin o Particiones estticas a


De igual tamao n De distinto tamao n Esquema

Particiones dinmicas a Intercambio Paginacin o Segmentacin o

Particiones dinmicas a
Denicin o
Gestin y o administracin de o la memoria

Introduccin o Particiones estticas a Particiones dinmicas a


Denicin o Fragmentacin o externa Fragmentacin o interna Ubicacin con mapa o de bits Ubicacin con listas o enlazadas Ubicacin por ajuste o Sistema de colegas

Las particiones son variables en nmero y longitud. u Al proceso se le asigna exactamente tanta memoria como necesite. Finalmente, hay varios huecos en la memoria. Este fenmeno se denomina fragmentacin externa. o o Se debe usar la compactacin para desplazar los o procesos que estn contiguos, de forma que toda la e memoria libre quede junta en un bloque.

Intercambio Paginacin o Segmentacin o

Particiones dinmicas a
Fragmentacin externa o
Gestin y o administracin de o la memoria

Introduccin o Particiones estticas a Particiones dinmicas a


Denicin o Fragmentacin o externa Fragmentacin o interna Ubicacin con mapa o de bits Ubicacin con listas o enlazadas Ubicacin por ajuste o Sistema de colegas

Ocurre cuando existen mltiples huecos pequeos no u n conectados (insucientes para albergar a un proceso en cola de entrada) que suman un total que ser suciente a para albergar a un proceso en la cola de entrada.

Intercambio Paginacin o Segmentacin o

Particiones dinmicas a
Fragmentacin interna o
Gestin y o administracin de o la memoria

Introduccin o Particiones estticas a Particiones dinmicas a


Denicin o Fragmentacin o externa Fragmentacin o interna Ubicacin con mapa o de bits Ubicacin con listas o enlazadas Ubicacin por ajuste o Sistema de colegas

Es el desperdicio de memoria que se produce al asignar a un proceso ms memoria de la que solicita (por a conveniencia o simplicidad en la asignacin). o Solucin: Compactacin: o o
Se funden todas los huecos libres para crear un unico hueco grande. Slo es posible si las direcciones son reubicables o dinmicamente. a

Intercambio Paginacin o Segmentacin o

Particiones dinmicas a
Ubicacin con mapa de bits o
Gestin y o administracin de o la memoria

La memoria est dividida en unidades de asignacin que a o se corresponden con un bit en un mapa de bits de la memoria:
Compromiso entre el tamao del mapa y la n optimizacin de las asignaciones. o

Introduccin o Particiones estticas a Particiones dinmicas a


Denicin o Fragmentacin o externa Fragmentacin o interna Ubicacin con mapa o de bits Ubicacin con listas o enlazadas Ubicacin por ajuste o Sistema de colegas

La asignacin de un proceso de tamao k unidades o n consiste en una bsqueda de k ceros contiguos en el u mapa de bits: LENTO.

Intercambio Paginacin o Segmentacin o

Particiones dinmicas a
Ubicacin con listas enlazadas o
Gestin y o administracin de o la memoria

Introduccin o Particiones estticas a Particiones dinmicas a


Denicin o Fragmentacin o externa Fragmentacin o interna Ubicacin con mapa o de bits Ubicacin con listas o enlazadas Ubicacin por ajuste o Sistema de colegas

La memoria est representada por una lista ligada de a zonas de memoria ocupadas (P) y libres (H).

Intercambio Paginacin o Segmentacin o

Particiones dinmicas a
Ubicacin con listas enlazadas o
Gestin y o administracin de o la memoria

Introduccin o Particiones estticas a Particiones dinmicas a


Denicin o Fragmentacin o externa Fragmentacin o interna Ubicacin con mapa o de bits Ubicacin con listas o enlazadas Ubicacin por ajuste o Sistema de colegas

Ventajas La bsqueda de huecos es ms rpida, puesto que cada u a a elemento de la lista contiene el tamao del mismo. n Fcil reorganizacin de la lista al terminar un proceso o a o al introducir un proceso nuevo.

Intercambio Paginacin o Segmentacin o

Particiones dinmicas a
Ubicacin por ajuste o
Gestin y o administracin de o la memoria

Best-t
Elige el bloque de tamao ms prximo al solicitado. n a o Proporciona en general los peores resultados.

Introduccin o Particiones estticas a Particiones dinmicas a


Denicin o Fragmentacin o externa Fragmentacin o interna Ubicacin con mapa o de bits Ubicacin con listas o enlazadas Ubicacin por ajuste o Sistema de colegas

Puesto que este algoritmo busca el hueco ms pequeo para el proceso, a n garantiza que el fragmento que se deja es lo ms pequeo posible y, por a n lo tanto, se debe compactar ms frecuentemente. a

First-t
Es ms rpido. a a Puede tener varios procesos cargados en el extremo inicial de la memoria que es necesario recorrer cuando se intente encontrar un bloque libre.

Next-t
Lleva frecuentemente a la asignacin de un bloque de memoria de la o ultima ubicacin, donde se encuentra el bloque ms grande. o a El bloque de memoria ms grande se divide en fragmentos pequeos. a n Har falta la compactacin para obtener un bloque de memoria grande a o al nal del espacio de memoria.

Intercambio Paginacin o Segmentacin o

Particiones dinmicas a
Ubicacin por ajuste o
Gestin y o administracin de o la memoria

Introduccin o Particiones estticas a Particiones dinmicas a


Denicin o Fragmentacin o externa Fragmentacin o interna Ubicacin con mapa o de bits Ubicacin con listas o enlazadas Ubicacin por ajuste o Sistema de colegas

Intercambio Paginacin o Segmentacin o

Particiones dinmicas a
Sistema de colegas
Gestin y o administracin de o la memoria

Introduccin o Particiones estticas a Particiones dinmicas a


Denicin o Fragmentacin o externa Fragmentacin o interna Ubicacin con mapa o de bits Ubicacin con listas o enlazadas Ubicacin por ajuste o Sistema de colegas

El espacio entero disponible para la asignacin se trata o U. como un solo bloque de tamao 2 n Si se hace una solicitud de tamao s tal que n 2U1 < s <= 2U , entonces el bloque entero se asigna:
En otro caso, el bloque se divide en dos colegas de igual tamao. n Este proceso contina mientras que el bloque ms u a pequeo sea mayor o igual que s. n

Intercambio Paginacin o Segmentacin o

Particiones dinmicas a
Sistema de colegas
Gestin y o administracin de o la memoria

Introduccin o Particiones estticas a Particiones dinmicas a


Denicin o Fragmentacin o externa Fragmentacin o interna Ubicacin con mapa o de bits Ubicacin con listas o enlazadas Ubicacin por ajuste o Sistema de colegas

Intercambio Paginacin o Segmentacin o

Intercambio
Denicin o
Gestin y o administracin de o la memoria

Introduccin o Particiones estticas a Particiones dinmicas a Intercambio


Denicin o

Paginacin o Segmentacin o

En determinadas circunstancias, un proceso que est en a memoria puede ser almacenado temporalmente (intercambiado) en un almacenamiento auxiliar (normalmente en disco magntico), de modo que el e planicador pueda asignar su espacio de CPU a otro proceso situado en el almacenamiento auxiliar. Normalmente, un proceso intercambiado a disco se intercambia de regreso a la mismo espacio de memoria que ocup anteriormente. Esto es obligatorio si la o vinculacin de direcciones se realiz en tiempo de o o compilacin o carga, no as si la vinculacin de o o direcciones se realiza en tiempo de ejecucin. o El sistema de almacenamiento debe tener espacio suciente para alojar las imgenes de memoria de todos a los procesos y proporcionar un acceso rpido a las a mismas.

Intercambio
Denicin o
Gestin y o administracin de o la memoria

Introduccin o Particiones estticas a Particiones dinmicas a Intercambio


Denicin o

Paginacin o Segmentacin o

Los procesos listos que estn en disco pueden estar a intercalados con los procesos listos en memoria en la lista de procesos listos del planicador o estar en una cola de segundo nivel para ser intercambiados a disco en grupos cada cierto tiempo. No deben realizarse intercambios de procesos que tengan pendientes operaciones de E/S que requieran el uso de buers en el espacio de memoria propio (OK si utilizan buers del SO). La duracin del cambio de contexto desde disco o depende principalmente del tamao de la zona de n memoria a intercambiar (la zona de intercambio es un rea independiente del sistema de archivos que permite a un acceso rpido a la informacin). En cualquier caso a o es superior al cambio de contexto entre procesos que estn en memoria. a

Paginacin o
Denicin o
Gestin y o administracin de o la memoria

Introduccin o Particiones estticas a Particiones dinmicas a Intercambio Paginacin o


Denicin o Asignacin de o pginas a marcos a libres Caracter sticas

La memoria principal se encuentra dividida en trozos iguales de tamao jo y cada proceso en pequeos n n trozos de tamao jo. n Los trozos del proceso se denominan pginas y los a trozos libres de memoria se denominan marcos. El sistema operativo mantiene una tabla de pginas a para cada proceso:
Muestra la posicin del marco de cada pgina del o a proceso. La direccin de la memoria consta de un nmero de o u pgina y de un desplazamiento dentro de la pgina. a a

Segmentacin o

Paginacin o
Asignacin de pginas a marcos libres o a
Gestin y o administracin de o la memoria

Introduccin o Particiones estticas a Particiones dinmicas a Intercambio Paginacin o


Denicin o Asignacin de o pginas a marcos a libres Caracter sticas

Segmentacin o

Paginacin o
Asignacin de pginas a marcos libres o a
Gestin y o administracin de o la memoria

Introduccin o Particiones estticas a Particiones dinmicas a Intercambio Paginacin o


Denicin o Asignacin de o pginas a marcos a libres Caracter sticas

Segmentacin o

Paginacin o
Caracter sticas
Gestin y o administracin de o la memoria

Introduccin o Particiones estticas a Particiones dinmicas a Intercambio Paginacin o


Denicin o Asignacin de o pginas a marcos a libres Caracter sticas

La paginacin remedia la fragmentacin externa, pero o o no la fragmentacin interna. o Un intento de acceso a una pgina virtual que no est a e asociada a un marco produce un sealamiento al SO n (trap), llamado fallo de pgina. Como respuesta al a fallo de pgina, el SO: a
1 2 3

Segmentacin o

selecciona una pgina poco usada del proceso. a Intercambia la pgina a disco. a Asigna el marco de la pgina liberada a la pgina virtual a a que se intenta acceder.

Esto supone una forma de reasignacin dinmica por o a bloques de las direcciones de memoria del proceso.

Segmentacin o
Denicin o
Gestin y o administracin de o la memoria

Introduccin o Particiones estticas a Particiones dinmicas a Intercambio Paginacin o Segmentacin o


Denicin o

No es necesario que todos los segmentos de todos los programas tengan la misma longitud. Existe una longitud mxima de segmento. a Un direccin lgica segmentada consta de dos partes, o o un nmero de segmento y un desplazamiento. u Como consecuencia del empleo de segmentos de distinto tamao, la segmentacin resulta similar a la n o particin dinmica. o a

Vous aimerez peut-être aussi