Sistemas operativos - gssi.det.uvigo.esgssi.det.uvigo.es/users/mlnores/public_html/7w.pdf · Sobre...

42
Sistemas operativos Sistemas operativos Tema 7: Gesti Tema 7: Gesti ó ó n de memoria n de memoria

Transcript of Sistemas operativos - gssi.det.uvigo.esgssi.det.uvigo.es/users/mlnores/public_html/7w.pdf · Sobre...

Sistemas operativosSistemas operativosTema 7: GestiTema 7: Gestióón de memorian de memoria

La memoria principalLa memoria principal

►► La memoria es el componente central en la arquitectura de un La memoria es el componente central en la arquitectura de un computador.computador.

A menudo, el A menudo, el úúnico dispositivo de almacenamiento al que la CPU puede nico dispositivo de almacenamiento al que la CPU puede acceder directamente.acceder directamente.Un Un vector de palabrasvector de palabras, cada una con su propia , cada una con su propia direccidireccióón fn fíísicasica..

►► La La CPUCPU lee instrucciones y lee o modifica datos de la memoria durante lee instrucciones y lee o modifica datos de la memoria durante cada ciclo de instruccicada ciclo de instruccióón.n.

►► Las operaciones de Las operaciones de E/S con DMAE/S con DMA ((acceso directo a memoriaacceso directo a memoria) ) escriben/leen datos en memoria.escriben/leen datos en memoria.

CPU MPCaché DMA

GestiGestióón de memorian de memoria

►► Asignar y liberar espacio en memoria segAsignar y liberar espacio en memoria segúún se necesite.n se necesite.La polLa políítica empleada repercute en la utilizacitica empleada repercute en la utilizacióón de la CPU y los n de la CPU y los tiempos de respuesta del sistema.tiempos de respuesta del sistema.ReubicaciReubicacióón:n: vinculacivinculacióón del espacio de n del espacio de direcciones ldirecciones lóógicasgicas de cada de cada proceso con direcciones fproceso con direcciones fíísicas concretas.sicas concretas.

►► Seguir la pista de quSeguir la pista de quéé partes de la memoria estpartes de la memoria estáán siendo n siendo usadas y por quusadas y por quéé procesos.procesos.

ProtecciProteccióón:n: impedir accesos (accidentales o malintencionados) a la impedir accesos (accidentales o malintencionados) a la memoria propia de otros procesos o del SO.memoria propia de otros procesos o del SO.ComparticiComparticióónn:: permitir el acceso de varios procesos a zonas de permitir el acceso de varios procesos a zonas de memoria comunes.memoria comunes.►► ComunicaciComunicacióón entre procesos, mismo cn entre procesos, mismo cóódigo para varias instancias de digo para varias instancias de

un mismo programa, etc.un mismo programa, etc.

Sobre la reubicaciSobre la reubicacióónn

►► ReubicaciReubicacióón estn estáática en tiempo de compilacitica en tiempo de compilacióón.n.DirecciDireccióón ln lóógica = direccigica = direccióón fn fíísica.sica.El compilador genera cEl compilador genera cóódigo mdigo mááquina con direcciones absolutas.quina con direcciones absolutas.

►► ReubicaciReubicacióón estn estáática durante la carga.tica durante la carga.DirecciDireccióón ln lóógica = direccigica = direccióón fn fíísica.sica.El cEl cóódigo mdigo mááquina contiene direcciones relativas al comienzo del quina contiene direcciones relativas al comienzo del programa programa (c(cóódigo reubicable)digo reubicable), que se vinculan a direcciones f, que se vinculan a direcciones fíísicas sicas al comenzar su ejecucial comenzar su ejecucióón.n.

►► ReubicaciReubicacióón dinn dináámica.mica.DirecciDireccióón ln lóógica gica ≠≠ direccidireccióón fn fíísica.sica.CCóódigo reubicable.digo reubicable.Las direcciones fLas direcciones fíísicas se calculan sicas se calculan en tiempo de ejecucien tiempo de ejecucióónn, por , por medio de un soporte medio de un soporte hardwarehardware especializado (unidad de gestiespecializado (unidad de gestióón de n de memoria, MMU).memoria, MMU).

