Вы находитесь на странице: 1из 5

Gestin de Memoria

Sistemas Operativos Distribuidos

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

GESTION DE MEMORIA Reparto de memoria


Los programas suelen acaparar toda la que pueden. Hace falta gestionarla:

Ver qu partes estn libres y cuales ocupadas. Asignar y revocar memoria. Paginar/Swapping: llevar cosas sin usar a disco y traer cosas a memoria.

Swapping
Cuando falta memoria: Se usa el disco. Hay intercambio de procesos entre memoria y disco. Los PCB se mantienen.

Pero. . . Prcticamente no se usa => la memoria es barata. Se suele paginar (swapping con trozos, no con procesos).

Implicaciones
Un nuevo estado swapped-out para los procesos. Otro scheduler (swapper) para decidir quin est en memoria. Una seccin de disco: rea de swap.

En la prehistoria
Memoria cara: se reparte entre todos los procesos. Muchos procesos pasan a disco enteros

Hoy
Memoria barata: gestin ms simple. Se hace swapping.

Monoprogramacin
Un proceso usa toda la memoria. Cada proceso lleva pegado el SO. Slo un proceso a la vez.
_

El procesador esta parado mientras se hace E/S.

Multiprogramacin
Se ejecutan otros procesos mientras hacemos E/S. => varios procesos en memoria. Imprescindible para Time sharing. Aprovecha ms la CPU.
)

Modelizacin
Se puede estudiar, pero. . .

El modelo no representa la situacin del sistema. Depende de la carga real que pongamos en el sistema. Mejor medir empricamente las propiedades que interesen.
Intuitivamente: Ms memoria => ms procesos => mayor uso de CPU.
) )

Particiones fijas
Dividimos en trozos la memoria en arranque. Asignamos los trozos a procesos.

Alternativas
Varias colas: desaprovecho memoria. Una cola: o FIFO: puedo desaprovechar memoria. o otra: puedo penalizar a determinados procesos.

Carga y proteccin
El Compilador y el SO han de cooperar. Hay que saber dnde estn las direcciones y reajustarlas. Proteccin: o Bits extra de contexto en la memoria. o Segmentos: base +lmite.
+

Fragmentacin
Interna dentro de los fragmentos. Externa fragmentos intiles.
Podemos usar compactacin.

Memoria Virtual
Qu es esto?
Procesos ms grandes que la memoria disponible Ms procesos que los que caben en memoria. Automatizacin de overlays. Utilizamos disco como una memoria muy lenta.
_

Paginacin
La forma actual de implementar memoria virtual. Conceptos Espacio virtual de direcciones. Memoria virtual=>memoria fsica Pginas => marcos de pgina Tabla de pginas Paginacin

Intercambiamos pginas, no procesos.

Algoritmos de reemplazamiento
ptimo NRU FIFO 2da oportunidad Clock LRU NFU Aging Detalles prcticos
La que tarde ms en usarse. Utilizando los bits R y M. Ordenadas segn llegada FIFO con reciclado. Implementacin eficiente de la 2da oportunidad. Menos recientemente usada: matrices. . . No usada recientemente. (Sumar R a contadores) Envejecimiento. (Sumas y desplazamientos con R)

Una poltica simple y eficaz. Paging-ahead. Page clustering.

Ms importante reducir el nmero de fallos que el tiempo en procesarlos. Aunque si los hay, a lo mejor falta memoria. . .
_

Segmentacin
Un proceso tiene segmentos. Direccin: desplazamiento: proteccin Una tabla o registros para los descriptores. Se puede combinar con la paginacin (MULTICS, Intel)
PAGINACIN No 1 Si Si No Si Espacio lineal de direcciones Interna SEGMENTACIN Si varios Si Si Si Si Visin del usuario, proteccin Externa

Visin del programador Espacios de direcciones M. Virtual. > M. fsica Proteccin Cdigo = datos Crecimiento Comparticin Objetivo Fragmentacin

Detalle prctico Puede usarse la segmentacin para compartir pginas => reducir fragmentacin interna.
)

No se usa Por qu?

Вам также может понравиться