SlideShare una empresa de Scribd logo
1 de 58
1
Tema 11: Segmentación y
Paginación de la Memoria
Sistemas Operativos
(Tema 14 en apuntes prof. Rovayo)
2
Índice:
1. Segmentación
2. Administración de memoria segmentada
3. Paginación
4. Administración de memoria paginada
5. Sistemas combinados
2
Tema
11:
Segmentación
y
paginación
de
la
memoria
3
Índice:
1. Segmentación
2. Administración de memoria segmentada
3. Paginación
4. Administración de memoria paginada
5. Sistemas combinados
3
Tema
11:
Segmentación
y
paginación
de
la
memoria
4
4
Tema
11:
Segmentación
y
paginación
de
la
memoria
1. Segmentación
 Espacio lógico de direcciones es bidimensional
 Direcciones lógicas constan de:
 Indicador de segmento
 Desplazamiento
 Segmento = trozo de memoria consecutiva
 Idea: dividir programa en trozos de memoria
independientes:
 Código
 Pila
 Datos
 ….
desplazamiento
ind. seg.
Dirección Lógica
4
00…0
FF…F
Espacio Físico
de Direcciones
5
Tema
11:
Segmentación
y
paginación
de
la
memoria
1. Segmentación
1. Traducción de direcciones segmentadas
2. Protección
3. Superposición de segmentos
4. Formas de usar los descriptores
6
Tema
11:
Segmentación
y
paginación
de
la
memoria
1. Segmentación
1. Traducción de direcciones segmentadas
2. Protección
3. Superposición de segmentos
4. Formas de usar los descriptores
7
Tema
11:
Segmentación
y
paginación
de
la
memoria
1.1 Traducción de direcciones segmentadas
desplazamiento
Dirección Lógica
00…0
FF…F
Segmento 2
Espacio Físico
de Direcciones
Segmento 1
Segmento 3
base tamaño …
…
…
…
… … …
ind. seg.
Tabla de descriptores de Segmentos
0
1
2
d<t +
ERROR
0A00
6F10
B100
4000
1000
2000
NO SI
8
Tema
11:
Segmentación
y
paginación
de
la
memoria
1. Segmentación
1. Traducción de direcciones segmentadas
2. Protección
3. Superposición de segmentos
4. Formas de usar los descriptores
9
Tema
11:
Segmentación
y
paginación
de
la
memoria
1.2 Protección
desplazamiento
Dirección Lógica
00…0
FF…F
Segmento 2
Espacio Físico
de Direcciones
Segmento 1
Segmento 3
base tamaño r w x …
0A00 1000 1 0 0 …
6F10 4000 1 1 0 …
B190 2000 0 0 1 …
… … … …
ind. seg.
Tabla de descriptores de Segmentos
0
1
2
d<t
ERROR
NO SI
¿válido?
NO
SI
ERROR
10
Tema
11:
Segmentación
y
paginación
de
la
memoria
1. Segmentación
1. Traducción de direcciones segmentadas
2. Protección
3. Superposición de segmentos
4. Formas de usar los descriptores
11
Tema
11:
Segmentación
y
paginación
de
la
memoria
1.3 Superposicion de segmentos
00…0
FF…F
base tamaño r w x …
0
1
2
 Varios segmentos pueden estar parcial o totalmente
solapados en memoria
 Una dirección física se puede corresponder con
múltiples direcciones lógicas
3
1000 4000 1 0 0
1 1 0
2000 4000
…
…
1000
2000
4000 5000 1 1 0 …
4000
4000 5000 1 0 0 …
1 0 0
1 1 0
1 1 0
A000
A000
12
Tema
11:
Segmentación
y
paginación
de
la
memoria
1. Segmentación
1. Traducción de direcciones segmentadas
2. Protección
3. Superposición de segmentos
4. Formas de usar los descriptores
13
Tema
11:
Segmentación
y
paginación
de
la
memoria
1.4 Formas de usar los descriptores
 ¿Cuántos segmentos pueden haber en el sistema?
 Cada proceso debe poder crear un número suficiente de
segmentos
 Intel Pentium: 16.383 segmentos
 ¡Tabla de segmentos demasiado grande para MMU!
 Tabla en memoria y MMU contiene su dirección
00…0
base tamaño r w x …
BASE
LIMITE
BASE LOCAL
LIMITE LOCAL
14
Tema
11:
Segmentación
y
paginación
de
la
memoria
1.4 Formas de usar los descriptores
 PROBLEMA: Tiempo de acceso se multiplica por dos
 Primer acceso: tabla de descriptores
 Segundo acceso: dirección efectiva
 Soluciones (no excluyentes):
 Uso de registros descriptores de segmento en MMU
 Uso de memoria asociativa
15
Tema
11:
Segmentación
y
paginación
de
la
memoria
1.4 Formas de usar los descriptores
Registros descriptores
 En MMU: varios registros capaces de contener un
descriptor
 Se puede copiar en ellos los descriptores que se
vayan a usar en el futuro inmediato
 Dos tipos de registros:
 de propósito general
 especializados
16
Tema
11:
Segmentación
y
paginación
de
la
memoria
1.4 Formas de usar los descriptores
Registros descriptores de propósito general
 MMU contiene un conjunto de registros sobre los que
cargar próximos descriptores a usar, y…
 Dos tipos de direcciones:
 Las que hacen referencia a un descriptor de tabla en memoria
• necesitan más bits para hacer referencia al descriptor
 Las que hacen referencia a un descriptor en MMU
• necesitan menos bits para referir al descriptor
BASE TAM PERM
0
BASE TAM PERM
1
BASE TAM PERM
2
BASE TAM PERM
3
BASE TAM PERM
4
…
…
…
…
17
Tema
11:
Segmentación
y
paginación
de
la
memoria
1.4 Formas de usar los descriptores
Registros descriptores especializados
 MMU contiene registros capaces de albergar un
descriptor, y
 Dos tipos de direcciones:
 Las que hacen referencia a un descriptor de tabla en memoria
 Las que NO hacen referencia a ningún descriptor
• Emplean un descriptor de MMU, según el tipo de instrucción
BASE TAM PERM
DS
BASE TAM PERM
SS
BASE TAM PERM
CS
18
Tema
11:
Segmentación
y
paginación
de
la
memoria
1.4 Formas de usar los descriptores
Descriptores en memoria asociativa
 MMU contiene una memoria asociativa indexada por nº
de descriptor
 Para cada acceso:
 Se busca en memoria asociativa el nº de descriptor