Sobre la protecciSobre la proteccióónn

►► En general, la ubicaciEn general, la ubicacióón de un proceso en n de un proceso en memoria no se conoce de antemano, y no es memoria no se conoce de antemano, y no es posible anticipar todas sus referencias a memoria.posible anticipar todas sus referencias a memoria.

Muchas las referencias se calculan dinMuchas las referencias se calculan dináámicamente (micamente (e.ge.g. . a raa raííz de instrucciones z de instrucciones mallocmalloc).).

►► La protecciLa proteccióón requiere mecanismos que actn requiere mecanismos que actúúen en en en tiempo de ejecucitiempo de ejecucióónn..

La soluciLa solucióón prn práácticamente universal es proveerla por cticamente universal es proveerla por hardwarehardware, en la propia MMU., en la propia MMU.

TTéécnicas de gesticnicas de gestióón de memorian de memoria

►►Monitor residente.Monitor residente.►►AsignaciAsignacióón contigua con particiones n contigua con particiones

mmúúltiples.ltiples.Particiones estParticiones estááticas.ticas.Particiones dinParticiones dináámicas.micas.

►►AsignaciAsignacióón no contigua.n no contigua.PaginaciPaginacióón.n.SegmentaciSegmentacióón.n.SegmentaciSegmentacióón paginada.n paginada.

Monitor residenteMonitor residente

Monitor residenteMonitor residente

►► Se divide la memoria en dos zonas: Se divide la memoria en dos zonas: monitor monitor residenteresidente (SO) y (SO) y espacio de usuarioespacio de usuario..

►► Con reubicaciCon reubicacióón estn estáática:tica:

SO

Espacio de usuario

Registro barrera

Dir. física SÍCPU ≥

TRAP

NO

Monitor residenteMonitor residente

►► Con reubicaciCon reubicacióón dinn dináámica:mica:

Registro barrera

Dir. lógica Dir. física+CPU

SO

Espacio de usuario

Intercambio Intercambio ((swappingswapping))

►► Forma de conseguir multiprogramaciForma de conseguir multiprogramacióón, utilizando n, utilizando almacenamiento secundario de apoyo.almacenamiento secundario de apoyo.

SO

Espacio de usuario

P1

P2

1

2

IntercambioIntercambio

►► Tiempos de Tiempos de cambio de contextocambio de contexto muy elevados.muy elevados.Mejoran solapando la carga o descarga de un proceso Mejoran solapando la carga o descarga de un proceso con la ejecucicon la ejecucióón de otro.n de otro.►►BuffersBuffers del SO, e intercambio dentro de la memoria principal.del SO, e intercambio dentro de la memoria principal.

►► Cuidado con las Cuidado con las operaciones de E/S por DMAoperaciones de E/S por DMA..PodrPodríían iniciarse sobre la memoria de un proceso y an iniciarse sobre la memoria de un proceso y terminar sobre la de otro.terminar sobre la de otro.Soluciones:Soluciones:►►No descargar procesos con E/S pendiente.No descargar procesos con E/S pendiente.►►Realizar la E/S sobre Realizar la E/S sobre buffersbuffers del SO.del SO.

AsignaciAsignacióón contiguan contiguacon particiones mcon particiones múúltiplesltiples

Sistemas de particiones mSistemas de particiones múúltiplesltiples

►► Objetivo: soporte Objetivo: soporte mmáás eficientes eficiente a la a la multiprogramacimultiprogramacióón.n.

►► Se divide el espacio de usuario en un conjunto de Se divide el espacio de usuario en un conjunto de regiones o regiones o particionesparticiones..

Cada regiCada regióón alberga un proceso. n alberga un proceso.

