MMU
Procesos de
Usuario
Paginacin
Segmentacin
SISTEMAS OPERATIVOS
MEMORIA REAL O PRINCIPAL
MEMORIA VIRTUAL
Gestin de
Memoria
GESTOR DE MEMORIA
Es la parte del sistema operativo que gestiona la
jerarqua de memoria
Asignacin de Memoria Principal a los procesos que la
solicitan
Localizacin de espacios libres, y ocupados
Aprovechamiento mximo de dicha memoria
MMU
Procesos de
Usuario
Paginacion
Segmentacion
SISTEMAS OPERATIVOS
Gestin de
Memoria
MMU
Procesos de
Usuario
Paginacion
Segmentacion
SISTEMAS OPERATIVOS
Gestin de
Memoria
Objetivos de la Gestin de Memoria
Ofrecer a cada proceso un espacio lgico propio.
Proporcionar proteccin entre los procesos.
Permitir que los procesos compartan memoria.
Maximizar el rendimiento del sistema
MMU
Procesos de
Usuario
Paginacion
Segmentacion
SISTEMAS OPERATIVOS
Al realizar un estudio de los diversos mecanismos y
polticas relacionadas con la gestin de memoria, vale
la pena tener en mente los requisitos que se intentan
satisfacer.
Hay 5 requisitos:
Reubicacin
Proteccin
Comparticin
Organizacin Lgica
Organizacin Fsica
Gestin de
Memoria
MMU
Procesos de
Usuario
Paginacion
Segmentacion
SISTEMAS OPERATIVOS
Proteccin: En un sistema con multiprogramacin
es necesario proteger al sistema operativo y a los
otros procesos de posibles accesos que se
puedan realizar a sus espacios de direcciones.
Gestin de
Memoria
interrumpido
interferencia
MMU
Procesos de
Usuario
Paginacin
Segmentacin
SISTEMAS OPERATIVOS
Reubicacin: En un sistema multiprogramado la
memoria se encuentra compartida por varios procesos,
por lo tanto, los procesos deben ser cargados y
descargados de memoria.
Gestin de
Memoria
Enviado a
disco
cargado
Comparticin: En ciertas situaciones, bajo la
supervisin y control del sistema operativo, puede
ser provechoso que los procesos puedan
compartir memoria.
MMU
Procesos de
Usuario
Paginacion
Segmentacion
SISTEMAS OPERATIVOS
Gestin de
Memoria
acceden
Copia
programa
MMU
Procesos de
Usuario
Paginacin
Segmentacion
SISTEMAS OPERATIVOS
Organizacin Lgica: Tanto la memoria principal
como la secundaria presentan una organizacin
fsica similar, como un espacio de direcciones lineal
y unidimensional.
CORRESPONDENCIA
Organizacin Fsica: Debe ser parte de la gestin de
memoria, la organizacin del flujo de informacin
entre la memoria principal y la memoria secundaria.
Gestin de
Memoria
ELM
MMU
Procesos de
Usuario
Paginacion
Segmentacion
SISTEMAS OPERATIVOS
Gestin de
Memoria
Direcciones fsicas
Son aquellas que referencian alguna posicin en la
memoria fsica
Direcciones lgicas
son las direcciones utilizadas por los procesos
Asignacin de Espacio Contiguo
La memoria principal se encuentra dividida en dos
partes:
SO residente (kernel), normalmente en posiciones
bajas de la memoria
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
MMU
Procesos de
Usuario
Paginacin
Segmentacin
SISTEMAS OPERATIVOS
Gestin de
Memoria
Asignacin Esttica de Memoria Particionada
MMU
Procesos de
Usuario
Paginacin
Segmentacin
SISTEMAS OPERATIVOS
Gestin de
Memoria
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
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
MMU
Procesos de
Usuario
Paginacin
Segmentacin
JULIO 2008 SISTEMAS OPERATIVOS
Gestin de
Memoria
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
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
MMU
Procesos de
Usuario
Paginacin
Segmentacin
SISTEMAS OPERATIVOS
Gestin de
Memoria
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
MMU
Procesos de
Usuario
Paginacin
Segmentacin
SISTEMAS OPERATIVOS
Gestin de
Memoria
Fragmentacin
La fragmentacin es la memoria que queda
desperdiciada al usar los mtodos de gestin de
memoria que se vieron en los mtodos
anteriores. Tanto el primer ajuste, como el mejor
y el peor producen fragmentacin externa.
La fragmentacin es generada cuando durante
el reemplazo de procesos quedan huecos entre
dos o ms procesos de manera no contigua y
cada hueco no es capaz de soportar ningn
proceso de la lista de espera
MMU
Procesos de
Usuario
Paginacin
Segmentacin
SISTEMAS OPERATIVOS
Gestin de
Memoria
MMU
Procesos de
Usuario
Paginacin
Segmentacin
SISTEMAS OPERATIVOS
Gestin de
Memoria
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
MMU
Procesos de
Usuario
Paginacion
Segmentacion
SISTEMAS OPERATIVOS
Gestin de
Memoria
MMU
Procesos de
Usuario
Paginacion
Segmentacion
SISTEMAS OPERATIVOS
Gestin de
Memoria
Particin de la memoria en pequeos pedazos del
mismo tamao (chunks) y dividir cada proceso en
trozos del mismo tamao
Los trozos (chunks) de un proceso se llaman
pginas y los de la memoria se llaman marcos de
pgina (frames)
El sistema operativo mantiene una tabla de
pgina para cada proceso
Proceso de migracion necesasio para atender
fallos de pagina
MMU
Procesos de
Usuario
Paginacion
Segmentacion
SISTEMAS OPERATIVOS
Gestin de
Memoria
MMU
Procesos de
Usuario
Paginacion
Segmentacion
SISTEMAS OPERATIVOS
El sistema operativo mantiene una tabla de pgina para
cada proceso
Contiene la ubicacin del marco de pgina (frame) de
cada pgina del proceso
La direccin de memoria consiste en un nmero de
pgina y un desplazamiento (offset) dentro de la pgina
Gestin de
Memoria
MMU
Procesos de
Usuario
Paginacion
Segmentacion
SISTEMAS OPERATIVOS
Gestin de
Memoria
Cada pagina tiene un numero
que se utiliza como indice en la
tabla de paginas, lo que da por
resultado el numero del marco
correspondiente a esa pagina
virtual. La finalidad de la tabla de
paginas es asociar las paginas
virtuales con los marcos.
MMU
Procesos de
Usuario
Paginacion
Segmentacion
SISTEMAS OPERATIVOS
Gestin de
Memoria
MMU
Procesos de
Usuario
Paginacion
Segmentacion
SISTEMAS OPERATIVOS
Gestin de
Memoria
Se divide la memoria fsica en bloques de tamao fijo
llamados marcos (frames).
Se divide el proceso en bloques de tamao pequeo
llamados paginas.
Se mantiene informacin en los marcos libres.
Se produce fragmentacin interna
MMU
Procesos de
Usuario
Paginacin
Segmentacin
SISTEMAS OPERATIVOS
Gestin de
Memoria
Es posible comenzar a ejecutar un programa
No es necesario que las paginas estn contiguas
en memoria
Es fcil controlar todas las pginas, ya que tienen el
mismo tamao.
Se libera al programador de la restriccin de
programar para un tamao fsico de memoria
Se puede aumentar el numero de programas
multiprogramndose.
Todo el mecanismo es transparente al usuario
MMU
Procesos de
Usuario
Paginacion
Segmentacion
SISTEMAS OPERATIVOS
Gestin de
Memoria
El costo de hardware y software se incrementa
Se consume mucho mas recursos de memoria, tiempo
en el CPU para su implantacin.
. Aparece el problema de fragmentacin interna
.
MMU
Procesos de
Usuario
Paginacion
Segmentacion
SISTEMAS OPERATIVOS
Gestin de
Memoria
MMU
Procesos de
Usuario
Paginacion
Segmentacion
SISTEMAS OPERATIVOS
Es un esquema de manejo de memoria mediante el
cual la estructura del programa refleja su divisin lgica;
Gestin de
Memoria
MMU
Procesos de
Usuario
Paginacion
Segmentacion
SISTEMAS OPERATIVOS
Modularidad de programas
Estructuras de datos de largo variable
Proteccin:
Comparacin:
Enlace dinmico entre segmentos
Gestin de
Memoria
MMU
Procesos de
Usuario
Paginacin
Segmentacin
SISTEMAS OPERATIVOS
Gestin de
Memoria
Se garantiza la facilidad de implantar la comparticion y
enlace.
Se simplifican las estrategias de almacenamiento.
Se elimina el problema de la fragmentacin externa y
la necesidad de compactacin
MMU
Procesos de
Usuario
Paginacion
Segmentacion
SISTEMAS OPERATIVOS
Hay un incremento en los costos de hardware y de
software
Problemas de fragmentacin externas,
Se complica el manejo de memoria virtual
Puede ser necesarios planes de reubicacin a nivel de
los discos
No se puede garantizar, que al salir un segmento de la
memoria, este pueda ser trado fcilmente de nuevo,
Requiere de mecanismos adicionales de hardware y
software.
Gestin de
Memoria
Segmentacin Paginada
Bajo esta tcnica conocida se trata de
minimizar las desventajas de la
segmentacin
MMU
Procesos de
Usuario
Paginacion
Segmentacion
SISTEMAS OPERATIVOS
Gestin de
Memoria
MMU
Procesos de
Usuario
Paginacion
Segmentacion
SISTEMAS OPERATIVOS
El programador puede conocer las unidades lgicas de
su programa
Es posible compilar mdulos por separados
Fcil la modificacin de los mdulos
Es fcil el compartir segmentos
Existe la posibilidad de definir segmentos que aun no
existan
Gestin de
Memoria
de su implantacion
Incremento del costo
de almacenamiento
MMU
Procesos de
Usuario
Paginacion
Segmentacion
SISTEMAS OPERATIVOS
Gestin de
Memoria
MMU
Procesos de
Usuario
Paginacion
Segmentacion
SISTEMAS OPERATIVOS
En la memoria principal son ejecutados los programas y
procesos de una computadora y es el espacio real que
existe en memoria para que se ejecuten los procesos
Las direcciones de memoria son de tres tipo: fsicas,
lgicas y lineales
Las estrategias mas comunes para asignar espacios
vacos (huecos) son: primer ajuste, mejor ajuste, peor
ajuste
La fragmentacin puede ser interna o externa
Gestin de
Memoria
SISTEMAS OPERATIVOS
Tcnica
Descripcin
Ventajas
Desventajas
Esquemas de
Asignacin Contigua
Particin
Esttica
La memoria principal se divide en un
conjunto de particiones estticas, durante la
generacin del sistema. Un proceso se
puede cargar en una particin de igual o
mayor tamao.
Sencilla de implementar,
poca sobrecarga del
sistema operativo.
Empleo ineficiente de la
memoria debido a la
fragmentacin interna. El
nmero de procesos
activos es fijo.
Particin
Dinmica
Las particiones se crean
dinmicamente, de forma que cada
proceso se carga en una particin de su
mismo tamao.
No hay fragmentacin
interna, uso ms
eficiente de la memoria
principal.
Uso ineficiente del
procesador debido a la
compactacin para
contrarrestar la
fragmentacin externa.
Esquemas de Asignacin
no Contigua
Paginacin
La memoria principal se divide en un
conjunto de marcos de igual tamao. Cada
proceso se divide en pginas de igual
tamao que los marcos. Un proceso se
carga situando todas sus pginas en
marcos libres pero no necesariamente
contiguos.
No tiene
fragmentacin
externa
Hay una pequea
cantidad de
fragmentacin
interna.
Segmentacin
Cada proceso se divide en segmentos. Un
proceso se carga situando todos sus
segmentos en particiones dinmicas que no
tienen por qu ser contiguas.
No tiene
fragmentacin
interna.
Mejora la utilizacin de la
memoria y reduce la
sobrecarga comparada
con la particin dinmica.