• Si está: se emplea el descriptor guardado en mem. asociativa
• Si no está: se carga (es necesario acceso a tabla en memoria)
– Si se llena memoria asociativa: reemplazo
0A00 1000 1 0 0 …
6F10 4000 1 1 0 …
B190 2000 0 0 1 …
… … … …
5
2
14
…
desplazamiento
2
19
Tema
11:
Segmentación
y
paginación
de
la
memoria
1.4 Formas de usar los descriptores
Descriptores en memoria asociativa
 Memoria asociativa es transparente
 ¡Se puede usar en conjunción con registros en MMU!
20
Índice:
1. Segmentación
2. Administración de memoria segmentada
3. Paginación
4. Administración de memoria paginada
5. Sistemas combinados
20
Tema
11:
Segmentación
y
paginación
de
la
memoria
21
Tema
11:
Segmentación
y
paginación
de
la
memoria
2. Administración de memoria segmentada
 Gestión: particiones variables
 Mapas de bits
 Listas de control
 Segmentación proporciona posibilidades adicionales:
 Crecimiento de los procesos
 Compartición de segmentos
 Carga de segmentos a petición
 Enlace dinámico
22
Tema
11:
Segmentación
y
paginación
de
la
memoria
2. Administración memoria segmentada
Crecimiento de los procesos
 Dos formas de crecimiento:
 Asignando nuevos segmentos al proceso
 Creciendo algún segmento asignado
base tamaño r w x …
1 1 0 …
2000 1000 0 0 1 …
… … … …
00…0
1000
2000
3000
4800
Crecible
True
False
…
1800
0
0
1
1800
3000 1000
1000
23
Tema
11:
Segmentación
y
paginación
de
la
memoria
2. Administración memoria segmentada
Compartición de segmentos
 Objetivos:
 Optimización uso de memoria
 Compartición de información
 Ejemplo 1: si varios usuarios ejecutan un mismo
programa…
 Pueden compartir código y constantes del programa: ¡sólo se
cargan una vez!
 Si código usa librerías comunes: pueden compartirse
segmentos de librerías con otros programas
 Ejemplo 2: procesos que comparten datos
 Datos en segmento compartido
 Gestión: tabla de segmentos compartidos
24
Tema
11:
Segmentación
y
paginación
de
la
memoria
2. Administración memoria segmentada
Carga de segmentos a petición
 Algunas MMU disponen de bit “presente” en descriptor:
 Segmentos no presentes están definidos, pero no están en
memoria
 Acceso a segmento no presente=fallo de segmento
 Ante un fallo de segmento, SO es responsable de cargar
segmento
base tamaño r w x P
800 1 1 0
2000 1000 0 0 1 1
… … … …
00…0
3000
2000
400
0
0
1
3000
- 0
1
25
Tema
11:
Segmentación
y
paginación
de
la
memoria
2. Administración memoria segmentada
Carga de segmentos a petición
 Aplicación: cargar segmentos cuando son referidos por
primera vez
 En archivo ejecutable hay información sobre segmentos
definidos por proceso:
• Identificación y localización en archivo
• Tipo
• Punto de entrada
• Tamaño
• Protección
 Al cargar ejecutable, cargador sólo define segmentos
 Al intentar ejecutar primera instrucción: primer fallo de
segmento
• SO carga segmentos conforme van siendo referidos
26
Tema
11:
Segmentación
y
paginación
de
la
memoria
2. Administración memoria segmentada
Carga de segmentos a petición
 Si memoria se llena: reemplazo
 Podemos ejecutar procesos que usen más memoria de la que
físicamente disponemos (Memoria Virtual)
S1
00…0
FF…F
S2
S3
S4
S5
S6
S7
27
Tema
11:
Segmentación
y
paginación
de
la
memoria
2. Administración memoria segmentada
Enlace dinámico
 Enlace= construcción de ejecutable a partir de ficheros
compilados (ficheros objeto)
 Objetivo: reducir trabajo de montador de enlaces
 Tipos de enlace dinámico:
 Durante la carga
 En tiempo de ejecución
 Enlace durante la carga:
 En archivo ejecutable hay nombres simbólicos para
segmentos y objetos:
CALL [librería:rutina]
 Cargador sustituye nombres por descriptores y direcciones
reales
28
Tema
11:
Segmentación
y
paginación
de
la
memoria
2. Administración memoria segmentada
Enlace dinámico
 Enlace dinámico durante la ejecución
 (Ejemplo: MULTICS)
00…0
…
call
…
[100]
1 300
100
300 “seg:func”
0 16:70
…
70 func: …
…
seg= 16
29
Índice:
1. Segmentación
2. Administración de memoria segmentada
3. Paginación
4. Administración de memoria paginada
5. Sistemas combinados
29
Tema
11:
Segmentación
y
paginación
de
la
memoria
30
30
Tema
11:
Segmentación
y
paginación
de
la
memoria
3. Paginación
 Espacio lógico de direcciones lineal
 Dividido de forma transparente en trozos de igual
tamaño (páginas)
 Traductor divide las direcciones lógicas en
 nº de página
 desplazamiento
00…0
FF…F
Espacio Físico
de Direcciones
desplazamiento
Página
Dirección Lógica
desplazamiento
Marco
Dirección Física
Traductor Dinámico
de Páginas
0
k
k+1
n
0
k
k+1
n
00…0
FF…F
Espacio Lógico
de Direcciones
…
} 2k
31
31
Tema
11:
Segmentación
y
paginación
de
la
memoria
3. Paginación
1. Traducción de direcciones paginadas
2. Organización de la tabla de páginas
32
32
Tema
11:
Segmentación
y
paginación
de
la
memoria
3. Paginación
1. Traducción de direcciones paginadas
2. Organización de la tabla de páginas
33
33
Tema
11:
Segmentación
y
paginación
de
la
memoria
3.1 Traducción de direcciones paginadas
 La traducción se lleva a cabo mediante una tabla de
páginas
 Tabla de páginas se indexa por nº página y
proporciona nº de marco
desplazamiento
2
Dirección Lógica
desplazamiento
12
Dirección Física
Marco P …
8 1 …
1204 1 …
12 1 …
- 0 …
… … …
0
1
2
3
34
34
Tema
11:
Segmentación
y
paginación
de
la
memoria
3. Paginación
1. Traducción de direcciones paginadas
2. Organización de la tabla de páginas
35
35
Tema
11:
Segmentación
y
paginación
de
la
memoria
3.2 Organización de la tabla de páginas
 Tamaño de la tabla de páginas: determinado por…
 tamaño del espacio de direcciones
 tamaño de la página
 Si espacio de direcciones = 4Gb y tamaño de página