►► Dos variantes:Dos variantes:MultiprogramaciMultiprogramacióón con nn con núúmero fijo de tareasmero fijo de tareas (MFT): (MFT): particiones estparticiones estááticasticas..MultiprogramaciMultiprogramacióón con nn con núúmero variable de tareasmero variable de tareas(MVT): (MVT): particiones dinparticiones dináámicasmicas..

Con reubicaciCon reubicacióón estn estááticatica

►► Los lLos líímites se actualizan en los cambios de contexto, con la mites se actualizan en los cambios de contexto, con la informaciinformacióón del bloque de control del proceso en cuestin del bloque de control del proceso en cuestióón.n.

Dir. físicaCPU

Lím. inferior

SÍ≥

TRAP

NO

P3

P2

P1

SOLím. superior

SÍ≤

TRAP

NOP2

Con reubicaciCon reubicacióón dinn dináámicamica

►► El tamaEl tamañño y la direccio y la direccióón base se actualizan en los cambios n base se actualizan en los cambios de contexto.de contexto.

Dir. lógicaCPU

Tamaño

SÍ≤

TRAP

NO

P3

P2

P1

SODir. base

Dir. física

P2

+

MFTMFT

►► Las particiones de la memoria son fijas, definidas Las particiones de la memoria son fijas, definidas a prioria priori..

►► AsignaciAsignacióón de procesos a particiones:n de procesos a particiones:Una Una cola de procesos cola de procesos por participor particióón.n.►►Estrategia Estrategia bestbest--fitfit:: cada proceso se asigna a la particicada proceso se asigna a la particióón mn máás s

pequepequeñña que puede albergarlo.a que puede albergarlo.►►Posibilidad de particiones vacPosibilidad de particiones vacíías aas aúún habiendo procesos n habiendo procesos

preparados que cabrpreparados que cabríían en ellas.an en ellas.

Una Una úúnica cola.nica cola.►►Estrategia Estrategia bestbest--fitfit--onlyonly..►►Estrategia Estrategia bestbest--fitfit--availableavailable:: los procesos entran en la particilos procesos entran en la particióón n

mmáás peques pequeñña en que caben de entre las disponibles.a en que caben de entre las disponibles.

EjemploEjemplo►► El proceso de 5KB entra El proceso de 5KB entra

en la particien la particióón de 6KB.n de 6KB.►► El proceso de 2KB entra El proceso de 2KB entra

en una particien una particióón de 2KB.n de 2KB.►► BestBest--fitfit--onlyonly::

El proceso de 3KB espera.El proceso de 3KB espera.Con exploraciCon exploracióón de la cola, n de la cola, el proceso de 7KB entra en el proceso de 7KB entra en la particila particióón de 12KB.n de 12KB.

►► BestBest--fitfit--availableavailable::El proceso de 3KB entra El proceso de 3KB entra en la particien la particióón de 12KB.n de 12KB.

12KB

6KB

2KB

SO

7KB 3KB 2KB 5KB

2KB

MMáás sobre MFTs sobre MFT

►► Utilizando Utilizando intercambiointercambio, se puede aumentar el , se puede aumentar el grado de multiprogramacigrado de multiprogramacióón mn máás alls alláá del ndel núúmero mero de particiones.de particiones.

Los procesos pueden residir en particiones distintas Los procesos pueden residir en particiones distintas durante su ejecucidurante su ejecucióón sn sóólo con reubicacilo con reubicacióón dinn dináámica.mica.

►► ¿¿QuQuéé hacer si un proceso solicita hacer si un proceso solicita mmáás memorias memoria, , excediendo el tamaexcediendo el tamañño de la particio de la particióón asignada?n asignada?

No conceder mNo conceder máás memoria y abortar la ejecucis memoria y abortar la ejecucióón. n. Encolar el proceso en espera de una particiEncolar el proceso en espera de una particióón n suficientemente grande.suficientemente grande.►►Exige reubicaciExige reubicacióón dinn dináámica.mica.

FragmentaciFragmentacióónn

