Está en la página 1de 9

GESTION DE MEMORIA

Esquemas de asignacin Memoria Real

Asignacin contigua Sistemas de un solo proceso Sistemas de multiprogramacin Con particiones fijas Cdigo absoluto Cdigo reubicable Con particiones variables

Asignacin no contigua Paginacin Segmentacin

Segmentacin + paginacin

Asignacin contigua de memoria


Monitor de un solo proceso Dos reas contiguas Sistema Operativo (parte residente) (monitor) Situado habitualmente en la parte inferior Donde residen los vectores de interrupcin rea de procesos transitorios Se coloca un nico proceso de usuario Se elimina cuando finaliza y antes de cargar otro

Proteccin Sistema operativo - Procesos del usuario Posibles accesos accidentales o malintencionados a datos del S.O. Un modo de proteccin: Registro lmite y registro de relocalizacin Se comprueba cada direccin generada por la CPU

Se realiza en el momento de la traduccin

MULTIPLES PARTICIONES
Multiprogramacin simultneamente Necesidad de varios procesos en memoria

Dos modos de asignacin: Particiones fijas y Variables

Particiones fijas Divisin de la memoria en varios trozos (particiones) Tamao diferente de las particiones Tamao fijo de las particiones (inamovible) particin

nico proceso por particin con tamao

Estructuras de datos para la gestin de particiones fijas Tabla de descripcin de particiones Estado (libre/asignada) Base de la particin Tamao de la particin

Estrategia de asignacin Primer ajuste, Mejor ajuste, Peor ajuste

Qu hacer si no hay particiones libres Esperar a la finalizacin de algn proceso Intercambio

Proteccin entre procesos

A travs de registro base y lmite Comprobacin en cada acceso a memoria

Grado de multiprogramacin. Limitado al nmero de particiones

Fragmentacin Interna Dentro de cada particin queda una zona de memoria no aprovechable El proceso es ms pequeo que la particin No se puede asignar a ningn otro proceso Es posible que procesos esperando entrar en memoria no tengan particin a pesar de haber espacio libre para ellos

Ejemplo OS/MFT (Multiprogramacin con n fijo de tareas)

PARTICIONES VARIABLES
Las particiones son variables en nmero y longitud Inicialmente la memoria slo contiene el sistema operativo A cada proceso se le asigna la memoria que necesita exactamente Estructuras de datos para gestionar la memoria Mapa de bits Divisin de memoria en pequeas unidades libres u ocupadas

Lista de procesos y huecos Lista nica Lista de procesos y lista de huecos

Sistema de los asociados (Knuth 1973) Divisin de memoria en bloques potencia de 2 Se compactan 2 bloques adyacentes del mismo tamao Agiliza la fusin de huecos

Algoritmos de asignacin de particiones Primer ajuste, Mejor ajuste y Peor ajuste

Qu hacer si no hay particiones libres Esperar a la finalizacin de algn proceso Intercambio

Condensacin de huecos Unin de huecos adyacentes al liberar un proceso

Compactacin Movimiento de procesos en la memoria para unir huecos dispersos y crear huecos de mayor tamao

Fragmentacin externa Fragmentacin interna, slo si existe limitacin en el tamao mnimo de las particiones Ejemplo OS/MVT (Multiprogramacin con n variable de tareas) Antiguo S.O. de grandes ordenadores IBM OS/360 Actualmente en desuso

ASIGNACION NO CONTIGUA DE MEMORIA

En la asignacin no contigua un programa se divide en varios bloques o segmentos que pueden almacenarse en direcciones que no tienen que ser necesariamente adyacentes, por lo que es ms compleja pero ms eficiente que la asignacin continua. El espacio de direcciones lgico de un proceso se reparte entre diferentes zonas de la memoria principal Mtodos de organizacin Paginacin simple Segmentacin simple Segmentacin + paginacin simple

Paginacin simple
Divisin de la memoria principal en bloques de igual tamao denominados marcos Divisin del espacio de direcciones de un proceso en bloques de igual tamao denominados pginas. Marcos y pginas tienen el mismo tamao Carga de un proceso en memoria Se van asignando marcos libres a pginas del proceso No tienen por qu ser consecutivos. La paginacin no es visible al programador

Se elimina la fragmentacin externa La fragmentacin interna slo se produce en la ltima pgina Pginas pequeas Reducen la fragmentacin interna Aumentan tamao de tabla de pginas Menos adecuados para lectura de dispositivos

Segmentacin
Segmentacin Espacio de direcciones bidimensional Proceso dividido en Segmentos Cada segmento: 0 Mxima Cada segmento utiliza zonas de memoria contigua No necesitan estar juntos en memoria Visin de la memoria igual que el usuario Programa = conjunto de segmentos

Se produce fragmentacin externa

Pila Subrutina Tabla de smbolos

Sqrt

Programa principal

Espacio de direcciones lgicas

Segmentacin con Paginacin


Paginacin Elimina fragmentacin externa Aprovecha eficientemente la memoria

Segmentacin Visible al programador Soporte para comparticin y proteccin

Segmentacin con paginacin

Combina las ventajas de ambas

Mtodo bsico Divisin del espacio de direcciones del usuario en segmentos Divisin de cada segmento en pginas Direccin lgica Desde el punto de vista del usuario Nmero de segmento | desplazamiento

Desde el punto de vista de la mquina N segmento | n pgina | desplazamiento

Estructuras de datos utilizadas Cada proceso Una tabla de segmentos Una tabla de pginas por segmento.

Tabla de direcciones

También podría gustarte