= 4K: ¡1M entradas!
 Posibilidades:
 Tabla de páginas en el traductor
 Tabla de páginas en memoria
 Tabla de páginas multinivel
 Tablas de páginas para todo el sistema
 Traductores sin tabla de páginas
36
36
Tema
11:
Segmentación
y
paginación
de
la
memoria
3.2 Organización de la tabla de páginas
Tabla de páginas en el traductor
 Sólo es viable si hay pocas páginas
 En MMU: conjunto de registros indexados por nº de
página
 Inconvenientes:
 SO debe sustituir tabla de páginas cada vez que…
• Se conmuta de procesos
• Se transfiere control al SO
37
37
Tema
11:
Segmentación
y
paginación
de
la
memoria
3.2 Organización de la tabla de páginas
Tabla de páginas en memoria
 La tabla se saca del traductor y almacena en
memoria
 Traductor sólo contiene
 Dirección de primera entrada
 Tamaño de la tabla
 Inconvenientes:
 Cada acceso a memoria: implica dos accesos
• Uno a tabla de páginas
• Otro a la dirección efectiva
 Solución: memoria asociativa
38
38
Tema
11:
Segmentación
y
paginación
de
la
memoria
3.2 Organización de la tabla de páginas
Tabla de páginas multinivel
 Idea: paginar la tabla de páginas
 Facilita manipulación y almacenamiento de la tabla
 Ejemplo a dos niveles:
desplazamiento
pagina
Dirección Lógica
DP NP
Marco P …
8 1 …
1204 1 …
12 1 …
- 0 …
… …
0
1
2
3
Dirección
0AFF00
100700
108800
FFA100
…
0
1
2
3
Directorio
Tabla de páginas
desplazamiento
marco
Dirección Física
39
39
Tema
11:
Segmentación
y
paginación
de
la
memoria
3.2 Organización de la tabla de páginas
Tabla de páginas multinivel
 Ventajas:
 Tabla de página no tiene por qué ser ocupar direcciones
consecutivas
 Tabla de página no tiene por qué estar cargada completa en
memoria
 Inconvenientes:
 Tiempo de acceso se multiplica por tres
 Solución: memoria asociativa
40
40
Tema
11:
Segmentación
y
paginación
de
la
memoria
3.2 Organización de la tabla de páginas
Tabla de páginas para todo el sistema
 Son también multinivel
 MMU tiene dirección de una tabla que tiene una
entrada por proceso y contiene dirección de tabla de
páginas/directorio de dicho proceso:
desplazamiento
pagina
Marco P …
8 1 …
1204 1 …
12 1 …
- 0 …
… …
0
1
2
3
Dirección
0AFF00
100700
108800
FFA100
…
0
1
2
3
Tabla de procesos
Tabla de páginas
desplazamiento
marco
Dirección Física
dir t.procs.
PID
41
41
Tema
11:
Segmentación
y
paginación
de
la
memoria
3.2 Organización de la tabla de páginas
Tabla de páginas para todo el sistema
 Conmutar de tabla de proceso: cambiar PID
 Inconvenientes:
 Tiempo de acceso se multiplica por tres
 Solución:
 Memoria asociativa, indexada por PID + Nº de página
0A00 …
6F10 …
B190 …
… …
4 5
4 2
5 2
…
desplazamiento
PID:4 2
42
42
Tema
11:
Segmentación
y
paginación
de
la
memoria
3.2 Organización de la tabla de páginas
Traductores sin tabla de páginas
 Hardware no impone estructura de tabla de páginas
 Hardware sólo dispone de memoria asociativa
 Si no se encuentra página en memoria asociativa:
excepción
 SO es responsable de:
 determinar asociación entre nº de página y nº de marco
 Actualizar la memoria asociativa
 Ventajas:
 Flexibilidad: hardware no impone la organización de la TP
 Traductor se simplifica notablemente
 Parte del ahorro en hardware del traductor se puede invertir
en aumentar el tamaño de la memoria asociativa
43
Índice:
1. Segmentación
2. Administración de memoria segmentada
3. Paginación
4. Administración de memoria paginada
5. Sistemas combinados
43
Tema
11:
Segmentación
y
paginación
de
la
memoria
44
44
Tema
11:
Segmentación
y
paginación
de
la
memoria
4. Administración de memoria paginada
 Gestión: particiones variables, con importantes
simplificaciones:
 Todos los marcos son iguales→ no hay que elegir
 No importa que marcos libres no estén consecutivos
 De especial interés:
 Elementos de administración
 Entrada/Salida y paginación
 Carga de páginas a petición
45
45
Tema
11:
Segmentación
y
paginación
de
la
memoria
4. Administración de la memoria paginada
Elementos de administración
 Tabla de asignación de marcos a procesos
 Una entrada por marco
 En cada entrada:
• PID de proceso, si marco asignado
• 0, si marco libre
 Ayuda: conservar la posición de la primera/próxima entrada
libre
Proceso
PID1
PID1
PID2
Libre
PID1
…
0
1
2
3
Siguiente libre
4
46
46
Tema
11:
Segmentación
y
paginación
de
la
memoria
4. Administración de la memoria paginada
Elementos de administración
 Listas de marcos asignados a procesos
 Nº de marcos es fijo: listas implementadas mediante tabla
 En cada entrada (una por marco):
• Siguiente marco en la lista
• -1, si marco es el último
 En PCB: índices del primer y último marco asignados a
proceso
2
0
3
6
PID1
7
-1
…
0
1
2
3
primero
4
5
6
último
PCB proceso 1
primero
Libres
Proceso 1: marcos 0, 2, 3, y 6
Libres: demás marcos
47
47
Tema
11:
Segmentación
y
paginación
de
la
memoria
4. Administración de la memoria paginada
Entrada/Salida y paginación
 Problema: buffers de lectura o escritura
 Ocupan direcciones lógicas consecutivas
 Pero las direcciones físicas son distintas, incluso no
consecutivas
00…0
FF…F
Vamos a
hacer una
escriturita en
disco de estos
datos que
tengo yo
aquí…
00…0
FF…F
48
48
Tema
11:
Segmentación
y
paginación
de
la
memoria
4. Administración de la memoria paginada
Entrada/Salida y paginación
Soluciones:
 Dado que entrada/salida es responsabilidad de SO,