►► Aprovechamiento Aprovechamiento subsubóóptimoptimo de la memoria.de la memoria.►► FragmentaciFragmentacióón interna:n interna: memoria asignada que no se utiliza.memoria asignada que no se utiliza.►► FragmentaciFragmentacióón externa:n externa: memoria desocupada que no puede memoria desocupada que no puede

aprovecharse para dar cabida a nuevos procesos.aprovecharse para dar cabida a nuevos procesos.

10KB

SO

4KB 4KB 4KB

6KB 6KB3KB

7KB FI 3KB

FI 1KB

FE 8KB

►► En MFT no habrEn MFT no habríía fragmentacia fragmentacióón si las particiones coincidieran con el n si las particiones coincidieran con el tamatamañño de los procesos.o de los procesos.

MVTMVT

►► El tamaEl tamañño y no y núúmero de las particiones de la memoria varmero de las particiones de la memoria varíía a dindináámicamente.micamente.

Mayor flexibilidadMayor flexibilidad que MFT.que MFT.Elimina la fragmentaciElimina la fragmentacióón interna: a cada proceso se le asigna n interna: a cada proceso se le asigna úúnicamente la memoria que va a utilizar.nicamente la memoria que va a utilizar.

SO

P1

SO

P1

SO

P2

P1

SO

P2

P3

P1

SO

P3

P1

SO

P4

P3

Hardware y software para MVTHardware y software para MVT

►► Mismo Mismo hardwarehardware que en MFT.que en MFT.Predominantemente, reubicaciPredominantemente, reubicacióón dinn dináámica.mica.

►► El SO mantiene una El SO mantiene una lista de huecoslista de huecos, y asigna memoria , y asigna memoria segsegúún una determinada estrategia:n una determinada estrategia:

FirstFirst--fitfit:: selecciona el primer hueco suficientemente grande.selecciona el primer hueco suficientemente grande.BestBest--fitfit:: selecciona el hueco mselecciona el hueco máás peques pequeñño de tamao de tamañño suficiente.o suficiente.►► Hay que explorar toda la lista, salvo que estHay que explorar toda la lista, salvo que estéé ordenada por tamaordenada por tamañño.o.►► Tiende a generar huecos pequeTiende a generar huecos pequeñños, cuyo rastreo es comparativamente os, cuyo rastreo es comparativamente

costoso.costoso.WorstWorst--fitfit:: selecciona el hueco mselecciona el hueco máás grande.s grande.►► Hay que explorar toda la lista, salvo que estHay que explorar toda la lista, salvo que estéé ordenada por tamaordenada por tamañño.o.►► Pretende crear huecos grandes.Pretende crear huecos grandes.

CompactaciCompactacióónn

►► La fragmentaciLa fragmentacióón externa en MVT puede ser grande, y en n externa en MVT puede ser grande, y en general aumenta con el tiempo.general aumenta con el tiempo.

Caso extremo:Caso extremo: un hueco desperdiciado entre cada dos procesos.un hueco desperdiciado entre cada dos procesos.

►► El problema se alivia con El problema se alivia con compactacicompactacióónn, desplazando , desplazando procesos en un sentido y huecos en otro.procesos en un sentido y huecos en otro.

El desplazamiento obliga a detener la computaciEl desplazamiento obliga a detener la computacióón.n.Se necesita Se necesita reubicacireubicacióón dinn dináámicamica..¿¿CuCuáándo compactar?ndo compactar?►► Cuando un proceso no pueda alojarse en memoria.Cuando un proceso no pueda alojarse en memoria.►► De modo preventivo, cuando se exceda un determinado nivel de De modo preventivo, cuando se exceda un determinado nivel de

fragmentacifragmentacióón.n.►► Cuando se realice algCuando se realice algúún n intercambiointercambio..

PaginaciPaginacióónn

PaginaciPaginacióónn

►► El espacio lEl espacio lóógico de los gico de los procesos se divide en procesos se divide en ppááginasginas de tamade tamañño fijo.o fijo.

