Sistemas Operativos_ Segmentación y paginación

590 views 58 slides Jan 08, 2024
Slide 1
Slide 1 of 58
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58

About This Presentation

Segmentación
Administración de memoria segmentada
Paginación y sistemas combinados


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

18
Tema 11: Segmentación y paginación de la memoria
1.4Formasdeusarlosdescriptores
Descriptoresenmemoriaasociativa
MMUcontieneunamemoriaasociativaindexadapornº
dedescriptor
Paracadaacceso:
Sebuscaenmemoriaasociativaelnºdedescriptor
•Siestá:seempleaeldescriptorguardadoenmem.asociativa
•Sinoestá:secarga(esnecesarioaccesoatablaenmemoria)
–Sisellenamemoriaasociativa:reemplazo
0A00 1000 1 0 0…
6F10 4000 1 1 0…
B190 2000 0 0 1…
… … … …
5
2
14

desplazamiento2

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

3838
Tema 11: Segmentación y paginación de la memoria
3.2Organizacióndelatabladepáginas
Tabladepáginasmultinivel
Idea:paginarlatabladepáginas
Facilitamanipulaciónyalmacenamientodelatabla
Ejemploadosniveles:
desplazamientopagina
DirecciónLógica
DPNP
MarcoP…
8 1…
1204 1…
12 1…
- 0…
… …
0
1
2
3
Dirección
0AFF00
100700
108800
FFA100

0
1
2
3
Directorio
Tabladepáginas
desplazamientomarco
DirecciónFísica

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

58