éste traduce y usa direcciones físicas
 ¿Y si el buffer ni siquiera ha quedado contiguo?
 SO programa varias operaciones, una por cada trozo
de buffer en espacio físico
 Puede ser problemático para dispositivos de bloque
 Usar buffer contiguo en espacio de SO
 Que el DMA vea direcciones lógicas
 Será el caso si DMA y MMU integrados en CPU
49
49
Tema
11:
Segmentación
y
paginación
de
la
memoria
4. Administración de la memoria paginada
Carga de páginas a petición
 Mediante bit de página presente: las páginas se
pueden cargar cuando son referidas por primera vez
 Para cargar una página, sólo hay que asignarle un
marco libre
 Si no quedan marcos libres: memoria virtual
 Elegir un marco que contenga una página que supongamos
no vaya a hacer falta en futuro inmediato
 Sustituir dicha página por la recién referida
 ¿Memoria virtual segmentada o paginada?
 Comparemos por…
• Tamaño de las transferencias
• Complejidad de administración
• Operaciones de entrada/salida
50
50
Tema
11:
Segmentación
y
paginación
de
la
memoria
4. Administración de la memoria paginada
Carga de páginas a petición
MV segmentada vs paginada: tamaño de transferencias
 Paginación:
 Todas las transferencias de página del mismo tamaño
(típicamente en torno a 4K)
 Segmentación:
 Distinto tamaño cada segmento
 Posibilidad de segmentos muy grandes
51
51
Tema
11:
Segmentación
y
paginación
de
la
memoria
4. Administración de la memoria paginada
Carga de páginas a petición
MV segmentada vs paginada: complejidad administración
 Paginación:
 Todos los marcos son iguales → cualquiera vale para cualquier
página
 Segmentación:
 Hay que cargar el segmento en un hueco de tamaño suficiente
 Fragmentación del espacio libre
52
52
Tema
11:
Segmentación
y
paginación
de
la
memoria
4. Administración de la memoria paginada
Carga de páginas a petición
MV segmentada vs paginada: operaciones entrada/salida
 Problema: si hay memoria virtual, es posible que el
segmento/página destino/fuente de una operación no
esté presente
 Posible solución:
 Bloquear en memoria las páginas/segmentos que contienen
los buffers de E/S
 Paginación:
 Las páginas bloqueadas son del orden de varios Kilobytes
 Segmentación:
 ¿Y si buffer está en un segmento de datos muy grande?
53
Índice:
1. Segmentación
2. Administración de memoria segmentada
3. Paginación
4. Administración de memoria paginada
5. Sistemas combinados
53
Tema
11:
Segmentación
y
paginación
de
la
memoria
54
54
Tema
11:
Segmentación
y
paginación
de
la
memoria
5. Sistemas combinados
 Segmentación: es útil para los procesos
 Organización de datos, código…
 Mecanismos de protección
 Compartición de datos y código
 Optimización del espacio ocupado
 Paginación: es útil para el sistema operativo
 Memoria virtual
 Dispersión en memoria
 ¿Segmentación o paginación?
 ¡Ambos! Sistemas combinados:
 Segmentación paginada
 Segmentación y paginación independientes
55
55
Tema
11:
Segmentación
y
paginación
de
la
memoria
5. Sistemas combinados
Segmentación paginada
 Cada segmento dividido en páginas
 En descriptor, en lugar de dirección base de segmento:
dirección de tabla de páginas del segmento.
desplazamiento
indicador página
Dirección Lógica
tabla tamaño r w x …
7FFF 800 1 1 0 …
2000 1000 0 0 1 …
… … … …
Marco P …
8 1 …
1204 1 …
12 1 …
- 0 …
… …
Tabla de segmentos
Tabla de páginas
desplazamiento
marco
Dirección Física
56
Tema
11:
Segmentación
y
paginación
de
la
memoria
5. Sistemas combinados
Segmentación paginada
 Inconvenientes:
 Cada segmento debe empezar y acabar en frontera de página
 Tamaño del segmento: múltiplo del tamaño de página
Segmentación y paginación independientes
 La paginación es transparente
 ¿y si pusiéramos un sistema paginado bajo un sistema
segmentado?
57
Tema
11:
Segmentación
y
paginación
de
la
memoria
5. Sistemas combinados
Segmentación y paginación independientes
 Ejemplo: arquitectura IA32
desplazamiento
selector
Dirección Lógica Segmentada
0
31
Tabla de descriptores de segmentos
dirección intermedia
0
31
¿PG?
+
SI
NO
dirección física
0
31
directorio pagina desplazamiento
12
0
20
31
Directorio de páginas
Tabla de páginas
marco desplazamiento
12
31 0
58

Más contenido relacionado

Similar a Sistemas Operativos_ Segmentación y paginación

Gestion Mem Proc
Gestion Mem ProcGestion Mem Proc
Gestion Mem Procalbertolnm
 
Sistemas Operativos - Memoria
Sistemas Operativos - MemoriaSistemas Operativos - Memoria
Sistemas Operativos - Memoriavdelgado3
 
Paginación y Segmentación
Paginación y SegmentaciónPaginación y Segmentación
Paginación y Segmentacióngabosand
 
Memorias (Sistemas Operativos)
Memorias (Sistemas Operativos)Memorias (Sistemas Operativos)
Memorias (Sistemas Operativos)JaderValdivia
 
GUÍA 1_Administración de Base de Datos.docx
GUÍA 1_Administración de Base de Datos.docxGUÍA 1_Administración de Base de Datos.docx
GUÍA 1_Administración de Base de Datos.docxleotri2
 
administracion de memoria y archivos
administracion de memoria y archivosadministracion de memoria y archivos
administracion de memoria y archivosSamir Barrios
 
administración de memoria y archivos
administración de memoria y archivosadministración de memoria y archivos
administración de memoria y archivosSamir Barrios
 
Unidad A Aministración de la Memoria
Unidad A Aministración de la MemoriaUnidad A Aministración de la Memoria
Unidad A Aministración de la MemoriaNubieshita Chase
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoriapuracastillo
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoriapuracastillo
 

Similar a Sistemas Operativos_ Segmentación y paginación (20)

Memory[1]
Memory[1]Memory[1]
Memory[1]
 
Gestion Mem Proc
Gestion Mem ProcGestion Mem Proc
Gestion Mem Proc
 
Sistemas de Archivos
Sistemas de ArchivosSistemas de Archivos
Sistemas de Archivos
 