►► La memoria se divide en La memoria se divide en marcosmarcos, del mismo tama, del mismo tamañño o que las pque las pááginas.ginas.

►► Las pLas pááginas se asignan a ginas se asignan a marcos, posiblemente de marcos, posiblemente de manera manera no contiguano contigua..

P1

P2

Pág. 1

Pág. 2

Pág. 3

Pág. 2

Pág. 1

Pág. 1

Pág. 2

Pág. 3

Pág. 2

Pág. 1

HardwareHardware de paginacide paginacióónn

►► Las direcciones lLas direcciones lóógicas se descomponen en gicas se descomponen en nnúúmero de pmero de pááginagina (p) y (p) y desplazamientodesplazamiento dentro de la misma (d).dentro de la misma (d).

►► La MMU vincula nLa MMU vincula núúmeros de pmeros de páágina a marcos concretos de la memoria gina a marcos concretos de la memoria ffíísica.sica.

p dDir. lógica

CPU

mVPTBR

MPm d

Dir. física

Tabla de páginas

V=1 TRAPNO

ObservacionesObservaciones

►► El tamaEl tamañño de po de pááginas y marcos es ginas y marcos es potencia de 2potencia de 2..►► Igual nIgual núúmero de bits para mero de bits para pp y para y para mm: los : los

procesos no pueden direccionar mprocesos no pueden direccionar máás memoria que s memoria que la que hay.la que hay.

►► Hay Hay una tabla de puna tabla de pááginas para cada procesoginas para cada proceso..►► Cuando hay pocas pCuando hay pocas pááginas, las tablas pueden ginas, las tablas pueden

alojarse en registros de la CPU. Lo habitual, sin alojarse en registros de la CPU. Lo habitual, sin embargo, es almacenarlas embargo, es almacenarlas en la propia memoriaen la propia memoria..

En memoria, cada entrada de la tabla ha de ocupar En memoria, cada entrada de la tabla ha de ocupar un un nnúúmero entero de palabrasmero entero de palabras..

Puntos fuertesPuntos fuertes

►► No hay No hay fragmentacifragmentacióón externan externa, y la , y la asignaciasignacióónn de memoria de memoria es trivial.es trivial.

Cualquier marco libre es igualmente bueno.Cualquier marco libre es igualmente bueno.

►► La La fragmentacifragmentacióón internan interna se reduce a la se reduce a la úúltima pltima páágina de gina de cada proceso.cada proceso.

Mejor aprovechamiento de la memoria cuanto mMejor aprovechamiento de la memoria cuanto máás peques pequeññas sean as sean las plas pááginas.ginas.►► Caso peor:Caso peor: (1 p(1 páágina gina -- 1 palabra) 1 palabra) ×× nnúúmero de procesos.mero de procesos.►► En media:En media: ((½½ ppáágina) gina) ×× nnúúmero de procesos.mero de procesos.

►► Se facilita la Se facilita la comparticicomparticióónn: varios procesos pueden acceder : varios procesos pueden acceder a un mismo marco.a un mismo marco.

El cEl cóódigo compartido debe ser digo compartido debe ser reentrantereentrante (i.e. no debe (i.e. no debe automodificarseautomodificarse).).

Puntos dPuntos déébilesbiles

►► Si las tablas de pSi las tablas de pááginas se alojan en memoria, ginas se alojan en memoria, se duplica el se duplica el tiempo de accesotiempo de acceso efectivo a la misma.efectivo a la misma.

SoluciSolucióón: una n: una cachcachéé especial para entradas de las tablas de pespecial para entradas de las tablas de pááginas ginas ((TranslationTranslation LookasideLookaside BufferBuffer, TLB)., TLB).

►► Las tablas de pLas tablas de pááginas pueden ocupar un espacio ginas pueden ocupar un espacio considerable.considerable.

Ejemplo:Ejemplo: memoria de 4GB, pmemoria de 4GB, pááginas de 4KB y 4 ginas de 4KB y 4 bytesbytes por entrada por entrada tablas de tablas de 4MB por proceso.4MB por proceso.

