Está en la página 1de 88

Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Sistemas Operativos

Administración de
Memoria

Prof. Ing. Fernando Lucas Rivera Bernsdorff, MBA


Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Introducción
 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

.
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Introducción
 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.
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Administrador de Memoria
 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

.
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Administrador de Memoria
 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.
.
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Sin abstracción de memoria


 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:
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Multiprogramación
 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
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Implementación de Multiprogramación
 ¿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)
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Implementación de Multiprogramación
 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.
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Solución a la relocación y la protección


 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
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Relocación o reubicación
 Dos procesos: mismas direcciones relativas
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Solución a la relocación:
 Cada proceso con su espacio de direcciones
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Relocación o reubicación
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Multiprogramación con particiones variables

 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.
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Swapping o intercambio
 La asignación de memoria cambia a medida que los
procesos ingresan o salen de memoria.
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Swapping o intercambio
 Asignando espacio para segmentos que pueden crecer
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Administración de memoria con mapa de bits


 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
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Administración de memoria con listas enlazadas

 Estructura de datos:

P: Proceso
H: Hueco

 Ordenado por dirección.


Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Administración de memoria con listas enlazadas


 Ej: 5 procesos y 3 huecos
(b) Mapa de bits (c) Lista enlazada
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Administración de memoria con listas enlazadas

 Cuando un proceso termina -> 4 posibles uniones:


Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Algoritmos de asignación de memoria


 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.
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Algoritmos de asignación de memoria


 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
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Algoritmos de asignación de memoria


 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 listas de 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.
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Desafíos
 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
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Paginación

Memoria Virtual Mapa de Memoria Memoria Física Disco


Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Direcciones Virtuales - MMU


 MMU: Unidad de administración de memoria
 Mapea direcciones virtuales en reales
 Pertenece al hardware
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Direcciones Virtuales
 Direccionamiento de memoria

 16 bits -> 64Kb = 65.536

 32 bits -> 4Gb = 4.294.967.296

 64 bits -> 18.446.744.073.709.551.616


Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Direcciones Virtuales

MOV REG, 24576

MOV REG, 8192


Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Direcciones virtuales - MMU


Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Direcciones Virtuales

El CPU causa una


interrupción al SO
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Page Fault
 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


Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Page Fault
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Desafíos para implementar paginación


 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


Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Tablas de páginas multinivel


Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Tablas de páginas multinivel


Item o entrada de la tabla de páginas
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

TLB o memoria asociativa


(Translation Lookaside Buffer)

 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
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

TLB o memoria asociativa


(Translation Lookaside Buffer)
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

TLB o memoria asociativa


(Translation Lookaside Buffer)
 Hit Ratio (Ejemplo)
 Acceso a memoria = 100 nseg.
 Acceso a TLB = 20 nseg.
 Acc. Prom. = (0,9 * 20) + (0,1 * 100) = 28 nseg.
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Tabla de páginas invertida


 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)
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Algoritmos de remplazo de página


 Algoritmo de remplazo óptimo
 NRU: No usado recientemente (bits R y M)
 First In First Out (Low overhead)

 Segunda oportunidad (FIFO con bit R)


Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Algoritmos de remplazo de página


 Algoritmo de Reloj
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Algoritmos de remplazo de página


 Algoritmo LRU: Menos usado recientemente (HW)
(Se puede predecir en base al pasado) – LL – 64bit Counter – LRU HW Matrix
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Algoritmos de remplazo de página


 NRU: Simulando LRU en software = Aging
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Algoritmos de remplazo de página


 Resumen
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Anomalía de Belady
 En FIFO, más marcos de página pueden resultar en
más fallos de página
 Ej:
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Algoritmos de pila
 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
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Algoritmos de pila
 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
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Algoritmos de pila
 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
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Algoritmos de pila
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Algoritmos de pila
 Distintas funciones de densidad de probabilidad para
las referencias con una cadena de distancia d
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Índices de fallos de página - Predicción


Siendo:
 n = número de páginas virtuales
 Ci = número de ocurrencias con distancia i

 Fm = número de fallos de página que se darán con la


cadena de distancia dada y m marcos de página
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Ejemplo de índice de fallos de página


Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Consideraciones para sistemas de paginación


 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

Tamaño
del WS en
el tiempo t

Referencias a memoria recientes


Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Consideraciones para sistemas de paginación


 Políticas de asignación Local vs. Global
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Consideraciones para sistemas de paginación


 Indice de frecuencia de fallo de pagina: PFF
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Tamaño de página
 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
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Cálculo de tamaño de página


 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
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Cálculo de tamaño de página

 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
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Pasos de un fallo de página


 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.
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Pasos de un fallo de página


 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.
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Ejemplo de fallo de página:


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.
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Ejemplo de fallo de página:


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
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Páginas compartidas
 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
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Librerias compartidas por más de un proceso


Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Almacenamiento de páginas en disco


 Cuando una página es seleccionada para salir de memoria

 Paginación con un área de intercambio estática:


Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Almacenamiento de páginas en disco


 Cuando una página es seleccionada para salir de memoria

 Paginación dinámica:
Se debe llevar registro
de las páginas en disco
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Espacios separados para datos e instrucciones

Un espacio de direcciones Espacios separados

Soluciona el problema de aumento de tamaño del espacio


Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Sistema de gestión de memoria:

 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


Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Sistema de gestión de memoria:

 Administración de fallos de página con un paginador externo


Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

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
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Segmentación:
 En un espacio de direccionamiento unidireccional, las
tablas crecen y pueden superponerse.
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

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.
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Segmentación:
 Una memoria segmentada permite a cada tabla crecer o
contraerse independientemente de las otras tablas
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Segmentación:
 Comparación entre paginación y segmentación:
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Segmentación:
 (b)-(d) La fragmentación externa inutiliza memoria

 (e) Compactación para liberar memoria


Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

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


Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Segmentación:
 Ejemplo de segmentación con paginación: MULTICS
El descriptor del segmento apunta a las tablas de página
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Segmentación:
 Ejemplo de segmentación con paginación: MULTICS
Descriptor de segmento
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

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)
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

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
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Segmentación:
 Ejemplo de segmentación con paginación: MULTICS
Dirección virtual de 34 bits
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Segmentación:
 Ejemplo de segmentación con paginación: MULTICS
Conversión de la dirección de dos partes
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

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)
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Segmentación:
 Ejemplo de segmentación con paginación: INTEL
El selector
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Segmentación:
 Ejemplo de segmentación con paginación: INTEL
Descriptor del segmento
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Segmentación:
 Ejemplo de segmentación con paginación: INTEL
Conversión de un par (selector + offset) en una dirección
lineal.
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Segmentación:
 Ejemplo de segmentación con paginación: INTEL
Mapeo de una dirección lineal en una dirección física
Sistemas Operativos

Prof. Fernando Lucas Rivera Bernsdorff Administración de Memoria

Segmentación:
 Ejemplo de segmentación con paginación: INTEL
Niveles de protección

También podría gustarte