semana 1.pdf
semana 1.pdfsemana 1.pdf
semana 1.pdf
 
Cap3
Cap3Cap3
Cap3
 
Cap3
Cap3Cap3
Cap3
 
Sistemas Operativos - Memoria
Sistemas Operativos - MemoriaSistemas Operativos - Memoria
Sistemas Operativos - Memoria
 
Paginación y Segmentación
Paginación y SegmentaciónPaginación y Segmentación
Paginación y Segmentación
 
Memorias (Sistemas Operativos)
Memorias (Sistemas Operativos)Memorias (Sistemas Operativos)
Memorias (Sistemas Operativos)
 
GUÍA 1_Administración de Base de Datos.docx
GUÍA 1_Administración de Base de Datos.docxGUÍA 1_Administración de Base de Datos.docx
GUÍA 1_Administración de Base de Datos.docx
 
administracion de memoria y archivos
administracion de memoria y archivosadministracion de memoria y archivos
administracion de memoria y archivos
 
administración de memoria y archivos
administración de memoria y archivosadministración de memoria y archivos
administración de memoria y archivos
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Equipo1
Equipo1Equipo1
Equipo1
 
Equipo1
Equipo1Equipo1
Equipo1
 
Gestión de memoria
Gestión de memoriaGestión de memoria
Gestión de memoria
 
Unidad A Aministración de la Memoria
Unidad A Aministración de la MemoriaUnidad A Aministración de la Memoria
Unidad A Aministración de la Memoria
 
Ec6
Ec6Ec6
Ec6
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
 

Último

Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptMarianoSanchez70
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
Clase 2 Revoluciones Industriales y .pptx
Clase 2 Revoluciones Industriales y .pptxClase 2 Revoluciones Industriales y .pptx
Clase 2 Revoluciones Industriales y .pptxChristopherOlave2
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfKEVINYOICIAQUINOSORI
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesElianaCceresTorrico
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASPersonalJesusGranPod
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptxguillermosantana15
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptCRISTOFERSERGIOCANAL
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSaulSantiago25
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAJOSLUISCALLATAENRIQU
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaXimenaFallaLecca1
 

Último (20)

Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
Clase 2 Revoluciones Industriales y .pptx
Clase 2 Revoluciones Industriales y .pptxClase 2 Revoluciones Industriales y .pptx
Clase 2 Revoluciones Industriales y .pptx
 
Elaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdfElaboración de la estructura del ADN y ARN en papel.pdf
Elaboración de la estructura del ADN y ARN en papel.pdf
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
 
Seleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusiblesSeleccion de Fusibles en media tension fusibles
Seleccion de Fusibles en media tension fusibles
 
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICAINTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
INTEGRALES TRIPLES CLASE TEORICA Y PRÁCTICA
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO CersaSesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
Sesión 02 TIPOS DE VALORIZACIONES CURSO Cersa
 

