Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad 3
Administrador de memoria
Administrador de Memoria
Un Programador requiere memoria:
◦ Infinitamente grande
◦ Rápida
◦ No volátil
◦ Barata
Administrador de Memoria
La parte del sistema operativo que administra la
jerarquía de memoria se llama administrador de
memoria
Administrador básica de memoria
aprovechamiento de la CPU
La forma más fácil de lograr la
de la memoria:
◦ Mapas de bits
◦ Listas libres
Mapa de bits
La memoria se divide en unidades de asignación que pueden
ser desde unas cuantas palabras hasta varios kilobytes
Entre más pequeña sea la unidad mayor será el mapa de bits
◦ Una memoria de 32n bits necesitará sólo n bits de mapa
◦ El mapa de bits sólo ocupará 1/33 de la memoria
Listas enlazadas
Listas enlazadas
Algoritmos para asignación de
memoria
Primer Ajuste
Siguiente Ajuste
Mejor Ajuste
Peor Ajuste
Memoria virtual
Programas demasiado grandes para caber
en la memoria disponible
◦ Dividir el programa en fragmentos o
superposiciones (overlays)
Algunos sistemas permitían tener varias
superposiciones en memoria a la vez
Memoria virtual
intercambiar superposiciones
El programador tenía que encargarse de
Por Software:
◦ Máquinas RISC
◦ El sistema operativo carga en forma
explícita las entradas del TLB
El algoritmo óptimo de reemplazo
de páginas
la lista
El algoritmo de reemplazo de página menos
recientemente usada
(LRU: least recently used)
Desalojar la que tiene más tiempo sin usarse
Costo elevado
Simulación de LRU en software
Pocas máquinas sino es que ninguna
tienen este hardware
Algoritmo de página no usada
frecuentemente (NFU: not frequently used)
NFU requiere un contador de software
asociado con cada página de valor inicial
cero
Algoritmo de maduración que simula
LRU en Software
Sistemas Operativos
3.5 Aspectos de diseño de los sistemas con
paginación
Paginación por demanda
asignado
Control de carga
Una solución real es deshacerse de algunos
procesos de manera temporal
El intercambio de procesos a disco para
multiprogramación
Tamaño de página
Ventaja
◦ Un segmento cualquiera no llenará un
número entero de páginas
◦ El desperdicio se denomina
fragmentación interna
Desventaja
◦ Se necesitarán muchas páginas y por lo
tanto una tabla de páginas más grande
Espacios de instrucciones y de datos
separados
Páginas compartidas
Demonio de paginación
◦ Si el número de marcos de página libres es
demasiado bajo
◦ Si esas páginas se han modificado
desde que se cargaron se escriben en
el disco
Interfaz de memoria virtual
La implementación de la segmentación
difiere de la paginación en un aspecto
fundamental: las páginas son de tamaño
fijo y los segmentos no
Implementación de la segmentación
pura
Segmentación con paginación
Si los segmentos son grandes podría no ser
conveniente o ni siquiera posible mantenerlos
enteros en la memoria
Esto conduce a la idea de paginarlos de modo
que sólo se tengan en la memoria las páginas
que en realidad se necesiten
Varios sistemas importantes han manejado
segmentos paginados:
◦ MULTICS
◦ Pentium de Intel