Parece recomendable un tamaParece recomendable un tamañño de po de pááginas grande, para que las ginas grande, para que las tablas tengan pocas entradas.tablas tengan pocas entradas.►► Compromiso con la fragmentaciCompromiso con la fragmentacióón interna.n interna.

Soluciones:Soluciones:►► PaginaciPaginacióón n multinivelmultinivel..►► Tabla de pTabla de pááginas invertida.ginas invertida.

PaginaciPaginacióón en 2 nivelesn en 2 niveles

►► A menudo, los procesos no utilizan todas las pA menudo, los procesos no utilizan todas las pááginas del espacio lginas del espacio lóógico.gico.Las pLas pááginas no utilizadas se pueden condensar en entradas de la TPE coginas no utilizadas se pueden condensar en entradas de la TPE con V=0.n V=0.Ejemplo (continEjemplo (continúúa):a):

►► Memoria de 4GB y pMemoria de 4GB y pááginas de 4KBginas de 4KB►► 4 4 bytesbytes por entrada en TPE y TPIpor entrada en TPE y TPI►► 10 bits para p10 bits para p11 y 10 para py 10 para p22►► Procesos de 12 MBProcesos de 12 MB

CPU

PTBR MP

m1V

TP Externa

p1 dDir. lógica

p2 m2 dDir. física

m2V

TP Interna

16KB en tablas por proceso16KB en tablas por proceso

ObservacionesObservaciones

►► El nEl núúmero de bits de pmero de bits de p22 se ajusta para aprovechar se ajusta para aprovechar al mal mááximo el marco de cada TPI.ximo el marco de cada TPI.

►► Si las tablas de pSi las tablas de pááginas se alojan en memoria, ginas se alojan en memoria, se se triplica el tiempo de accesotriplica el tiempo de acceso efectivo a la misma.efectivo a la misma.

►► Se pueden compartir Se pueden compartir TPIsTPIs..►► La idea es generalizable a mLa idea es generalizable a máás de 2 niveles.s de 2 niveles.

Tabla de pTabla de pááginas invertidaginas invertida►► Una Una úúnica tabla, en memoria, con tantas entradas como marcos.nica tabla, en memoria, con tantas entradas como marcos.

Cada entrada indica quCada entrada indica quéé ppáágina de qugina de quéé proceso se aloja en el marco proceso se aloja en el marco correspondiente.correspondiente.

►► Tantos accesos a memoria como entradas se recorren en la bTantos accesos a memoria como entradas se recorren en la búúsqueda.squeda.Una tabla Una tabla hashhash limita la blimita la búúsqueda a un nsqueda a un núúmero reducido de entradas.mero reducido de entradas.

►► Se dificulta la Se dificulta la comparticicomparticióónn..

CPU

MP

P dDir. lógica

p i dDir. física

P

pP

buscar i

Si no se encuentra nada, TRAP

SegmentaciSegmentacióónn

SegmentaciSegmentacióónn

►► El espacio lEl espacio lóógico de un proceso se concibe como gico de un proceso se concibe como un un conjunto de segmentosconjunto de segmentos de tamade tamañño variable.o variable.

Funciones, variables, pila, etc.Funciones, variables, pila, etc.

►► Similar a la MVTSimilar a la MVT, s, sóólo que los distintos segmentos lo que los distintos segmentos de un proceso no tienen por qude un proceso no tienen por quéé estar contiguos estar contiguos en memoria.en memoria.

HardwareHardware de segmentacide segmentacióónn

s dDir. lógica

CPU

STBR

MP

baselong

Tabla de segmentos

SÍ≤

TRAP

NO

+

►► Las direcciones lLas direcciones lóógicas se descomponen en gicas se descomponen en nnúúmero de mero de segmentosegmento (s) y (s) y desplazamientodesplazamiento dentro del mismo (d).dentro del mismo (d).

ObservacionesObservaciones