Sistemas Operativos_ Segmentación y paginación

  • 1. 1 Tema 11: Segmentación y Paginación de la Memoria Sistemas Operativos (Tema 14 en apuntes prof. Rovayo)
  • 2. 2 Índice: 1. Segmentación 2. Administración de memoria segmentada 3. Paginación 4. Administración de memoria paginada 5. Sistemas combinados 2 Tema 11: Segmentación y paginación de la memoria
  • 3. 3 Índice: 1. Segmentación 2. Administración de memoria segmentada 3. Paginación 4. Administración de memoria paginada 5. Sistemas combinados 3 Tema 11: Segmentación y paginación de la memoria
  • 4. 4 4 Tema 11: Segmentación y paginación de la memoria 1. Segmentación  Espacio lógico de direcciones es bidimensional  Direcciones lógicas constan de:  Indicador de segmento  Desplazamiento  Segmento = trozo de memoria consecutiva  Idea: dividir programa en trozos de memoria independientes:  Código  Pila  Datos  …. desplazamiento ind. seg. Dirección Lógica 4 00…0 FF…F Espacio Físico de Direcciones
  • 5. 5 Tema 11: Segmentación y paginación de la memoria 1. Segmentación 1. Traducción de direcciones segmentadas 2. Protección 3. Superposición de segmentos 4. Formas de usar los descriptores
  • 6. 6 Tema 11: Segmentación y paginación de la memoria 1. Segmentación 1. Traducción de direcciones segmentadas 2. Protección 3. Superposición de segmentos 4. Formas de usar los descriptores
  • 7. 7 Tema 11: Segmentación y paginación de la memoria 1.1 Traducción de direcciones segmentadas desplazamiento Dirección Lógica 00…0 FF…F Segmento 2 Espacio Físico de Direcciones Segmento 1 Segmento 3 base tamaño … … … … … … … ind. seg. Tabla de descriptores de Segmentos 0 1 2 d<t + ERROR 0A00 6F10 B100 4000 1000 2000 NO SI
  • 8. 8 Tema 11: Segmentación y paginación de la memoria 1. Segmentación 1. Traducción de direcciones segmentadas 2. Protección 3. Superposición de segmentos 4. Formas de usar los descriptores
  • 9. 9 Tema 11: Segmentación y paginación de la memoria 1.2 Protección desplazamiento Dirección Lógica 00…0 FF…F Segmento 2 Espacio Físico de Direcciones Segmento 1 Segmento 3 base tamaño r w x … 0A00 1000 1 0 0 … 6F10 4000 1 1 0 … B190 2000 0 0 1 … … … … … ind. seg. Tabla de descriptores de Segmentos 0 1 2 d<t ERROR NO SI ¿válido? NO SI ERROR
  • 10. 10 Tema 11: Segmentación y paginación de la memoria 1. Segmentación 1. Traducción de direcciones segmentadas 2. Protección 3. Superposición de segmentos 4. Formas de usar los descriptores
  • 11. 11 Tema 11: Segmentación y paginación de la memoria 1.3 Superposicion de segmentos 00…0 FF…F base tamaño r w x … 0 1 2  Varios segmentos pueden estar parcial o totalmente solapados en memoria  Una dirección física se puede corresponder con múltiples direcciones lógicas 3 1000 4000 1 0 0 1 1 0 2000 4000 … … 1000 2000 4000 5000 1 1 0 … 4000 4000 5000 1 0 0 … 1 0 0 1 1 0 1 1 0 A000 A000
  • 12. 12 Tema 11: Segmentación y paginación de la memoria 1. Segmentación 1. Traducción de direcciones segmentadas 2. Protección 3. Superposición de segmentos 4. Formas de usar los descriptores
  • 13. 13 Tema 11: Segmentación y paginación de la memoria 1.4 Formas de usar los descriptores  ¿Cuántos segmentos pueden haber en el sistema?  Cada proceso debe poder crear un número suficiente de segmentos  Intel Pentium: 16.383 segmentos  ¡Tabla de segmentos demasiado grande para MMU!  Tabla en memoria y MMU contiene su dirección 00…0 base tamaño r w x … BASE LIMITE BASE LOCAL LIMITE LOCAL
  • 14. 14 Tema 11: Segmentación y paginación de la memoria 1.4 Formas de usar los descriptores  PROBLEMA: Tiempo de acceso se multiplica por dos  Primer acceso: tabla de descriptores  Segundo acceso: dirección efectiva  Soluciones (no excluyentes):  Uso de registros descriptores de segmento en MMU  Uso de memoria asociativa
  • 15. 15 Tema 11: Segmentación y paginación de la memoria 1.4 Formas de usar los descriptores Registros descriptores  En MMU: varios registros capaces de contener un descriptor  Se puede copiar en ellos los descriptores que se vayan a usar en el futuro inmediato  Dos tipos de registros:  de propósito general  especializados
  • 16. 16 Tema 11: Segmentación y paginación de la memoria 1.4 Formas de usar los descriptores Registros descriptores de propósito general  MMU contiene un conjunto de registros sobre los que cargar próximos descriptores a usar, y…  Dos tipos de direcciones:  Las que hacen referencia a un descriptor de tabla en memoria • necesitan más bits para hacer referencia al descriptor  Las que hacen referencia a un descriptor en MMU • necesitan menos bits para referir al descriptor BASE TAM PERM 0 BASE TAM PERM 1 BASE TAM PERM 2 BASE TAM PERM 3 BASE TAM PERM 4 … … … …
  • 17. 17 Tema 11: Segmentación y paginación de la memoria 1.4 Formas de usar los descriptores Registros descriptores especializados  MMU contiene registros capaces de albergar un descriptor, y  Dos tipos de direcciones:  Las que hacen referencia a un descriptor de tabla en memoria  Las que NO hacen referencia a ningún descriptor • Emplean un descriptor de MMU, según el tipo de instrucción BASE TAM PERM DS BASE TAM PERM SS BASE TAM PERM CS
  • 18. 18 Tema 11: Segmentación y paginación de la memoria 1.4 Formas de usar los descriptores Descriptores en memoria asociativa  MMU contiene una memoria asociativa indexada por nº de descriptor  Para cada acceso:  Se busca en memoria asociativa el nº de descriptor • Si está: se emplea el descriptor guardado en mem. asociativa • Si no está: se carga (es necesario acceso a tabla en memoria) – Si se llena memoria asociativa: reemplazo 0A00 1000 1 0 0 … 6F10 4000 1 1 0 … B190 2000 0 0 1 … … … … … 5 2 14 … desplazamiento 2
  • 19. 19 Tema 11: Segmentación y paginación de la memoria 1.4 Formas de usar los descriptores Descriptores en memoria asociativa  Memoria asociativa es transparente  ¡Se puede usar en conjunción con registros en MMU!
  • 20. 20 Índice: 1. Segmentación 2. Administración de memoria segmentada 3. Paginación 4. Administración de memoria paginada 5. Sistemas combinados 20 Tema 11: Segmentación y paginación de la memoria
  • 21. 21 Tema 11: Segmentación y paginación de la memoria 2. Administración de memoria segmentada  Gestión: particiones variables  Mapas de bits  Listas de control  Segmentación proporciona posibilidades adicionales:  Crecimiento de los procesos  Compartición de segmentos  Carga de segmentos a petición  Enlace dinámico
  • 22. 22 Tema 11: Segmentación y paginación de la memoria 2. Administración memoria segmentada Crecimiento de los procesos  Dos formas de crecimiento:  Asignando nuevos segmentos al proceso  Creciendo algún segmento asignado base tamaño r w x … 1 1 0 … 2000 1000 0 0 1 … … … … … 00…0 1000 2000 3000 4800 Crecible True False … 1800 0 0 1 1800 3000 1000 1000
  • 23. 23 Tema 11: Segmentación y paginación de la memoria 2. Administración memoria segmentada Compartición de segmentos  Objetivos:  Optimización uso de memoria  Compartición de información  Ejemplo 1: si varios usuarios ejecutan un mismo programa…  Pueden compartir código y constantes del programa: ¡sólo se cargan una vez!  Si código usa librerías comunes: pueden compartirse segmentos de librerías con otros programas  Ejemplo 2: procesos que comparten datos  Datos en segmento compartido  Gestión: tabla de segmentos compartidos
  • 24. 24 Tema 11: Segmentación y paginación de la memoria 2. Administración memoria segmentada Carga de segmentos a petición  Algunas MMU disponen de bit “presente” en descriptor:  Segmentos no presentes están definidos, pero no están en memoria  Acceso a segmento no presente=fallo de segmento  Ante un fallo de segmento, SO es responsable de cargar segmento base tamaño r w x P 800 1 1 0 2000 1000 0 0 1 1 … … … … 00…0 3000 2000 400 0 0 1 3000 - 0 1
  • 25. 25 Tema 11: Segmentación y paginación de la memoria 2. Administración memoria segmentada Carga de segmentos a petición  Aplicación: cargar segmentos cuando son referidos por primera vez  En archivo ejecutable hay información sobre segmentos definidos por proceso: • Identificación y localización en archivo • Tipo • Punto de entrada • Tamaño • Protección  Al cargar ejecutable, cargador sólo define segmentos  Al intentar ejecutar primera instrucción: primer fallo de segmento • SO carga segmentos conforme van siendo referidos
  • 26. 26 Tema 11: Segmentación y paginación de la memoria 2. Administración memoria segmentada Carga de segmentos a petición  Si memoria se llena: reemplazo  Podemos ejecutar procesos que usen más memoria de la que físicamente disponemos (Memoria Virtual) S1 00…0 FF…F S2 S3 S4 S5 S6 S7
  • 27. 27 Tema 11: Segmentación y paginación de la memoria 2. Administración memoria segmentada Enlace dinámico  Enlace= construcción de ejecutable a partir de ficheros compilados (ficheros objeto)  Objetivo: reducir trabajo de montador de enlaces  Tipos de enlace dinámico:  Durante la carga  En tiempo de ejecución  Enlace durante la carga:  En archivo ejecutable hay nombres simbólicos para segmentos y objetos: CALL [librería:rutina]  Cargador sustituye nombres por descriptores y direcciones reales
  • 28. 28 Tema 11: Segmentación y paginación de la memoria 2. Administración memoria segmentada Enlace dinámico  Enlace dinámico durante la ejecución  (Ejemplo: MULTICS) 00…0 … call … [100] 1 300 100 300 “seg:func” 0 16:70 … 70 func: … … seg= 16
  • 29. 29 Índice: 1. Segmentación 2. Administración de memoria segmentada 3. Paginación 4. Administración de memoria paginada 5. Sistemas combinados 29 Tema 11: Segmentación y paginación de la memoria
  • 30. 30 30 Tema 11: Segmentación y paginación de la memoria 3. Paginación  Espacio lógico de direcciones lineal  Dividido de forma transparente en trozos de igual tamaño (páginas)  Traductor divide las direcciones lógicas en  nº de página  desplazamiento 00…0 FF…F Espacio Físico de Direcciones desplazamiento Página Dirección Lógica desplazamiento Marco Dirección Física Traductor Dinámico de Páginas 0 k k+1 n 0 k k+1 n 00…0 FF…F Espacio Lógico de Direcciones … } 2k
  • 31. 31 31 Tema 11: Segmentación y paginación de la memoria 3. Paginación 1. Traducción de direcciones paginadas 2. Organización de la tabla de páginas
  • 32. 32 32 Tema 11: Segmentación y paginación de la memoria 3. Paginación 1. Traducción de direcciones paginadas 2. Organización de la tabla de páginas
  • 33. 33 33 Tema 11: Segmentación y paginación de la memoria 3.1 Traducción de direcciones paginadas  La traducción se lleva a cabo mediante una tabla de páginas  Tabla de páginas se indexa por nº página y proporciona nº de marco desplazamiento 2 Dirección Lógica desplazamiento 12 Dirección Física Marco P … 8 1 … 1204 1 … 12 1 … - 0 … … … … 0 1 2 3
  • 34. 34 34 Tema 11: Segmentación y paginación de la memoria 3. Paginación 1. Traducción de direcciones paginadas 2. Organización de la tabla de páginas
  • 35. 35 35 Tema 11: Segmentación y paginación de la memoria 3.2 Organización de la tabla de páginas  Tamaño de la tabla de páginas: determinado por…  tamaño del espacio de direcciones  tamaño de la página  Si espacio de direcciones = 4Gb y tamaño de página = 4K: ¡1M entradas!  Posibilidades:  Tabla de páginas en el traductor  Tabla de páginas en memoria  Tabla de páginas multinivel  Tablas de páginas para todo el sistema  Traductores sin tabla de páginas
  • 36. 36 36 Tema 11: Segmentación y paginación de la memoria 3.2 Organización de la tabla de páginas Tabla de páginas en el traductor  Sólo es viable si hay pocas páginas  En MMU: conjunto de registros indexados por nº de página  Inconvenientes:  SO debe sustituir tabla de páginas cada vez que… • Se conmuta de procesos • Se transfiere control al SO
  • 37. 37 37 Tema 11: Segmentación y paginación de la memoria 3.2 Organización de la tabla de páginas Tabla de páginas en memoria  La tabla se saca del traductor y almacena en memoria  Traductor sólo contiene  Dirección de primera entrada  Tamaño de la tabla  Inconvenientes:  Cada acceso a memoria: implica dos accesos • Uno a tabla de páginas • Otro a la dirección efectiva  Solución: memoria asociativa
  • 38. 38 38 Tema 11: Segmentación y paginación de la memoria 3.2 Organización de la tabla de páginas Tabla de páginas multinivel  Idea: paginar la tabla de páginas  Facilita manipulación y almacenamiento de la tabla  Ejemplo a dos niveles: desplazamiento pagina Dirección Lógica DP NP Marco P … 8 1 … 1204 1 … 12 1 … - 0 … … … 0 1 2 3 Dirección 0AFF00 100700 108800 FFA100 … 0 1 2 3 Directorio Tabla de páginas desplazamiento marco Dirección Física
  • 39. 39 39 Tema 11: Segmentación y paginación de la memoria 3.2 Organización de la tabla de páginas Tabla de páginas multinivel  Ventajas:  Tabla de página no tiene por qué ser ocupar direcciones consecutivas  Tabla de página no tiene por qué estar cargada completa en memoria  Inconvenientes:  Tiempo de acceso se multiplica por tres  Solución: memoria asociativa
  • 40. 40 40 Tema 11: Segmentación y paginación de la memoria 3.2 Organización de la tabla de páginas Tabla de páginas para todo el sistema  Son también multinivel  MMU tiene dirección de una tabla que tiene una entrada por proceso y contiene dirección de tabla de páginas/directorio de dicho proceso: desplazamiento pagina Marco P … 8 1 … 1204 1 … 12 1 … - 0 … … … 0 1 2 3 Dirección 0AFF00 100700 108800 FFA100 … 0 1 2 3 Tabla de procesos Tabla de páginas desplazamiento marco Dirección Física dir t.procs. PID
  • 41. 41 41 Tema 11: Segmentación y paginación de la memoria 3.2 Organización de la tabla de páginas Tabla de páginas para todo el sistema  Conmutar de tabla de proceso: cambiar PID  Inconvenientes:  Tiempo de acceso se multiplica por tres  Solución:  Memoria asociativa, indexada por PID + Nº de página 0A00 … 6F10 … B190 … … … 4 5 4 2 5 2 … desplazamiento PID:4 2
  • 42. 42 42 Tema 11: Segmentación y paginación de la memoria 3.2 Organización de la tabla de páginas Traductores sin tabla de páginas  Hardware no impone estructura de tabla de páginas  Hardware sólo dispone de memoria asociativa  Si no se encuentra página en memoria asociativa: excepción  SO es responsable de:  determinar asociación entre nº de página y nº de marco  Actualizar la memoria asociativa  Ventajas:  Flexibilidad: hardware no impone la organización de la TP  Traductor se simplifica notablemente  Parte del ahorro en hardware del traductor se puede invertir en aumentar el tamaño de la memoria asociativa
  • 43. 43 Índice: 1. Segmentación 2. Administración de memoria segmentada 3. Paginación 4. Administración de memoria paginada 5. Sistemas combinados 43 Tema 11: Segmentación y paginación de la memoria
  • 44. 44 44 Tema 11: Segmentación y paginación de la memoria 4. Administración de memoria paginada  Gestión: particiones variables, con importantes simplificaciones:  Todos los marcos son iguales→ no hay que elegir  No importa que marcos libres no estén consecutivos  De especial interés:  Elementos de administración  Entrada/Salida y paginación  Carga de páginas a petición
  • 45. 45 45 Tema 11: Segmentación y paginación de la memoria 4. Administración de la memoria paginada Elementos de administración  Tabla de asignación de marcos a procesos  Una entrada por marco  En cada entrada: • PID de proceso, si marco asignado • 0, si marco libre  Ayuda: conservar la posición de la primera/próxima entrada libre Proceso PID1 PID1 PID2 Libre PID1 … 0 1 2 3 Siguiente libre 4
  • 46. 46 46 Tema 11: Segmentación y paginación de la memoria 4. Administración de la memoria paginada Elementos de administración  Listas de marcos asignados a procesos  Nº de marcos es fijo: listas implementadas mediante tabla  En cada entrada (una por marco): • Siguiente marco en la lista • -1, si marco es el último  En PCB: índices del primer y último marco asignados a proceso 2 0 3 6 PID1 7 -1 … 0 1 2 3 primero 4 5 6 último PCB proceso 1 primero Libres Proceso 1: marcos 0, 2, 3, y 6 Libres: demás marcos
  • 47. 47 47 Tema 11: Segmentación y paginación de la memoria 4. Administración de la memoria paginada Entrada/Salida y paginación  Problema: buffers de lectura o escritura  Ocupan direcciones lógicas consecutivas  Pero las direcciones físicas son distintas, incluso no consecutivas 00…0 FF…F Vamos a hacer una escriturita en disco de estos datos que tengo yo aquí… 00…0 FF…F
  • 48. 48 48 Tema 11: Segmentación y paginación de la memoria 4. Administración de la memoria paginada Entrada/Salida y paginación Soluciones:  Dado que entrada/salida es responsabilidad de SO, éste traduce y usa direcciones físicas  ¿Y si el buffer ni siquiera ha quedado contiguo?  SO programa varias operaciones, una por cada trozo de buffer en espacio físico  Puede ser problemático para dispositivos de bloque  Usar buffer contiguo en espacio de SO  Que el DMA vea direcciones lógicas  Será el caso si DMA y MMU integrados en CPU
  • 49. 49 49 Tema 11: Segmentación y paginación de la memoria 4. Administración de la memoria paginada Carga de páginas a petición  Mediante bit de página presente: las páginas se pueden cargar cuando son referidas por primera vez  Para cargar una página, sólo hay que asignarle un marco libre  Si no quedan marcos libres: memoria virtual  Elegir un marco que contenga una página que supongamos no vaya a hacer falta en futuro inmediato  Sustituir dicha página por la recién referida  ¿Memoria virtual segmentada o paginada?  Comparemos por… • Tamaño de las transferencias • Complejidad de administración • Operaciones de entrada/salida
  • 50. 50 50 Tema 11: Segmentación y paginación de la memoria 4. Administración de la memoria paginada Carga de páginas a petición MV segmentada vs paginada: tamaño de transferencias  Paginación:  Todas las transferencias de página del mismo tamaño (típicamente en torno a 4K)  Segmentación:  Distinto tamaño cada segmento  Posibilidad de segmentos muy grandes
  • 51. 51 51 Tema 11: Segmentación y paginación de la memoria 4. Administración de la memoria paginada Carga de páginas a petición MV segmentada vs paginada: complejidad administración  Paginación:  Todos los marcos son iguales → cualquiera vale para cualquier página  Segmentación:  Hay que cargar el segmento en un hueco de tamaño suficiente  Fragmentación del espacio libre
  • 52. 52 52 Tema 11: Segmentación y paginación de la memoria 4. Administración de la memoria paginada Carga de páginas a petición MV segmentada vs paginada: operaciones entrada/salida  Problema: si hay memoria virtual, es posible que el segmento/página destino/fuente de una operación no esté presente  Posible solución:  Bloquear en memoria las páginas/segmentos que contienen los buffers de E/S  Paginación:  Las páginas bloqueadas son del orden de varios Kilobytes  Segmentación:  ¿Y si buffer está en un segmento de datos muy grande?
  • 53. 53 Índice: 1. Segmentación 2. Administración de memoria segmentada 3. Paginación 4. Administración de memoria paginada 5. Sistemas combinados 53 Tema 11: Segmentación y paginación de la memoria
  • 54. 54 54 Tema 11: Segmentación y paginación de la memoria 5. Sistemas combinados  Segmentación: es útil para los procesos  Organización de datos, código…  Mecanismos de protección  Compartición de datos y código  Optimización del espacio ocupado  Paginación: es útil para el sistema operativo  Memoria virtual  Dispersión en memoria  ¿Segmentación o paginación?  ¡Ambos! Sistemas combinados:  Segmentación paginada  Segmentación y paginación independientes
  • 55. 55 55 Tema 11: Segmentación y paginación de la memoria 5. Sistemas combinados Segmentación paginada  Cada segmento dividido en páginas  En descriptor, en lugar de dirección base de segmento: dirección de tabla de páginas del segmento. desplazamiento indicador página Dirección Lógica tabla tamaño r w x … 7FFF 800 1 1 0 … 2000 1000 0 0 1 … … … … … Marco P … 8 1 … 1204 1 … 12 1 … - 0 … … … Tabla de segmentos Tabla de páginas desplazamiento marco Dirección Física
  • 56. 56 Tema 11: Segmentación y paginación de la memoria 5. Sistemas combinados Segmentación paginada  Inconvenientes:  Cada segmento debe empezar y acabar en frontera de página  Tamaño del segmento: múltiplo del tamaño de página Segmentación y paginación independientes  La paginación es transparente  ¿y si pusiéramos un sistema paginado bajo un sistema segmentado?
  • 57. 57 Tema 11: Segmentación y paginación de la memoria 5. Sistemas combinados Segmentación y paginación independientes  Ejemplo: arquitectura IA32 desplazamiento selector Dirección Lógica Segmentada 0 31 Tabla de descriptores de segmentos dirección intermedia 0 31 ¿PG? + SI NO dirección física 0 31 directorio pagina desplazamiento 12 0 20 31 Directorio de páginas Tabla de páginas marco desplazamiento 12 31 0
  • 58. 58