Logo Studenta

administracion de memoria

¡Este material tiene más páginas!

Vista previa del material en texto

Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Prof. Ing. Fernando Lucas Rivera Bernsdorff, MBA
Sistemas Operativos
Administración de 
Memoria
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Un programa debe ser cargado en memoria para ser
ejecutado
� La CPU solo puede acceder a la memoria principal y los
registros.
� Las registros se acceden en un ciclo de reloj o menos.
� La memoria principal se accede en varios ciclos.
� El cache se sitúa entre la memoria principal y los
registros del CPU 
Introducción
.
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Como un ideal deseamos memoria en grandes 
cantidades, que sea rápida y no volátil.
� Ley de Parkinson: “Los programas van creciendo de
forma tal que ocupan la memoria disponible para los 
mismos.”
� Las memorias son cada vez más rápidas y grandes,
pero los programas también cada vez son más grandes 
y pretenden mayor velocidad. 
� La memoria es un recurso escaso
� Debido a la insuficiencia de memoria se necesitan 
mecanismos para administrarla de forma eficiente.
Introducción
.
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Funciones que realiza el administrador de memoria:
� Registro de la memoria en uso
� Registro de la memoria disponible
� Asignación de memoria a los procesos
� Desasignación de memoria a los procesos
� Swapping:
Intercambio entre memoria principal y disco
Administrador de Memoria
.
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Consideraciones para la administración de memoria:
�Transparencia
� Varios procesos deben poder coexistir en memoria
� Ningún proceso debe necesitar saber que la 
memoria es compartida
� Cada proceso debe ejecutarse sin considerar la 
cantidad de procesos, ni la ubicación de los mismos
� Seguridad: Ningún proceso debe corromper a otro
� Eficiencia: Ni la CPU, ni la memoria deben utilizarse 
menos eficientemente por ser compartidas.
Administrador de Memoria
.
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Monoprogramación
� Ineficiente uso de la CPU
� Un proceso usuario + S.O. en memoria
� Cuando el proceso espera por E/S -> CPU ociosa
� Tres formas de organizar la memoria con un proceso:
Sin abstracción de memoria
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Varios procesos usuarios en memoria
� Mientras un proceso espera por E/S, otro proceso 
puede utilizar la CPU -> Incrementa el uso de CPU
� Se debe decidir cuantos procesos deben estar en 
memoria para mantener la CPU ocupada
-> Modelo probabilístico
Multiprogramación
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� ¿Cómo debe organizarse la memoria para poder tener
más de un proceso en ejecución?
� Primera aproximación: Particiones fijas 
(sin swapping o intercambio de páginas)
Implementación de Multiprogramación
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� La multiprogramación introduce dos problemas que 
deben ser resueltos:
� Relocación: Dirección relativa de acuerdo a la 
partición de memoria donde se ubica el programa
� Protección: No permitir que un trabajo acceda a
la ubicación de memoria de otro trabajo.
� Relocación o reubicación: Se modifican las instrucción 
a medida que el programa es cargado en memoria.
Se reemplazan la direcciones absolutas por relativas.
Implementación de Multiprogramación
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Dos registros especiales de hardware:
� Registro base: Almacena la dirección de inicio de la 
partición.
� Registro limite: Almacena el tamaño de la partición.
� Cuando un proceso es seleccionado en la planificación, 
el sistema operativo carga ambos registros.
� Dirección de memoria física: (base) + dirección de 
memoria generada por el programa
El S.O. controla la dirección física con el registro limite
Solución a la relocación y la protección
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Dos procesos: mismas direcciones relativas
Relocación o reubicación
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Cada proceso con su espacio de direcciones
Solución a la relocación:
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Relocación o reubicación
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� La cantidad de particiones, sus tamaños y ubicaciones 
cambian dinámicamente
� Se introduce el concepto de swapping o intercambio:
Mover un proceso entre memoria y disco
� Compactación de memoria: Unir los procesos en 
memoria de manera que el espacio disponible se 
encuentre adyacente.
Multiprogramación con particiones variables
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� La asignación de memoria cambia a medida que los 
procesos ingresan o salen de memoria.
Swapping o intercambio
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Asignando espacio para segmentos que pueden crecer
Swapping o intercambio
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Divide la memoria en unidades de asignación fija
� A cada unidad le corresponde un bit en el mapa:
0 – No usado 1 – Usado
� Asignación de memoria:
Busca k bits consecutivos en 0 en el mapa para un 
proceso que necesita k unidades de memoria.
� Desventaja: Lento
Administración de memoria con mapa de bits
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Estructura de datos:
P: Proceso
H: Hueco
� Ordenado por dirección.
Administración de memoria con listas enlazadas
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Ej: 5 procesos y 3 huecos
(b) Mapa de bits (c) Lista enlazada
Administración de memoria con listas enlazadas
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Cuando un proceso termina -> 4 posibles uniones:
Administración de memoria con listas enlazadas
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Primero en entrar (first fit): El primer hueco en que cabe
� Próximo en entrar (next fit): Similar pero no empieza 
desde el comienzo, sino en el último encontrado.
� Más se ajusta (best fit): Es más lento porque busca en 
toda la lista. Resulta en menos memoria utilizable 
debido a los huecos pequeños.
� Menos se ajusta (worst fit): Busca que resulten huecos 
grandes. Tiene buen resultado por simulación.
Algoritmos de asignación de memoria
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Rápido en entrar (quick fit): Listas separadas para 
huecos de medidas requeridas frecuentemente. Al estar 
ordenado por medida dificulta la unión al terminar.
� Si se conocen las distribuciones de probabilidad -> 
Se pueden tomar mejores decisiones
Algoritmos de asignación de memoria
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Buddy System:
� Listas de bloques libres de 20, 21, 22, ….., 2k, … bytes
hasta la medida de la memoria
� Por ejemplo para un memoria de 1 MB, se necesitan 
21 listasde 1 byte a 1MB.
� Si un proceso requiere 70 kb de memoria utilizara un 
hueco de 128 kb que es el que más se aproxima.
� Si no hay de 128 puede tomar uno de 256 lo divide 
en 2 de 128 y utiliza uno. 
� Se facilita la unión de bloques contiguos.
Algoritmos de asignación de memoria
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Algunos programas utilizan más memoria que la 
disponible
� Una solución: Programas divididos en overlays
� El programador debe planificar los overlays
� No permite compartir rutinas
� Todavía se utiliza en celulares y PDA’s
� La solución: Memoria Virtual
� Técnica de Paginación
� Se combina generalmente con segmentación.
Permite n-dimenciones de direcciones virtuales 
Desafíos
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Paginación
Memoria Virtual Mapa de Memoria Memoria Física Disco
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� MMU: Unidad de administración de memoria
� Mapea direcciones virtuales en reales 
� Pertenece al hardware 
Direcciones Virtuales - MMU
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Direccionamiento de memoria
� 16 bits -> 64Kb = 65.536 
� 32 bits -> 4Gb = 4.294.967.296 
� 64 bits -> 18.446.744.073.709.551.616 
Direcciones Virtuales
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Direcciones Virtuales
MOV REG, 8192
MOV REG, 24576
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Direcciones virtuales - MMU
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Direcciones Virtuales
El CPU causa una 
interrupción al SO
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Si la página no está en memoria, el CPU causa una 
interrupción al Kernel del SO.
� El CPU graba el contador del programa en la pila
� Una rutina en assembler graba los registros generales
� El SO controla que sea una página válida, si no lo es
aborta la instrucción.
� El SO busca un marco de pagina libre o libera un
marco por medio de algún criterio (Ej. LRU)
� Carga la página requerida en el marco
� Reinicia la instrucción
� Bloquea la página recientemente ingresada 
Page Fault
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Page Fault
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� El tamaño de la tabla de páginas puede ser muy 
grande.
� 64 bits -> 18.446.744.073.709.551.616
cerca de 20 millones de Terabytes
� El mapeo debe ser rápido
� Cada instrucción requiere accesos a la tabla
� Una solución es tener la tabla en registros de HW 
� Otra solución es tener la tabla en memoria
Desafíos para implementar paginación 
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Tablas de páginas multinivel 
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Tablas de páginas multinivel
Item o entrada de la tabla de páginas
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Dispositivo de Hardware
� Generalmente es parte del MMU
� Cuando una dirección virtual se presenta primero
chequea si se encuentra en el TLB y el bit de protec.
� El tiempo de acceso al TLB es menor que el de acceso
a la memoria -> Hit Ratio
TLB o memoria asociativa
(Translation Lookaside Buffer)
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
TLB o memoria asociativa
(Translation Lookaside Buffer)
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Hit Ratio (Ejemplo)
� Acceso a memoria = 100 nseg.
� Acceso a TLB = 20 nseg.
� Acc. Prom. = (0,9 * 20) + (0,1 * 100) = 28 nseg. 
TLB o memoria asociativa
(Translation Lookaside Buffer)
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� El tamaño de la tabla de páginas puede ser muy 
grande. (64 bits -> 18.446.744.073.709.551.616
cerca de 20 millones de Terabytes)
Tabla de páginas invertida
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Algoritmo de remplazo óptimo
� NRU: No usado recientemente (bits R y M)
� First In First Out (Low overhead)
� Segunda oportunidad (FIFO con bit R)
Algoritmos de remplazo de página
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Algoritmo de Reloj
Algoritmos de remplazo de página
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Algoritmo LRU: Menos usado recientemente (HW)
(Se puede predecir en base al pasado) – LL – 64bit Counter – LRU HW Matrix
Algoritmos de remplazo de página
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� NRU: Simulando LRU en software = Aging
Algoritmos de remplazo de página
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Resumen
Algoritmos de remplazo de página
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� En FIFO, más marcos de página pueden resultar en 
más fallos de página
� Ej:
Anomalía de Belady
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Un sistema de paginación se caracteriza por:
� La cadena de referencia del proceso en ejecución:
Lista ordenada de números de páginas utilizadas 
por un proceso.
� El algoritmo de remplazo de páginas
� El número de marcos de página disponibles en 
memoria, m
Algoritmos de pila
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Siendo:
� M un array que mantiene el estado de memoria. 
Dividido en m entradas que están actualmente en 
memoria y n – m paginas que han sido 
referenciadas una vez pero no están en memoria
� r cantidad de referencias a memoria
� En los algoritmos de pila se da que :
� M(m, r) está incluido en M(m+1,r)
El conjunto de páginas incluidas en la parte 
superior de M (memoria) luego de r referencias a 
memoria con m marcos de página está incluido en 
M para una memoria de m + 1 marcos de página
Algoritmos de pila
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Cadena de distancias:
� Concepto útil para el modelado y predecir fallos
� Consiste en la distancia entre el tope de la pila y la 
ubicación de la página en la misma
� Si no se encuentra en la pila se considera una
distancia ∞ (infinita).
� La cadena de distancia depende de la cadena de 
referencia y del algoritmo de paginación
� Cuando la cantidad de páginas utilizadas es grande,
la única forma de reducir los fallos es asignar al 
programa mayor cantidad de marcos de página
Algoritmos de pila
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Algoritmos de pila
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Distintas funciones de densidad de probabilidad para
las referencias con una cadena de distancia d
Algoritmos de pila
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Siendo: 
� n = número de páginas virtuales
� Ci = número de ocurrencias con distancia i
� Fm = número de fallos depágina que se darán con la 
cadena de distancia dada y m marcos de página
Índices de fallos de página - Predicción
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Ejemplo de índice de fallos de página
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Modelo de conjunto de trabajo: WSM 
� Reduce el “Thrashing”: cuando un programa genera 
fallos de página cada pocas instrucciones
� Prepaginación vs Paginación a demanda
Consideraciones para sistemas de paginación
Referencias a memoria recientes
Tamaño 
del WS en 
el tiempo t
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Políticas de asignación Local vs. Global
Consideraciones para sistemas de paginación
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Indice de frecuencia de fallo de pagina: PFF
Consideraciones para sistemas de paginación
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Tamaño de página pequeño 
Ventajas:
� menos fragmentación interna
� menos parte del programa no usado en memoria
� Desventaja:
� Los programas necesitan más páginas
-> Tablas de páginas que ocupan más espacio
Tamaño de página
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Sobrecarga debido a la tabla de páginas y la 
fragmentación interna
s = Tamaño promedio de los procesos en bytes
p = Tamaño de página en bytes
e = Entrada en la tabla de páginas
Cálculo de tamaño de página
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Optimizando: Busco el mínimo
-se/p2 + ½ = 0
� Ej: s = 128K, e = 8 bytes -> Tamaño optimo = 1448 bytes
En la práctica se elige 1K o 2K
Cálculo de tamaño de página
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� El hardware interrumpe al kernel y graba el contador 
del programa en la pila
� Una rutina en código assembler se inicia para grabar 
los registros generales y otra información volátil
� El S.O. detecta que ocurrió un fallo de página y
averigua que página virtual se necesita
� El sistema controla si es una página válida y si el 
acceso es permitido
� Si el marco de página seleccionado está ocupado, la 
página se planifica para transferir a disco y se inicia un 
cambio de contexto.
Pasos de un fallo de página
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Cuando el marco de página se encuentra limpio, el 
S.O. busca la dirección de disco donde está la página y 
planifica una operación de disco para traerla.
� Cuando una interrupción de disco indica que la página 
ha llegado, se actualiza la tabla de página y se marca 
el marco de página en estado normal.
� La instrucción que falló vuelve al estado en que se 
encontraba antes del fallo de página y el contador de 
programa se apunta a dicha instrucción.
� Cuando el proceso que falló es planificado, el S.O. retorna 
a la rutina en assembler que lo llamó.
� Dicha rutina carga registros y otra info. Continua la ejec.
Pasos de un fallo de página
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Instrucción Backup:
Luego del fallo de página se debe reiniciar la instrucción
El problema consiste en identificar si el fallo de página fue
en los operandos o la instrucción.
Ejemplo de fallo de página:
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Instrucción Backup:
Un problema mayor se da con instrucciones con
autoincrementos.
El autoincremeto se puede hacer antes de la referencia a
memoria, en cuyo caso debe ser revertido antes de 
reiniciar la instrucción.
Los diseñadores de CPU lo solucionan generalmente con 
un registro donde el contador de programa es almacenado 
antes de que se ejecute la instrucción. Y un segundo 
registro indicando que registros fueron autoincrementados
Ejemplo de fallo de página:
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Hay páginas que pueden compartirse y otras no, por 
ejemplo el programa se puede compartir y los datos no.
� Cuando un proceso 
termina no deben 
liberarse las páginas 
utilizadas por otro
proceso, sino se producen
muchos fallos de página.
Se necesitan estructuras de 
datos especiales para 
administrarlo
Páginas compartidas
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Librerias compartidas por más de un proceso
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Cuando una página es seleccionada para salir de memoria
� Paginación con un área de intercambio estática:
Almacenamiento de páginas en disco
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Cuando una página es seleccionada para salir de memoria
� Paginación dinámica: 
Se debe llevar registro 
de las páginas en disco
Almacenamiento de páginas en disco
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Un espacio de direcciones Espacios separados
Soluciona el problema de aumento de tamaño del espacio
Espacios separados para datos e instrucciones
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Se divide en 3 partes:
� Un administrador de MMU de bajo nivel
� Un administrador de fallos de página que es parte del 
kernel
� Un paginador externo que se ejecuta en modo usuario
Sistema de gestión de memoria:
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
� Administración de fallos de página con un paginador externo
Sistema de gestión de memoria:
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Segmentación - Introducción
� Un compilador utiliza varias tablas para poder compilar
Posiblemente incluye:
� El código fuente. El cual puede ser impreso
� La tabla de símbolos. 
Nombres y atributos de las variables
� La tabla que contiene los enteros, puntos flotante y 
constantes utilizadas
� El árbol de seguimiento (parse)
El análisis sintáctico del programa.
� La pila utilizada para llamadas a procedimientos dentro
del compilador
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Segmentación:
� En un espacio de direccionamiento unidireccional, las 
tablas crecen y pueden superponerse.
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Segmentación:
� Sistema de segmentación:
� Acceder a archivos utilizando direccionamientos de 
memoria.
� Espacio de direccionamiento de dos dimensiones:
Segmento y “offset”
� Divide el espacio lógico de almacenamiento en 
segmentos. Cada segmento es una unidad lógica.
� El tamaño de los segmentos es variable
� La tabla de segmentos muestra el mapeo entre 
direcciones lógicas y físicas.
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Segmentación:
� Una memoria segmentada permite a cada tabla crecer o 
contraerse independientemente de las otras tablas
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Segmentación:
� Comparación entre paginación y segmentación:
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Segmentación:
� (b)-(d) La fragmentación externa inutiliza memoria
� (e) Compactaciónpara liberar memoria
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Segmentación:
� Combinación de segmentación con paginación:
� Cada segmento debe empezar en el límite de una 
página
� Se divide cada segmento en páginas y cada segmento 
tiene su tabla de páginas.
� Facilita compartir archivos
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Segmentación:
� Ejemplo de segmentación con paginación: MULTICS
El descriptor del segmento apunta a las tablas de página
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Segmentación:
� Ejemplo de segmentación con paginación: MULTICS
Descriptor de segmento
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Segmentación:
� Ejemplo de segmentación con paginación: MULTICS
Algoritmo utilizado cuando ocurre una referencia a memoria:
� Por medio del número de segmento se busca el 
descriptor del segmento
� Se controla si la tabla de páginas del segmento se 
encuentra en memoria:
� Si no, ocurre un fallo de segmento
� Si hay una violación de protección, ocurre un fallo 
(interrupción)
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Segmentación:
� Ejemplo de segmentación con paginación: MULTICS
Algoritmo utilizado cuando ocurre una referencia a memoria:
� Se examina la entrada de la tabla de páginas para la
página virtual requerida.
� Si la página no está en memoria, se dispara un fallo 
de página
� Si está en memoria, se extrae la dirección de 
memoria principal del inicio de la página
� El “Offset” se suma al inicio del la página para obtener 
la dirección de memoria principal a acceder.
� Se realiza la lectura o escritura
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Segmentación:
� Ejemplo de segmentación con paginación: MULTICS
Dirección virtual de 34 bits
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Segmentación:
� Ejemplo de segmentación con paginación: MULTICS
Conversión de la dirección de dos partes
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Segmentación:
� Ejemplo de segmentación con paginación: MULTICS
Versión simplificada de la TLB o memoria asociativa
(La versión original soporta dos tamaños de página)
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Segmentación:
� Ejemplo de segmentación con paginación: INTEL
El selector
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Segmentación:
� Ejemplo de segmentación con paginación: INTEL
Descriptor del segmento
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Segmentación:
� Ejemplo de segmentación con paginación: INTEL
Conversión de un par (selector + offset) en una dirección
lineal.
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Segmentación:
� Ejemplo de segmentación con paginación: INTEL
Mapeo de una dirección lineal en una dirección física
Administración de Memoria
Sistemas Operativos
Prof. Fernando Lucas Rivera Bernsdorff
Segmentación:
� Ejemplo de segmentación con paginación: INTEL
Niveles de protección

Continuar navegando