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

Tema 10: Gestin de Memoria

Tema 10: 2
Silberschatz, Galvin and Gagne 2005
Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006
Gestin de Memoria
Introduccin
Asignacin de espacio contiguo
Asignacin esttica de memoria particionada
Asignacin dinmica de memoria particionada
Proteccin y uso compartido
Asignacin de espacio no contiguo
Segmentacin
Paginacin
Segmentacin con paginacin
Gestin de memoria virtual
Introduccin
Paginacin por demanda
Algoritmos de reemplazo de pginas
Algoritmos de asignacin de marcos de pgina
Tema 10.1: Introduccin
Tema 10: 4
Silberschatz, Galvin and Gagne 2005
Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006
Antecedentes
Un programa debe cargarse en memoria desde disco y colocarse
dentro de un proceso para que se ejecute
La memoria principal y los registros son los nicos dispositivos de
almacenamiento a los que puede acceder la CPU directamente
El acceso a registro es muy rpido; supone un ciclo de CPU (o
menos)
El acceso a memoria principal puede durar varios ciclos
Las memorias cach se colocan entre la memoria principal y la
CPU para acelerar el acceso a la informacin

Tema 10: 5
Silberschatz, Galvin and Gagne 2005
Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006
Procesamiento de un Programa de Usuario
Tema 10: 6
Silberschatz, Galvin and Gagne 2005
Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006
Vinculacin de Direcciones

La vinculacin de instrucciones y datos a direcciones de
memoria puede realizarse en tres etapas diferentes
Compilacin: Si se conoce a priori la posicin que va a
ocupar un proceso en la memoria se puede generar cdigo
absoluto con referencias absolutas a memoria; si cambia la
posicin del proceso hay que recompilar el cdigo
Carga: Si no se conoce la posicin del proceso en memoria
en tiempo de compilacin se debe generar cdigo
reubicable
Ejecucin: Si el proceso puede cambiar de posicin
durante su ejecucin la vinculacin se retrasa hasta el
momento de ejecucin. Necesita soporte hardware para el
mapeo de direcciones (ej., registros base y lmite)
Tema 10: 7
Silberschatz, Galvin and Gagne 2005
Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006
Espacio de Direcciones Fsicas y Lgicas
El concepto de espacio de direcciones lgicas vinculado a un
espacio de direcciones fsicas separado es crucial para una
buena gestin de memoria
Direccin lgica es la direccin que genera el proceso;
tambin se conoce como direccin virtual
Direccin fsica direccin que percibe la unidad de
memoria
Las direcciones lgicas y fsicas son iguales en los esquemas
de vinculacin en tiempo de compilacin y de carga; pero
difieren en el esquema de vinculacin en tiempo de ejecucin
Tema 10: 8
Silberschatz, Galvin and Gagne 2005
Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006
Registros Base y Lmite
Un par de registros base y lmite definen el espacio de direcciones
lgicas
Tema 10: 9
Silberschatz, Galvin and Gagne 2005
Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006
Unidad de Gestin de Memoria (MMU)
La MMU (Memory-Management Unit) es un dispositivo hardware
que transforma las direcciones virtuales en fsicas

Con la MMU el valor del registro de reubicacin (registro base) es
aadido a cada direccin generada por un proceso de usuario en
el momento en que es enviada a la memoria

El programa de usuario trabaja con direcciones lgicas; nunca ve
las direcciones fsicas reales
Tema 10: 10
Silberschatz, Galvin and Gagne 2005
Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006
Reubicacin Dinmica Mediante Registro
Tema 10: 11
Silberschatz, Galvin and Gagne 2005
Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006
Intercambio
Un proceso puede ser retirado temporalmente de la memoria a algn
almacenado auxiliar; ms tarde ser incorporado de nuevo a la memoria
para que contine su ejecucin
Almacenamiento auxiliar disco rpido con capacidad suficiente para
albergar copias de imgenes de memoria para todos los usuarios; debe
proporcionar acceso directo a estas imgenes de la memoria
Roll out, roll in variante del intercambio usada para algoritmos de
planificacin basados en prioridad; un proceso de baja prioridad es retirado
de memoria para que otro con mayor prioridad pueda ser cargado y
ejecutado
La mayor parte del tiempo de intercambio es tiempo de transferencia; el
tiempo de transferencia total es directamente proporcional a la cantidad de
memoria intercambiada
En muchos sistemas (ej. UNIX, Linux, y Windows) se pueden encontrar
versiones modificadas del intercambio
El SO mantiene una cola de listos para los procesos intercambiados que
pueden ejecutarse
Tema 10: 12
Silberschatz, Galvin and Gagne 2005
Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006
Vista Esquemtica del Intercambio
Tema 10.2: Asignacin de Espacio
Contiguo
Tema 10: 14
Silberschatz, Galvin and Gagne 2005
Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006
Asignacin de Espacio Contiguo
La memoria principal se encuentra dividida en dos partes:
SO residente (kernel), normalmente en posiciones bajas de
la memoria junto al vector de interrupciones
Zona para los procesos de usuario, normalmente en
posiciones altas de la memoria