►► Los campos Los campos longlong y y dd tienen igual ntienen igual núúmero de bits.mero de bits.►► El campo El campo basebase tiene tantos bits como las tiene tantos bits como las

direcciones de memoria fdirecciones de memoria fíísica.sica.►► No se necesita No se necesita bitbit de validez.de validez.

La protecciLa proteccióón la proporciona el campo long.n la proporciona el campo long.

►► Hay Hay una tabla de segmentos para cada procesouna tabla de segmentos para cada proceso..►► Nuevamente, las tablas suelen almacenarse en Nuevamente, las tablas suelen almacenarse en

memoria, con cada entrada ocupando memoria, con cada entrada ocupando un nun núúmero mero entero de palabrasentero de palabras..

Puntos fuertesPuntos fuertes

►►Se divide el espacio lSe divide el espacio lóógico en partes gico en partes semsemáánticamente definidas.nticamente definidas.

Optimiza la Optimiza la protecciproteccióónn y la y la comparticicomparticióónn..

►►No hay fragmentaciNo hay fragmentacióón interna.n interna.

Puntos dPuntos déébilesbiles

►► Se duplica el tiempo de accesoSe duplica el tiempo de acceso efectivo a la efectivo a la memoria.memoria.

SoluciSolucióón: una n: una cachcachéé especial para entradas de las tablas especial para entradas de las tablas de segmentos.de segmentos.

►► Las tablas de segmentos pueden ocupar un Las tablas de segmentos pueden ocupar un espacio considerable.espacio considerable.

►► Hay Hay fragmentacifragmentacióón externan externa..PolPolíítica de asignacitica de asignacióón n firstfirst--fitfit, , bestbest--fitfit o o worstworst--fitfit..CompactaciCompactacióón.n.Reducir el tamaReducir el tamañño medio de los segmentos aumentaro medio de los segmentos aumentaríía a el espacio consumido en tablas.el espacio consumido en tablas.

SegmentaciSegmentacióón paginadan paginada

SegmentaciSegmentacióón paginadan paginada

►►CombinaciCombinacióón de n de segmentacisegmentacióón y paginacin y paginacióónn..Los segmentos se dividen en pLos segmentos se dividen en pááginas y se ginas y se meten en marcos.meten en marcos.

►►Se mantiene la visiSe mantiene la visióón natural del espacio n natural del espacio llóógico de los procesos.gico de los procesos.

►►Se trivializa la Se trivializa la asignaciasignacióón n (cualquier marco (cualquier marco es igualmente bueno), y se elimina la es igualmente bueno), y se elimina la fragmentacifragmentacióón externan externa..

HardwareHardware de segmentacide segmentacióón paginadan paginada

►► El desplazamiento dentro del segmento se descompone en un nEl desplazamiento dentro del segmento se descompone en un núúmero mero de pde páágina (p) y un desplazamiento dentro de gina (p) y un desplazamiento dentro de éésta (dsta (d’’).).

s dDir. lógica

CPU

STBR

MP

baselong

Tabla de segmentos

SÍ≤

TRAP

NO

m

p d’ m d’

ObservacionesObservaciones

►► Una tabla de segmentos por proceso, y una tabla Una tabla de segmentos por proceso, y una tabla de pde pááginas por segmento.ginas por segmento.

►► Se introduce Se introduce fragmentacifragmentacióón internan interna, en la , en la úúltima ltima ppáágina de cada segmento.gina de cada segmento.

►► Con todas las tablas en memoria, Con todas las tablas en memoria, se triplica el se triplica el tiempo efectivo de accesotiempo efectivo de acceso a la misma.a la misma.

►► En comparaciEn comparacióón con la segmentacin con la segmentacióón, aumenta el n, aumenta el espacio consumido en tablas.espacio consumido en tablas.

►► La La paginacipaginacióón segmentadan segmentada (paginaci(paginacióón n segmentando la tabla de psegmentando la tabla de pááginas) tiene poco ginas) tiene poco sentido prsentido prááctico, y apenas se usa.ctico, y apenas se usa.

FinFin