Segmentación
Administración de memoria segmentada
Paginación y sistemas combinados
Size: 668.71 KB
Language: es
Added: Jan 08, 2024
Slides: 58 pages
Slide Content
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
44
Tema 11: Segmentación y paginación de la memoria
1.Segmentación
Espaciológicodedireccionesesbidimensional
Direccioneslógicasconstande:
Indicadordesegmento
Desplazamiento
Segmento=trozodememoriaconsecutiva
Idea:dividirprogramaentrozosdememoria
independientes:
Código
Pila
Datos
….
desplazamientoind. seg.
DirecciónLó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óndedireccionessegmentadas
2.Protección
3.Superposicióndesegmentos
4.Formasdeusarlosdescriptores
6
Tema 11: Segmentación y paginación de la memoria
1.Segmentación
1.Traduccióndedireccionessegmentadas
2.Protección
3.Superposicióndesegmentos
4.Formasdeusarlosdescriptores
7
Tema 11: Segmentación y paginación de la memoria
1.1Traduccióndedireccionessegmentadas
desplazamiento
DirecciónLógica
00…0
FF…F
Segmento 2
Espacio Físico
de Direcciones
Segmento 1
Segmento 3
base tamaño …
…
…
…
… … …
ind. seg.
TabladedescriptoresdeSegmentos
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óndedireccionessegmentadas
2.Protección
3.Superposicióndesegmentos
4.Formasdeusarlosdescriptores
9
Tema 11: Segmentación y paginación de la memoria
1.2Protección
desplazamiento
DirecciónLó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.
TabladedescriptoresdeSegmentos
0
1
2
d<tERROR
NO SI
¿válido?
NO
SI
ERROR
10
Tema 11: Segmentación y paginación de la memoria
1.Segmentación
1.Traduccióndedireccionessegmentadas
2.Protección
3.Superposicióndesegmentos
4.Formasdeusarlosdescriptores
11
Tema 11: Segmentación y paginación de la memoria
1.3Superposiciondesegmentos
00…0
FF…F
base tamaño r w x…
0
1
2
Variossegmentospuedenestarparcialototalmente
solapadosenmemoria
Unadirecciónfísicasepuedecorrespondercon
múltiplesdireccioneslógicas
3
1000 4000 1 0 0
1 1 02000 4000
…
…
1000
2000
4000 5000 1 1 0…
4000
4000 5000 1 0 0…
1 0 0
1 10
1 10
A000
A000
12
Tema 11: Segmentación y paginación de la memoria
1.Segmentación
1.Traduccióndedireccionessegmentadas
2.Protección
3.Superposicióndesegmentos
4.Formasdeusarlosdescriptores
13
Tema 11: Segmentación y paginación de la memoria
1.4Formasdeusarlosdescriptores
¿Cuántossegmentospuedenhaberenelsistema?
Cadaprocesodebepodercrearunnúmerosuficientede
segmentos
IntelPentium:16.383segmentos
¡TabladesegmentosdemasiadograndeparaMMU!
TablaenmemoriayMMUcontienesudirecció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.4Formasdeusarlosdescriptores
PROBLEMA:Tiempodeaccesosemultiplicapordos
Primeracceso:tabladedescriptores
Segundoacceso:direcciónefectiva
Soluciones(noexcluyentes):
UsoderegistrosdescriptoresdesegmentoenMMU
Usodememoriaasociativa
15
Tema 11: Segmentación y paginación de la memoria
1.4Formasdeusarlosdescriptores
Registrosdescriptores
EnMMU:variosregistroscapacesdecontenerun
descriptor
Sepuedecopiarenelloslosdescriptoresquese
vayanausarenelfuturoinmediato
Dostiposderegistros:
depropósitogeneral
especializados
16
Tema 11: Segmentación y paginación de la memoria
1.4Formasdeusarlosdescriptores
Registrosdescriptoresdepropósitogeneral
MMUcontieneunconjuntoderegistrossobrelosque
cargarpróximosdescriptoresausar,y…
Dostiposdedirecciones:
Lasquehacenreferenciaaundescriptordetablaenmemoria
•necesitanmásbitsparahacerreferenciaaldescriptor
LasquehacenreferenciaaundescriptorenMMU
•necesitanmenosbitsparareferiraldescriptor
BASE TAM PERM0
BASE TAM PERM1
BASE TAM PERM2
BASE TAM PERM3
BASE TAM PERM4
…………
17
Tema 11: Segmentación y paginación de la memoria
1.4Formasdeusarlosdescriptores
Registrosdescriptoresespecializados
MMUcontieneregistroscapacesdealbergarun
descriptor,y
Dostiposdedirecciones:
Lasquehacenreferenciaaundescriptordetablaenmemoria
LasqueNOhacenreferenciaaningúndescriptor
•EmpleanundescriptordeMMU,segúneltipodeinstrucción
BASE TAM PERMDS
BASE TAM PERMSS
BASE TAM PERMCS
19
Tema 11: Segmentación y paginación de la memoria
1.4Formasdeusarlosdescriptores
Descriptoresenmemoriaasociativa
Memoriaasociativaestransparente
¡SepuedeusarenconjunciónconregistrosenMMU!
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óndememoriasegmentada
Gestión:particionesvariables
Mapasdebits
Listasdecontrol
Segmentaciónproporcionaposibilidadesadicionales:
Crecimientodelosprocesos
Comparticióndesegmentos
Cargadesegmentosapetición
Enlacedinámico
22
Tema 11: Segmentación y paginación de la memoria
2.Administraciónmemoriasegmentada
Crecimientodelosprocesos
Dosformasdecrecimiento:
Asignandonuevossegmentosalproceso
Creciendoalgúnsegmentoasignado
basetamaño r w x…
1 1 0…
2000 1000 0 0 1…
… … … …
00…0
1000
2000
3000
4800Crecible
True
False
…
18000
0
1
18003000 10001000
23
Tema 11: Segmentación y paginación de la memoria
2.Administraciónmemoriasegmentada
Comparticióndesegmentos
Objetivos:
Optimizaciónusodememoria
Comparticióndeinformación
Ejemplo1:sivariosusuariosejecutanunmismo
programa…
Puedencompartircódigoyconstantesdelprograma:¡sólose
carganunavez!
Sicódigousalibreríascomunes:puedencompartirse
segmentosdelibreríasconotrosprogramas
Ejemplo2:procesosquecompartendatos
Datosensegmentocompartido
Gestión:tabladesegmentoscompartidos
24
Tema 11: Segmentación y paginación de la memoria
2.Administraciónmemoriasegmentada
Cargadesegmentosapetición
AlgunasMMUdisponendebit“presente”endescriptor:
Segmentosnopresentesestándefinidos,peronoestánen
memoria
Accesoasegmentonopresente=fallodesegmento
Anteunfallodesegmento,SOesresponsabledecargar
segmento
basetamaño r w xP
800 1 1 0
2000 1000 0 0 11
… … … …
00…0
3000
2000
4000
0
1
3000- 01
25
Tema 11: Segmentación y paginación de la memoria
2.Administraciónmemoriasegmentada
Cargadesegmentosapetición
Aplicación:cargarsegmentoscuandosonreferidospor
primeravez
Enarchivoejecutablehayinformaciónsobresegmentos
definidosporproceso:
•Identificaciónylocalizaciónenarchivo
•Tipo
•Puntodeentrada
•Tamaño
•Protección
Alcargarejecutable,cargadorsólodefinesegmentos
Alintentarejecutarprimerainstrucción:primerfallode
segmento
•SOcargasegmentosconformevansiendoreferidos
26
Tema 11: Segmentación y paginación de la memoria
2.Administraciónmemoriasegmentada
Cargadesegmentosapetición
Simemoriasellena:reemplazo
Podemosejecutarprocesosqueusenmásmemoriadelaque
físicamentedisponemos(MemoriaVirtual)
S1
00…0
FF…F
S2
S3
S4
S5
S6
S7
27
Tema 11: Segmentación y paginación de la memoria
2.Administraciónmemoriasegmentada
Enlacedinámico
Enlace=construccióndeejecutableapartirdeficheros
compilados(ficherosobjeto)
Objetivo:reducirtrabajodemontadordeenlaces
Tiposdeenlacedinámico:
Durantelacarga
Entiempodeejecución
Enlacedurantelacarga:
Enarchivoejecutablehaynombressimbólicospara
segmentosyobjetos:
CALL[librería:rutina]
Cargadorsustituyenombrespordescriptoresydirecciones
reales
28
Tema 11: Segmentación y paginación de la memoria
2.Administraciónmemoriasegmentada
Enlacedinámico
Enlacedinámicodurantelaejecución
(Ejemplo:MULTICS)
00…0
…
call
…
[100]
1 300100
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
3030
Tema 11: Segmentación y paginación de la memoria
3.Paginación
Espaciológicodedireccioneslineal
Divididodeformatransparenteentrozosdeigual
tamaño(páginas)
Traductordividelasdireccioneslógicasen
nºdepágina
desplazamiento
00…0
FF…F
Espacio Físico
de Direcciones
desplazamientoPágina
DirecciónLógica
desplazamientoMarco
DirecciónFísica
Traductor Dinámico
de Páginas
0kk+1n
0kk+1n
00…0
FF…F
Espacio Lógico
de Direcciones
…
} 2
k
3131
Tema 11: Segmentación y paginación de la memoria
3.Paginación
1.Traduccióndedireccionespaginadas
2.Organizacióndelatabladepáginas
3232
Tema 11: Segmentación y paginación de la memoria
3.Paginación
1.Traduccióndedireccionespaginadas
2.Organizacióndelatabladepáginas
3333
Tema 11: Segmentación y paginación de la memoria
3.1Traduccióndedireccionespaginadas
Latraducciónsellevaacabomedianteunatablade
páginas
Tabladepáginasseindexapornºpáginay
proporcionanºdemarco
desplazamiento2
DirecciónLógica
desplazamiento12
DirecciónFísica
MarcoP…
8 1…
1204 1…
12 1…
- 0…
… ……
0
1
2
3
3434
Tema 11: Segmentación y paginación de la memoria
3.Paginación
1.Traduccióndedireccionespaginadas
2.Organizacióndelatabladepáginas
3535
Tema 11: Segmentación y paginación de la memoria
3.2Organizacióndelatabladepáginas
Tamañodelatabladepáginas:determinadopor…
tamañodelespaciodedirecciones
tamañodelapágina
Siespaciodedirecciones=4Gbytamañodepágina
=4K:¡1Mentradas!
Posibilidades:
Tabladepáginaseneltraductor
Tabladepáginasenmemoria
Tabladepáginasmultinivel
Tablasdepáginasparatodoelsistema
Traductoressintabladepáginas
3636
Tema 11: Segmentación y paginación de la memoria
3.2Organizacióndelatabladepáginas
Tabladepáginaseneltraductor
Sóloesviablesihaypocaspáginas
EnMMU:conjuntoderegistrosindexadospornºde
página
Inconvenientes:
SOdebesustituirtabladepáginascadavezque…
•Seconmutadeprocesos
•SetransfierecontrolalSO
3737
Tema 11: Segmentación y paginación de la memoria
3.2Organizacióndelatabladepáginas
Tabladepáginasenmemoria
Latablasesacadeltraductoryalmacenaen
memoria
Traductorsólocontiene
Direccióndeprimeraentrada
Tamañodelatabla
Inconvenientes:
Cadaaccesoamemoria:implicadosaccesos
•Unoatabladepáginas
•Otroaladirecciónefectiva
Solución:memoriaasociativa
3939
Tema 11: Segmentación y paginación de la memoria
3.2Organizacióndelatabladepáginas
Tabladepáginasmultinivel
Ventajas:
Tabladepáginanotieneporquéserocupardirecciones
consecutivas
Tabladepáginanotieneporquéestarcargadacompletaen
memoria
Inconvenientes:
Tiempodeaccesosemultiplicaportres
Solución:memoriaasociativa
4040
Tema 11: Segmentación y paginación de la memoria
3.2Organizacióndelatabladepáginas
Tabladepáginasparatodoelsistema
Sontambiénmultinivel
MMUtienedireccióndeunatablaquetieneuna
entradaporprocesoycontienedireccióndetablade
páginas/directoriodedichoproceso:
desplazamientopagina
MarcoP…
8 1…
1204 1…
12 1…
- 0…
… …
0
1
2
3
Dirección
0AFF00
100700
108800
FFA100
…
0
1
2
3
Tabladeprocesos
Tabladepáginas
desplazamientomarco
DirecciónFísica
dir t.procs.
PID
4141
Tema 11: Segmentación y paginación de la memoria
3.2Organizacióndelatabladepáginas
Tabladepáginasparatodoelsistema
Conmutardetabladeproceso:cambiarPID
Inconvenientes:
Tiempodeaccesosemultiplicaportres
Solución:
Memoriaasociativa,indexadaporPID+Nºdepágina
0A00 …
6F10 …
B190 …
… …
4 5
4 2
5 2
…
desplazamientoPID:4 2
4242
Tema 11: Segmentación y paginación de la memoria
3.2Organizacióndelatabladepáginas
Traductoressintabladepáginas
Hardwarenoimponeestructuradetabladepáginas
Hardwaresólodisponedememoriaasociativa
Sinoseencuentrapáginaenmemoriaasociativa:
excepción
SOesresponsablede:
determinarasociaciónentrenºdepáginaynºdemarco
Actualizarlamemoriaasociativa
Ventajas:
Flexibilidad:hardwarenoimponelaorganizacióndelaTP
Traductorsesimplificanotablemente
Partedelahorroenhardwaredeltraductorsepuedeinvertir
enaumentareltamañodelamemoriaasociativa
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
4444
Tema 11: Segmentación y paginación de la memoria
4.Administracióndememoriapaginada
Gestión:particionesvariables,conimportantes
simplificaciones:
Todoslosmarcossoniguales→nohayqueelegir
Noimportaquemarcoslibresnoesténconsecutivos
Deespecialinterés:
Elementosdeadministración
Entrada/Salidaypaginación
Cargadepáginasapetición
4545
Tema 11: Segmentación y paginación de la memoria
4.Administracióndelamemoriapaginada
Elementosdeadministración
Tabladeasignacióndemarcosaprocesos
Unaentradapormarco
Encadaentrada:
•PIDdeproceso,simarcoasignado
•0,simarcolibre
Ayuda:conservarlaposicióndelaprimera/próximaentrada
libre
Proceso
PID1
PID1
PID2
Libre
PID1
…
0
1
2
3
Siguiente libre
4
4646
Tema 11: Segmentación y paginación de la memoria
4.Administracióndelamemoriapaginada
Elementosdeadministración
Listasdemarcosasignadosaprocesos
Nºdemarcosesfijo:listasimplementadasmediantetabla
Encadaentrada(unapormarco):
•Siguientemarcoenlalista
•-1,simarcoeselúltimo
EnPCB:índicesdelprimeryúltimomarcoasignadosa
proceso
2
0
3
6
PID1
7
-1
…
0
1
2
3
primero
4
5
6
último
PCBproceso1
primero
Libres
Proceso1:marcos0,2,3,y6
Libres:demásmarcos
4747
Tema 11: Segmentación y paginación de la memoria
4.Administracióndelamemoriapaginada
Entrada/Salidaypaginación
Problema:buffersdelecturaoescritura
Ocupandireccioneslógicasconsecutivas
Perolasdireccionesfísicassondistintas,inclusono
consecutivas
00…0
FF…F
Vamos a
hacer una
escriturita en
disco de estos
datos que
tengo yo
aquí…
00…0
FF…F
4848
Tema 11: Segmentación y paginación de la memoria
4.Administracióndelamemoriapaginada
Entrada/Salidaypaginación
Soluciones:
Dadoqueentrada/salidaesresponsabilidaddeSO,
éstetraduceyusadireccionesfísicas
¿Ysielbuffernisiquierahaquedadocontiguo?
SOprogramavariasoperaciones,unaporcadatrozo
debufferenespaciofísico
Puedeserproblemáticoparadispositivosdebloque
UsarbuffercontiguoenespaciodeSO
QueelDMAveadireccioneslógicas
SeráelcasosiDMAyMMUintegradosenCPU
4949
Tema 11: Segmentación y paginación de la memoria
4.Administracióndelamemoriapaginada
Cargadepáginasapetición
Mediantebitdepáginapresente:laspáginasse
puedencargarcuandosonreferidasporprimeravez
Paracargarunapágina,sólohayqueasignarleun
marcolibre
Sinoquedanmarcoslibres:memoriavirtual
Elegirunmarcoquecontengaunapáginaquesupongamos
novayaahacerfaltaenfuturoinmediato
Sustituirdichapáginaporlareciénreferida
¿Memoriavirtualsegmentadaopaginada?
Comparemospor…
•Tamañodelastransferencias
•Complejidaddeadministración
•Operacionesdeentrada/salida
5050
Tema 11: Segmentación y paginación de la memoria
4.Administracióndelamemoriapaginada
Cargadepáginasapetición
MVsegmentadavspaginada:tamañodetransferencias
Paginación:
Todaslastransferenciasdepáginadelmismotamaño
(típicamenteentornoa4K)
Segmentación:
Distintotamañocadasegmento
Posibilidaddesegmentosmuygrandes
5151
Tema 11: Segmentación y paginación de la memoria
4.Administracióndelamemoriapaginada
Cargadepáginasapetición
MVsegmentadavspaginada:complejidadadministración
Paginación:
Todoslosmarcossoniguales→cualquieravaleparacualquier
página
Segmentación:
Hayquecargarelsegmentoenunhuecodetamañosuficiente
Fragmentacióndelespaciolibre
5252
Tema 11: Segmentación y paginación de la memoria
4.Administracióndelamemoriapaginada
Cargadepáginasapetición
MVsegmentadavspaginada:operacionesentrada/salida
Problema:sihaymemoriavirtual,esposiblequeel
segmento/páginadestino/fuentedeunaoperaciónno
estépresente
Posiblesolución:
Bloquearenmemorialaspáginas/segmentosquecontienen
losbuffersdeE/S
Paginación:
LaspáginasbloqueadassondelordendevariosKilobytes
Segmentación:
¿Ysibufferestáenunsegmentodedatosmuygrande?
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
5454
Tema 11: Segmentación y paginación de la memoria
5.Sistemascombinados
Segmentación:esútilparalosprocesos
Organizacióndedatos,código…
Mecanismosdeprotección
Comparticióndedatosycódigo
Optimizacióndelespacioocupado
Paginación:esútilparaelsistemaoperativo
Memoriavirtual
Dispersiónenmemoria
¿Segmentaciónopaginación?
¡Ambos!Sistemascombinados:
Segmentaciónpaginada
Segmentaciónypaginaciónindependientes
5555
Tema 11: Segmentación y paginación de la memoria
5.Sistemascombinados
Segmentaciónpaginada
Cadasegmentodivididoenpáginas
Endescriptor,enlugardedirecciónbasedesegmento:
direccióndetabladepáginasdelsegmento.
desplazamientoindicadorpágina
DirecciónLógica
tablatamaño r w x…
7FFF 800 1 1 0…
200010000 0 1…
… … … …
Marco P…
8 1…
1204 1…
12 1…
- 0…
… …
Tabladesegmentos
Tabladepáginas
desplazamientomarco
DirecciónFísica
56
Tema 11: Segmentación y paginación de la memoria
5.Sistemascombinados
Segmentaciónpaginada
Inconvenientes:
Cadasegmentodebeempezaryacabarenfronteradepágina
Tamañodelsegmento:múltiplodeltamañodepágina
Segmentaciónypaginaciónindependientes
Lapaginaciónestransparente
¿ysipusiéramosunsistemapaginadobajounsistema
segmentado?
57
Tema 11: Segmentación y paginación de la memoria
5.Sistemascombinados
Segmentaciónypaginaciónindependientes
Ejemplo:arquitecturaIA32
desplazamientoselector
DirecciónLógicaSegmentada
0
31
Tabla de descriptores de segmentos
dirección intermedia
031
¿PG?
+
SINO
dirección física
031
directoriopaginadesplazamiento
12
0
2031
Directorio de páginas
Tabla de páginas
marco desplazamiento
1231 0