La zona para procesos de usuarios se encuentra dividida a su
vez en varias particiones que se asignarn a los procesos
Particionamiento esttico: las particiones se establecen
en el momento de arranque del SO y permanecen fijas
durante todo el tiempo
Particionamiento dinmico: las particiones cambian de
acuerdo a los requisitos de los procesos
Tema 10: 15
Silberschatz, Galvin and Gagne 2005
Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006
Asignacin Esttica de Memoria Particionada
Asignacin esttica con mltiples particiones
Hueco bloque de memoria disponible; hay huecos de
diversos tamaos repartidos por toda la memoria
Cuando llega un proceso se le asigna un hueco lo
suficientemente grande para que quepa
El SO mantiene informacin sobre:
a) particiones asignadas b) particiones libres (huecos)
SO
P5
P8
P2
SO
P5
P2
SO
P5
P2
P9
P8 sale P9 entra
P10
intenta
entrar
SO
P5
P2
P9
Tema 10: 16
Silberschatz, Galvin and Gagne 2005
Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006
Asignacin Esttica de Memoria Particionada
Primer ajuste (First-fit): Se asigna el primer hueco lo
suficientemente grande
Mejor ajuste (Best-fit): Se asigna el hueco ms pequeo
que es lo suficientemente grande; hay que buscar en la lista
entera de huecos (salvo si est ordenada por tamao)
Desperdicia el menor espacio posible
Hay varias formas de satisfacer una solicitud de tamao n partiendo
de una lista de huecos
Tema 10: 17
Silberschatz, Galvin and Gagne 2005
Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006
Proteccin con Asignacin Esttica
Los registros de reubicacin se usan para proteger los procesos
de usuario unos de otros y del cdigo y datos del SO
El registro base contiene la direccin fsica ms baja a la
que puede acceder el proceso
El registro lmite contiene el tamao de la zona de memoria
accesible por el proceso las direcciones lgicas deben ser
menores que el registro lmite
La comparticin de memoria entre procesos no es sencilla
Los procesos no pueden compartir memoria directamente
debido a la proteccin
Una solucin consiste en implicar al SO en la comparticin
de memoria
Tema 10: 18
Silberschatz, Galvin and Gagne 2005
Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006
Proteccin de Direcciones con Registros Base y Lmite
Tema 10: 19
Silberschatz, Galvin and Gagne 2005
Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006
Asignacin Dinmica de Memoria Particionada
Ahora el tamao y ubicacin de las particiones no es fijo sino que cambia a lo
largo del tiempo
Cuando llega un proceso se le asigna memoria de un hueco lo suficientemente
grande para que quepa
Con el espacio sobrante del hueco se crea una nueva particin libre (hueco)
En este tipo de asignacin las consideraciones de proteccin son las mismas que
en la asignacin esttica
La comparticin se puede conseguir mediante solapamiento de particiones
SO
P5
P8
P2
SO
P5
P2
SO
P5
P2
P9
P8 sale P9 entra P10 entra
SO
P5
P9
P2
P10
Tema 10: 20
Silberschatz, Galvin and Gagne 2005
Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006
Asignacin Dinmica de Memoria
Primer ajuste (First-fit): Se asigna el primer hueco lo
suficientemente grande
Mejor ajuste (Best-fit): Se asigna el hueco ms pequeo
que es lo suficientemente grande; hay que buscar en la lista
entera de huecos (salvo si est ordenada por tamao)
Da lugar al hueco ms pequeo
Peor ajuste (Worst-fit): Se asigna el hueco ms grande;
hay que buscar en la lista completa de huecos (salvo si est
ordenada por tamao)
Da lugar al hueco ms grande
Hay varias formas de satisfacer una solicitud de tamao n partiendo
de una lista de huecos
Los mtodos de primer y mejor ajuste son mejores que el peor
ajuste en trminos de velocidad y aprovechamiento de la memoria
Tema 10: 21
Silberschatz, Galvin and Gagne 2005
Fundamentos de los Computadores (ITT, Sist. Electr.), 2005-2006
Fragmentacin
Fragmentacin Externa hay suficiente memoria libre para
satisfacer una peticin, pero esa memoria no es contigua
Fragmentacin Interna la memoria asignada puede ser
ligeramente mayor que la solicitada; esta diferencia de tamao se
encuentra en la particin pero no es usada
La fragmentacin externa se puede reducir por medio de la
compactacin
Mover las particiones de memoria asignadas para colocar toda
la memoria libre en un bloque contiguo
Es posible slo si la vinculacin es en tiempo de ejecucin
(reubicacin dinmica)
Hay problemas con la E/S
Fijar la posicin en memoria de los procesos que hacen E/S
Hacer E/S slo en buffers del SO

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