You are on page 1of 5

Gestión de Memoria

Sistemas Operativos Distribuidos

Unidad V - Ciclo 09/2 UVM – Campus Hispano Prof. L. Manuel Cruz G.

Se suele “paginar” (swapping con “trozos”. Los PCB se mantienen. Sólo un proceso a la vez.GESTION DE MEMORIA Reparto de memoria Los programas suelen acaparar toda la que pueden. Hay intercambio de procesos entre memoria y disco. Cada proceso lleva pegado el SO. – Paginar/Swapping: llevar cosas sin usar a disco y traer cosas a memoria. Pero. Otro scheduler (“swapper”) para decidir quién está en memoria. Monoprogramación • • • Un proceso usa toda la memoria. – Asignar y revocar memoria. Muchos procesos pasan a disco “enteros” Hoy • • Memoria barata: gestión más simple. En la prehistoria • • Memoria cara: se reparte entre todos los procesos. Implicaciones • • • Un nuevo estado “swapped-out” para los procesos. Swapping Cuando falta memoria: • • • Se usa el disco. Hace falta gestionarla: – Ver qué partes están libres y cuales ocupadas. Se hace swapping. Una sección de disco: área de swap. . no con procesos). . _ 2 . • • Prácticamente no se usa => la memoria es barata.

Intuitivamente: Más memoria => más procesos => mayor uso de CPU. – El modelo no representa la situación del sistema. – Depende de la carga real que pongamos en el sistema. – Mejor medir empíricamente las propiedades que interesen. Carga y protección El Compilador y el SO han de cooperar. Asignamos los trozos a procesos. pero. Multiprogramación • • • Se ejecutan otros procesos mientras hacemos E/S. + 3 . => varios procesos en memoria. Imprescindible para Time sharing. o Segmentos: base +límite. . Alternativas • • Varias colas: desaprovecho memoria. Aprovecha más la CPU. Una cola: o FIFO: puedo desaprovechar memoria. . ) ) Particiones fijas • • Dividimos en trozos la memoria en arranque. o otra: puedo penalizar a determinados procesos. ) Modelización Se puede estudiar.• El procesador esta parado mientras se hace E/S. • • Hay que saber dónde están las direcciones y reajustarlas. Protección: o Bits extra de “contexto” en la memoria.

(Sumas y desplazamientos con R) 4 . Memoria virtual=>memoria física Páginas => marcos de página Tabla de páginas Paginación Intercambiamos páginas. no procesos. Implementación eficiente de la 2da oportunidad. Podemos usar compactación. _ Paginación La forma actual de implementar memoria virtual. Algoritmos de reemplazamiento Óptimo NRU FIFO 2da oportunidad Clock LRU NFU Aging Detalles prácticos La que tarde más en usarse. .Fragmentación Interna dentro de los fragmentos. (Sumar R a contadores) Envejecimiento. Menos recientemente usada: matrices. No usada recientemente. Memoria Virtual ¿Qué es esto? • • • • Procesos más grandes que la memoria disponible Más procesos que los que caben en memoria. Conceptos • • • • • Espacio virtual de direcciones. Utilizamos disco como una memoria muy lenta. Automatización de overlays. Ordenadas según llegada FIFO con reciclado. Externa fragmentos inútiles. . Utilizando los bits R y M.

Virtual. Intel) PAGINACIÓN No 1 Si Si No Si Espacio lineal de direcciones Interna SEGMENTACIÓN Si varios Si Si Si Si Visión del usuario. _ Segmentación • • • • Un proceso tiene segmentos. . a lo mejor falta memoria. Paging-ahead. Dirección: desplazamiento: protección Una tabla o registros para los descriptores.Una política simple y eficaz. ) No se usa ¿Por qué? 5 . Más importante reducir el número de fallos que el tiempo en procesarlos. . protección Externa Visión del programador Espacios de direcciones M. Page clustering. física Protección Código = datos Crecimiento Compartición Objetivo Fragmentación Detalle práctico Puede usarse la segmentación para compartir páginas => reducir fragmentación interna. Aunque si los hay. > M. Se puede combinar con la paginación (MULTICS.