gestion de memoria

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

Upload: bunketor

Post on 18-Jul-2015

115 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 1/73

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

Page 2: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 2/73

La memoria principalLa memoria principal►► La memoria es el componente central en la arquitectura de unLa 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 puedenico dispositivo de almacenamiento al que la CPU puede

acceder directamente.acceder directamente. UnUn vector de palabrasvector de palabras, cada una con su propia, cada una con su propia direccidireccióón f n f í í sicasica..

►► LaLa CPUCPU lee instrucciones y lee o modifica datos de la memoria durantelee instrucciones y lee o modifica datos de la memoria durante

cada ciclo de instruccicada ciclo de instruccióón.n.►► Las operaciones deLas operaciones de E/S con DMAE/S con DMA ((acceso directo a memoria acceso directo a memoria ))

escriben/leen datos en memoria.escriben/leen datos en memoria.

CPU MPCaché DMA

Page 3: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 3/73

GestiGestióón de memorian de memoria►► Asignar y liberar espacio en memoria seg Asignar 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 losn de la CPU y lostiempos de respuesta del sistema.tiempos de respuesta del sistema. ReubicaciReubicacióón:n: vinculacivinculacióón del espacio den del espacio de direcciones ldirecciones lóógicasgicas de cadade cada

proceso con direcciones f proceso 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 siendon siendousadas y por quusadas y por quéé procesos.procesos. ProtecciProteccióón:n: impedir accesos (accidentales o malintencionados) a laimpedir 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 depermitir 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 dedigo para varias instancias de

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

Page 4: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 4/73

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 f n 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 f n f í í sica.sica. El cEl cóódigo mdigo mááquina contiene direcciones relativas al comienzo delquina contiene direcciones relativas al comienzo del

programaprograma (c(cóódigo reubicable)digo reubicable), que se vinculan a direcciones f , que se vinculan a direcciones f í í sicassicasal comenzar su ejecucial comenzar su ejecucióón.n.►► ReubicaciReubicacióón dinn dináámica.mica.

DirecciDireccióón ln lóógicagica ≠≠ direccidireccióón f n f í í sica.sica.

CCóódigo reubicable.digo reubicable. Las direcciones f Las direcciones f í í sicas se calculansicas se calculan en tiempo de ejecucien tiempo de ejecucióónn, por, pormedio de un soportemedio de un soporte hardware hardware especializado (unidad de gestiespecializado (unidad de gestióón den dememoria, MMU).memoria, MMU).

Page 5: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 5/73

Sobre la protecciSobre la proteccióónn►► En general, la ubicaciEn general, la ubicacióón de un proceso enn de un proceso en

memoria no se conoce de antemano, y no esmemoria no se conoce de antemano, y no esposible 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 instruccionesz de instrucciones malloc malloc ).).►► La protecciLa proteccióón requiere mecanismos que actn requiere mecanismos que actúúenen enen

tiempo de ejecucitiempo de ejecucióónn..

La soluciLa solucióón prn práácticamente universal es proveerla porcticamente universal es proveerla porhardware hardware , en la propia MMU., en la propia MMU.

Page 6: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 6/73

TTéécnicas de gesticnicas de gestióón de memorian de memoria►►Monitor residente.Monitor residente.►► Asignaci Asignacióón contigua con particionesn contigua con particiones

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

►► Asignaci Asignacióón no contigua.n no contigua.

PaginaciPaginacióón.n. SegmentaciSegmentacióón.n. SegmentaciSegmentacióón paginada.n paginada.

Page 7: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 7/73

Monitor residenteMonitor residente

Page 8: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 8/73

Monitor residenteMonitor residente►► Se divide la memoria en dos zonas:Se divide la memoria en dos zonas: monitormonitor

residenteresidente (SO) y(SO) y espacio de usuarioespacio de usuario..►► Con reubicaciCon reubicacióón estn estáática:tica:

SO

Espacio deusuario

Registro barrera

Dir. física SÍCPU ≥

TRAP

NO

Page 9: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 9/73

Monitor residenteMonitor residente►► Con reubicaciCon reubicacióón dinn dináámica:mica:

Registro barrera

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

SO

Espacio deusuario

Page 10: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 10/73

IntercambioIntercambio ( ( swapping swapping  )  ) ►► Forma de conseguir multiprogramaciForma de conseguir multiprogramacióón, utilizandon, utilizando

almacenamiento secundario de apoyo.almacenamiento secundario de apoyo.

SO

Espacio deusuario

P1

P2

1

2

Page 11: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 11/73

IntercambioIntercambio►► Tiempos deTiempos de cambio de contextocambio de contexto muy elevados.muy elevados.

Mejoran solapando la carga o descarga de un procesoMejoran solapando la carga o descarga de un procesocon la ejecucicon la ejecucióón de otro.n de otro.►►Buffers Buffers del SO, e intercambio dentro de la memoria principal.del SO, e intercambio dentro de la memoria principal.

►► Cuidado con lasCuidado con las operaciones de E/S por DMAoperaciones de E/S por DMA.. PodrPodrí í an iniciarse sobre la memoria de un proceso yan 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 sobreRealizar la E/S sobre buffers buffers del SO.del SO.

Page 12: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 12/73

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

Page 13: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 13/73

Sistemas de particiones mSistemas de particiones múúltiplesltiples►► Objetivo: soporteObjetivo: soporte mmáás eficientes eficiente a laa la

multiprogramacimultiprogramacióón.n.►► Se divide el espacio de usuario en un conjunto deSe divide el espacio de usuario en un conjunto de

regiones oregiones o particionesparticiones.. Cada regiCada regióón alberga un proceso.n alberga un proceso.

►► Dos variantes:Dos variantes: Multiprogramaci Multiprogramaci ó ó n con n n con n ú ú mero fijo de tareas mero fijo de tareas (MFT):(MFT):

particiones estparticiones estááticasticas.. Multiprogramaci Multiprogramaci ó ó n con n n con n ú ú mero variable de tareas mero variable de tareas 

(MVT):(MVT): particiones dinparticiones dináámicasmicas..

Page 14: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 14/73

Con reubicaciCon reubicacióón estn estááticatica

►► Los lLos lí í mites se actualizan en los cambios de contexto, con lamites se actualizan en los cambios de contexto, con lainformaciinformacióó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Í≥

TRAPNO

P3

P2

P1

SO

Lím. superior

SÍ≤

TRAPNOP2

Page 15: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 15/73

Con reubicaciCon reubicacióón dinn dináámicamica

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

Dir. lógicaCPU

Tamaño

SÍ≤

TRAPNO

P3

P2

P1

SO

Dir. base

Dir. física

P2

+

Page 16: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 16/73

MFTMFT►► Las particiones de la memoria son fijas, definidasLas particiones de la memoria son fijas, definidas

a priori a priori ..►► Asignaci Asignacióón de procesos a particiones:n de procesos a particiones:

UnaUna cola de procesoscola de procesos por participor particióón.n.►►EstrategiaEstrategia best best - - fit fit : : cada proceso se asigna a la particicada proceso se asigna a la particióón mn mááss

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

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

UnaUna úúnica cola.nica cola.►►EstrategiaEstrategia best best - - fit fit - - only only ..►►EstrategiaEstrategia best best - - fit fit - - available available : : los procesos entran en la particilos procesos entran en la particióónn

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

Page 17: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 17/73

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

en la particien la particióón de 6KB.n de 6KB.►► El proceso de 2KB entraEl proceso de 2KB entraen una particien una particióón de 2KB.n de 2KB.►► Best Best - - fit fit - - only only : : 

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 enel proceso de 7KB entra en

la particila particióón de 12KB.n de 12KB.►► Best Best - - fit fit - - available available : : 

El proceso de 3KB entraEl proceso de 3KB entraen la particien la particióón de 12KB.n de 12KB.

12KB

6KB

2KB

SO

7KB 3KB 2KB 5KB

2KB

Page 18: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 18/73

MMáás sobre MFTs sobre MFT►► UtilizandoUtilizando intercambiointercambio, se puede aumentar el, se puede aumentar el

grado de multiprogramacigrado de multiprogramacióón mn máás alls alláá del ndel núúmeromerode particiones.de particiones. Los procesos pueden residir en particiones distintasLos 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 solicitahacer 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óónnsuficientemente grande.suficientemente grande.►►Exige reubicaciExige reubicacióón dinn dináámica.mica.

Page 19: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 19/73

FragmentaciFragmentacióónn►►  Aprovechamiento sub Aprovechamiento subóóptimo de la memoria.ptimo 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 puedememoria desocupada que no puede

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

10KB

SO

4KB

4KB4KB

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 eln si las particiones coincidieran con eltamatamañño de los procesos.o de los procesos.

Page 20: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 20/73

MVTMVT►► El tamaEl tamañño y no y núúmero de las particiones de la memoria varmero de las particiones de la memoria varí í aa

dindináámicamente.micamente. Mayor flexibilidadMayor flexibilidad que MFT.que MFT. Elimina la fragmentaciElimina la fragmentacióón interna: a cada proceso se le asignan 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

Page 21: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 21/73

Hardware y software para MVTHardware y software para MVT►► MismoMismo hardware hardware que en MFT.que en MFT.

Predominantemente, reubicaciPredominantemente, reubicacióón dinn dináámica.mica.

►► El SO mantiene unaEl SO mantiene una lista de huecoslista de huecos, y asigna memoria, y asigna memoriasegsegúún una determinada estrategia:n una determinada estrategia: First First - - fit fit : : selecciona el primer hueco suficientemente grande.selecciona el primer hueco suficientemente grande.

Best Best - - fit fit : : 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 comparativamenteos, cuyo rastreo es comparativamente

costoso.costoso. Worst Worst - - fit fit : : 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.

Page 22: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 22/73

CompactaciCompactacióónn►► La fragmentaciLa fragmentacióón externa en MVT puede ser grande, y enn 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 conEl problema se alivia con compactacicompactacióónn, desplazando, desplazandoprocesos 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 necesitaSe 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 deDe modo preventivo, cuando se exceda un determinado nivel de

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

Page 23: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 23/73

PaginaciPaginacióónn

Page 24: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 24/73

PaginaciPaginacióónn►► El espacio lEl espacio lóógico de losgico de los

procesos se divide enprocesos se divide enppááginasginas de tamade tamañño fijo.o fijo.

►► La memoria se divide enLa memoria se divide enmarcosmarcos, del mismo tama, del mismo tamaññoo

que las pque las pááginas.ginas.►► Las pLas pááginas se asignan aginas se asignan a

marcos, posiblemente demarcos, posiblemente de

maneramanera 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

Page 25: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 25/73

Hardware Hardware de paginacide paginacióónn►► Las direcciones lLas direcciones lóógicas se descomponen engicas 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 memoriagina a marcos concretos de la memoria

f f í í sica.sica.

p dDir. lógica

CPU

m V

PTBR MP

m dDir. física

Tabla de páginas

V=1 TRAPNO

Page 26: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 26/73

ObservacionesObservaciones►► El tamaEl tamañño de po de pááginas y marcos esginas y marcos es potencia de 2potencia de 2..

►► Igual nIgual núúmero de bits paramero de bits para pp y paray para mm: los: losprocesos no pueden direccionar mprocesos no pueden direccionar máás memoria ques memoria quela que hay.la que hay.

►►

HayHay una tabla de puna tabla de pááginas para cada procesoginas para cada proceso..►► Cuando hay pocas pCuando hay pocas pááginas, las tablas puedenginas, las tablas puedenalojarse en registros de la CPU. Lo habitual, sinalojarse en registros de la CPU. Lo habitual, sinembargo, es almacenarlasembargo, es almacenarlas en la propia memoriaen la propia memoria.. En memoria, cada entrada de la tabla ha de ocuparEn memoria, cada entrada de la tabla ha de ocupar unun

nnúúmero entero de palabrasmero entero de palabras..

Page 27: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 27/73

Puntos fuertesPuntos fuertes►► No hayNo hay fragmentacifragmentacióón externan externa, y la, y la asignaciasignacióónn de memoriade memoria

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

►► LaLa fragmentacifragmentacióón internan interna se reduce a lase reduce a la úúltima pltima páágina degina decada proceso.cada proceso.

Mejor aprovechamiento de la memoria cuanto mMejor aprovechamiento de la memoria cuanto m

áás peques peque

ññas seanas sean

las plas pááginas.ginas.►► Caso peor:Caso peor: (1 p(1 pááginagina -- 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 laSe facilita la comparticicomparticióónn: varios procesos pueden acceder: varios procesos pueden accedera un mismo marco.a un mismo marco. El cEl cóódigo compartido debe serdigo compartido debe ser reentrantereentrante ((i.ei.e. no debe. no debe

automodificarseautomodificarse).).

Page 28: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 28/73

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 else duplica el

tiempo de accesotiempo de acceso efectivo a la misma.efectivo a la misma. SoluciSolucióón: unan: una cachcachéé especial para entradas de las tablas de pespecial para entradas de las tablas de pááginasginas((Translation Translation Lookaside Lookaside Buffer Buffer , TLB)., TLB).

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

Ejemplo:Ejemplo: memoria de 4GB, pmemoria de 4GB, pááginas de 4KB y 4ginas de 4KB y 4 bytes bytes por entradapor entrada tablas detablas de 4MB por proceso.4MB por proceso. Parece recomendable un tamaParece recomendable un tamañño de po de pááginas grande, para que lasginas 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 multinivel.n multinivel.►► Tabla de pTabla de pááginas invertida.ginas invertida.

Page 29: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 29/73

PaginaciPaginacióón en 2 nivelesn en 2 niveles

►►  A menudo, los procesos no utilizan todas las p A 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►► 44 bytes bytes 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

m1

 V

TP Externa

p1 dDir. lógica

p2 m2 dDir. física

m2 V

TP Interna

16KB en tablas por proceso16KB en tablas por proceso

Page 30: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 30/73

ObservacionesObservaciones►► El nEl núúmero de bits de pmero de bits de p22 se ajusta para aprovecharse 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, sese

triplica el tiempo de accesotriplica el tiempo de acceso efectivo a la misma.efectivo a la misma.

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

Page 31: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 31/73

Tabla de pTabla de pááginas invertidaginas invertida►► UnaUna úú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 marcoproceso 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 tablaUna tabla hash hash limita la blimita la búúsqueda a un nsqueda a un núúmero reducido de entradas.mero reducido de entradas.

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

CPU

MP

P dDir. lógica

p i dDir. física

P

pP

buscar i

Si no se encuentranada, TRAP

Page 32: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 32/73

SegmentaciSegmentacióónn

Page 33: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 33/73

SegmentaciSegmentacióónn►► El espacio lEl espacio lóógico de un proceso se concibe comogico de un proceso se concibe como

unun 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 segmentoslo que los distintos segmentos

de un proceso no tienen por qude un proceso no tienen por quéé estar contiguosestar contiguosen memoria.en memoria.

Page 34: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 34/73

Hardware Hardware de segmentacide segmentacióónn

s d

Dir. lógica

CPU

STBR 

MP

baselong

Tabla de segmentos

SÍ≤

TRAP

NO

+

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

Page 35: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 35/73

ObservacionesObservaciones►► Los camposLos campos longlong yy dd tienen igual ntienen igual núúmero de bits.mero de bits.

►► El campoEl campo basebase tiene tantos bits como lastiene tantos bits como lasdirecciones de memoria f direcciones de memoria f í í sica.sica.►► No se necesitaNo se necesita bitbit de validez.de validez.

La protecciLa proteccióón la proporciona el campo long.n la proporciona el campo long.►► HayHay una tabla de segmentos para cada procesouna tabla de segmentos para cada proceso..►► Nuevamente, las tablas suelen almacenarse enNuevamente, las tablas suelen almacenarse en

memoria, con cada entrada ocupandomemoria, con cada entrada ocupando un nun núúmeromeroentero de palabrasentero de palabras..

Page 36: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 36/73

Puntos fuertesPuntos fuertes►►Se divide el espacio lSe divide el espacio lóógico en partesgico en partes

semsemáánticamente definidas.nticamente definidas. Optimiza laOptimiza la protecciproteccióónn y lay la comparticicomparticióónn..

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

Page 37: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 37/73

Puntos dPuntos déébilesbiles►► Se duplica el tiempo de accesoSe duplica el tiempo de acceso efectivo a laefectivo a la

memoria.memoria. SoluciSolucióón: unan: una cachcachéé especial para entradas de las tablasespecial para entradas de las tablasde segmentos.de segmentos.

►► Las tablas de segmentos pueden ocupar unLas tablas de segmentos pueden ocupar un

espacio considerable.espacio considerable.►► HayHay fragmentacifragmentacióón externan externa..

PolPolí í tica de asignacitica de asignacióónn first first - - fit fit ,, best best - - fit fit oo worst worst - - fit fit ..

CompactaciCompactacióón.n. Reducir el tamaReducir el tamañño medio de los segmentos aumentaro medio de los segmentos aumentarí í aa

el espacio consumido en tablas.el espacio consumido en tablas.

Page 38: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 38/73

SegmentaciSegmentacióón paginadan paginada

Page 39: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 39/73

SegmentaciSegmentacióón paginadan paginada►►CombinaciCombinacióón den de segmentacisegmentacióón y paginacin y paginacióónn..

Los segmentos se dividen en pLos segmentos se dividen en pááginas y seginas y semeten en marcos.meten en marcos.

►►Se mantiene la visiSe mantiene la visióón natural del espacion natural del espaciollóógico de los procesos.gico de los procesos.

►►Se trivializa laSe trivializa la asignaciasignacióónn (cualquier marco(cualquier marco

es igualmente bueno), y se elimina laes igualmente bueno), y se elimina lafragmentacifragmentacióón externan externa..

Page 40: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 40/73

Hardware Hardware 

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úúmeromerode pde páágina (p) y un desplazamiento dentro degina (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’  

Page 41: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 41/73

ObservacionesObservaciones►► Una tabla de segmentos por proceso, y una tablaUna tabla de segmentos por proceso, y una tabla

de pde pááginas por segmento.ginas por segmento.►► Se introduceSe introduce fragmentacifragmentacióón internan interna, en la, en la úúltimaltima

ppáágina de cada segmento.gina de cada segmento.►► Con todas las tablas en memoria,Con todas las tablas en memoria, se triplica else 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 eln, aumenta el

espacio consumido en tablas.espacio consumido en tablas.

►► LaLa paginacipaginacióón segmentadan segmentada (paginaci(paginacióónnsegmentando la tabla de psegmentando la tabla de pááginas) tiene pocoginas) tiene pocosentido prsentido prááctico, y apenas se usa.ctico, y apenas se usa.

Page 42: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 42/73

Memoria virtualMemoria virtual

Page 43: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 43/73

Memoria virtualMemoria virtual►► Conjunto de tConjunto de téécnicas que permiten ejecutar procesos quecnicas que permiten ejecutar procesos que no seno se

encuentran completamente cargados en memoriaencuentran completamente cargados en memoria..

►► Principio de cercanPrincipio de cercaní í as:as: las referencias a memoria tienden a agruparse.las referencias a memoria tienden a agruparse. EjecuciEjecucióón de instrucciones en secuencia, acceso a tablas, bucles, etc.n de instrucciones en secuencia, acceso a tablas, bucles, etc.

►► Muchos programas contienen cMuchos programas contienen cóódigo paradigo para opciones poco utilizadasopciones poco utilizadas,,que no hay por quque no hay por quéé tener siempre en memoria.tener siempre en memoria.

localidad(t1)

   D   i  r  e  c  c   i  o  n  e  s  a  c  c  e   d   i   d

  a  s

tt1

Page 44: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 44/73

Memoria virtualMemoria virtual►► Las partes de un proceso que no se estLas partes de un proceso que no se estéén utilizando en unn utilizando en un

momento dado pueden guardarsemomento dado pueden guardarse en almacenamientoen almacenamientosecundariosecundario (t(tí í picamente, en un disco duro).picamente, en un disco duro). Se cargan y descargan partes segSe cargan y descargan partes segúún sea necesario.n sea necesario.

►► Cada proceso ocupa menos memoriaCada proceso ocupa menos memoria se puedese puede

incrementar elincrementar el grado de multiprogramacigrado de multiprogramacióónn y ely elaprovechamiento de la CPUaprovechamiento de la CPU.. En teorEn teorí í a, para ejecutar un proceso llega con tener en memoriaa, para ejecutar un proceso llega con tener en memoria lala

siguiente instruccisiguiente instruccióónn yy los datoslos datos queque éésta vaya a utilizar.sta vaya a utilizar.

En la prEn la prááctica, se intentactica, se intenta aproximar la localidadaproximar la localidad del proceso.del proceso. Conjunto residente:Conjunto residente: parte del espacio lparte del espacio lóógico de un proceso que segico de un proceso que se

encuentra en la memoria principal.encuentra en la memoria principal.

Page 45: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 45/73

Memoria virtualMemoria virtual►► Los procesos no estLos procesos no estáán limitados por el taman limitados por el tamañño deo de

la memoria principal.la memoria principal.  Antes, para ejecutar procesos muy grandes se recurr Antes, para ejecutar procesos muy grandes se recurrí í a aa ala programacila programacióón den de superposiciones (superposiciones (overlays overlays ))..►►Esta tEsta téécnica ha quedado relegada a sistemas empotrados y/ocnica ha quedado relegada a sistemas empotrados y/o

de tiempo real.de tiempo real.

►► Al no tener que cargar o intercambiar procesos Al no tener que cargar o intercambiar procesosenteros,enteros, se reduce la carga de E/Sse reduce la carga de E/S..

Page 46: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 46/73

InconvenientesInconvenientes►►Complejidad elevada:Complejidad elevada:

¿¿CCóómo repartir la memoria entre los procesos?mo repartir la memoria entre los procesos? ¿¿CuCuáántos procesos pueden residir en memoriantos procesos pueden residir en memoria

simultsimultááneamente?neamente? ¿¿QuQuéé partes de los procesos cargar opartes de los procesos cargar o

descargar?descargar?

►►

Rendimiento:Rendimiento: Los accesos a disco son unLos accesos a disco son un cuello de botellacuello de botella..

Page 47: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 47/73

Esquemas de memoria virtualEsquemas de memoria virtual►►Se puede implementar memoria virtual conSe puede implementar memoria virtual con

cualquier esquema decualquier esquema de reubicacireubicacióón dinn dináámicamicayy asignaciasignacióón no contiguan no contigua.. MMáás f s f áácil con esquemas que paginan lacil con esquemas que paginan la

memoria.memoria. Los algoritmos se complican con segmentos deLos algoritmos se complican con segmentos detamatamañño variable.o variable.

►►El esquema mEl esquema máás frecuente es las frecuente es lapaginacipaginacióón bajo demandan bajo demanda..

Page 48: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 48/73

PaginaciPaginacióón bajon bajodemandademanda

Page 49: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 49/73

PaginaciPaginacióón bajo demandan bajo demanda►► PaginaciPaginacióón +n + paginadorpaginador perezosoperezoso..

No se carga una pNo se carga una páágina en memoria hasta que unagina en memoria hasta que unainstrucciinstruccióón necesita acceder a ella.n necesita acceder a ella.

 A

B

C

D

E

Proceso

 A B

D E

Disco

C

MP

 A

C

Memoriavirtual paginada

Page 50: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 50/73

SoporteSoporte

hardware hardware 

►►La traducciLa traduccióón de direcciones ln de direcciones lóógicas sigue elgicas sigue elmismo esquemamismo esquema que la paginacique la paginacióónn…… …… ssóólo que puede haberlo que puede haber mmáás bits en el campo ps bits en el campo p

de la direccide la direccióón ln lóógica.gica.►►Las pLas pááginas en memoria y las que estginas en memoria y las que estáán enn en

disco se distinguendisco se distinguen con elcon el bitbit de validezde validez:: 11 ppáágina vgina váálida y cargada en memoria.lida y cargada en memoria. 00 ppáágina invgina inváálida o vlida o váálida pero no cargada.lida pero no cargada.

Page 51: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 51/73

SoporteSoporte

hardware hardware 

►►  Al encontrar V=0, el SO comprueba si se trata de un Al encontrar V=0, el SO comprueba si se trata de un acceso invacceso inváálidolido oounun fallo de pfallo de pááginagina en la rutina de atencien la rutina de atencióón a la TRAP.n a la TRAP.►►  A menudo, las entradas con V=0 contienen la direcci A menudo, las entradas con V=0 contienen la direccióón de disco donden de disco donde

se almacena la pse almacena la páágina correspondiente.gina correspondiente.

 A

B

C

DE

Proceso

 A B

D E

Disco

C

MP

 A

C

Tabla de páginas

-0

-0-0

-0

-0

31 -0

11

ñ d l bl d á

Page 52: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 52/73

TamaTama

ñño de la tabla de po de la tabla de p

ááginasginas

►► Con memoria virtual, la tabla de pCon memoria virtual, la tabla de pááginas puede volverseginas puede volverseextremadamente grandeextremadamente grande..

Ejemplo:Ejemplo: memoria virtual de 64GB, pmemoria virtual de 64GB, pááginas de 4KB y 4ginas de 4KB y 4 bytes bytes porporentradaentrada tablas de 64tablas de 64MB (en memoria real) por proceso.MB (en memoria real) por proceso.►► Posibles soluciones:Posibles soluciones:

PaginaciPaginacióón multinivel:n multinivel:►► SSóólo tiene que estar siempre en memoria la tabla de plo tiene que estar siempre en memoria la tabla de pááginas externa.ginas externa.►► Las tablas de pLas tablas de pááginas internas pueden alojarse en disco mientras no seginas internas pueden alojarse en disco mientras no se

utilizan.utilizan. SegmentaciSegmentacióón paginada:n paginada:

►► SSóólo tiene que estar siempre en memoria la tabla de segmentos.lo tiene que estar siempre en memoria la tabla de segmentos.►► Las tablas de pLas tablas de pááginas de cada segmento pueden alojarse en discoginas de cada segmento pueden alojarse en disco

mientras no se utilizan.mientras no se utilizan. Tabla de pTabla de pááginas invertida:ginas invertida:

►► El SO debe mantener tablas con informaciEl SO debe mantener tablas con informacióón sobre las pn sobre las pááginas que noginas que noestestáán en memoria.n en memoria.

El f ll d á i

Page 53: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 53/73

El fallo de pEl fallo de p

ááginagina

►► Ante un fallo de p Ante un fallo de páágina, hay quegina, hay que localizar la plocalizar la pááginaginasolicitada en el disco,solicitada en el disco, cargarlacargarla en memoria yen memoria y reiniciar lareiniciar la

instrucciinstruccióónn.. Es un proceso de duraciEs un proceso de duracióón potencialmente muy larga y variable,n potencialmente muy larga y variable,

principalmente por las operaciones de E/S.principalmente por las operaciones de E/S.

►► El repertorio de instrucciones puede plantear ciertosEl repertorio de instrucciones puede plantear ciertos

desaf desaf í í os, por la dificultad de deshacer los efectos de unaos, por la dificultad de deshacer los efectos de unainstrucciinstruccióón parcialmente ejecutada.n parcialmente ejecutada. MOV (R1)+,DIR:MOV (R1)+,DIR: copiar en DIR el contenido de la posicicopiar en DIR el contenido de la posicióón den de

memoria apuntada por R1, e incrementar R1.memoria apuntada por R1, e incrementar R1.

►► Si ocurre un fallo de pSi ocurre un fallo de páágina al intentar acceder a DIR, hay quegina al intentar acceder a DIR, hay quedevolver R1 a su valor anterior.devolver R1 a su valor anterior.

R di i t

Page 54: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 54/73

RendimientoRendimiento

►► ttacac:: tiempo de acceso sin memoria virtual (en paginacitiempo de acceso sin memoria virtual (en paginacióón,n,doble del tiempo de acceso a una palabra de la memoria).doble del tiempo de acceso a una palabra de la memoria).

►► p:p: probabilidad de fallo de pprobabilidad de fallo de páágina.gina.►► ttfpfp:: tiempo medio de atencitiempo medio de atencióón a un fallo de pn a un fallo de páágina.gina.►► Tiempo de acceso efectivo medio:Tiempo de acceso efectivo medio:

►► ParaPara ttacac=1=1μμs ys y ttfpfp=10ms, una degradaci=10ms, una degradacióónn

inferior al 10% requiereinferior al 10% requiere p<10p<10--55.. Un fallo de pUn fallo de páágina cada 100000 referencias.gina cada 100000 referencias.

tef =(1-p)×tac+p×(tfp+tac)

S t ft

Page 55: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 55/73

SoporteSoporte

software software 

►► En la rutina de atenciEn la rutina de atencióón al fallo de pn al fallo de pááginagina

interviene una cantidad deinterviene una cantidad de software software considerable:considerable: Reemplazo:Reemplazo: si no hay marcos libres cuando se producesi no hay marcos libres cuando se produceun fallo de pun fallo de páágina, hay que desalojar alguna de las quegina, hay que desalojar alguna de las queresiden en memoria principal.residen en memoria principal.

GestiGestióón del conjunto residente:n del conjunto residente: decidir cudecidir cuáántos marcosntos marcosse asignan a cada proceso.se asignan a cada proceso.

Control de carga:Control de carga: decidir cudecidir cuáántos procesos se puedenntos procesos se pueden

mantener en memoria simultmantener en memoria simultááneamente.neamente.

Page 56: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 56/73

ReemplazoReemplazo

R lR l

Page 57: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 57/73

ReemplazoReemplazo

►► Se trata de seleccionar unaSe trata de seleccionar una ppáágina vgina ví í ctimactima parapara

descargar de la memoria, de entre un conjunto dedescargar de la memoria, de entre un conjunto decandidatas.candidatas. Pueden ser pPueden ser pááginas del mismo proceso (ginas del mismo proceso (reemplazoreemplazo

locallocal) o de cualquiera () o de cualquiera (reemplazo globalreemplazo global).).

►► Los distintos algoritmos se evalLos distintos algoritmos se evalúúan sobrean sobre cadenascadenasde referenciasde referencias, fijando el n, fijando el núúmero de marcosmero de marcosdisponibles.disponibles. Intuitivamente, a mayor nIntuitivamente, a mayor núúmero de marcos, menormero de marcos, menor

nnúúmero de fallos de pmero de fallos de páágina.gina.

Al it FIFOAlgoritmo FIFO

Page 58: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 58/73

 Algoritmo FIFO Algoritmo FIFO

►► FIFOFIFO ( ( First First In,In, First First Out) Out) :: se reemplaza la pse reemplaza la páágina que llevagina que llevammáás tiempo en memoria.s tiempo en memoria. Ejemplo:Ejemplo: con 3 marcos disponibles,con 3 marcos disponibles, la cadena de referenciasla cadena de referencias

(5,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,5,0,1) produce 15 fallos de(5,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,5,0,1) produce 15 fallos deppáágina.gina.

122222333330001111--M2

0011111222223330000-M1

55500000004442222555M010510212303240302105

Algo itmo FIFOAlgoritmo FIFO

Page 59: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 59/73

 Algoritmo FIFO Algoritmo FIFO

►► Ventaja: Ventaja: muy f muy f áácil de implementar.cil de implementar.

►►Inconvenientes:Inconvenientes: El instante de cargaEl instante de carga no es una medida de usono es una medida de uso::

la pla páágina sacrificada podrgina sacrificada podrí í a volver a necesitarsea volver a necesitarse

pronto.pronto. Anomal Anomalí í a dea de BeladyBelady:: existen cadenas deexisten cadenas de

referencias tales que conreferencias tales que con mm marcos se producenmarcos se producen

menos fallos de pmenos fallos de páágina que congina que con m+1m+1..

La anomalLa anomalíía dea de BeladyBelady

Page 60: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 60/73

La anomalLa anomalí í a dea de BeladyBelady

►► Con 3 marcos, la cadenaCon 3 marcos, la cadena(1,2,3,4,1,2,5,1,2,3,4,5)(1,2,3,4,1,2,5,1,2,3,4,5)

produce 9 fallos de pproduce 9 fallos de páágina.gina.►► Con 4 marcos, en cambio,Con 4 marcos, en cambio,

produce 10.produce 10.

►► Los algoritmos que noLos algoritmos que noexhiben esteexhiben estecomportamiento secomportamiento sedenominandenominan algoritmos dealgoritmos depilapila..

4422222113--M2

33311111222-M1555555444111M0

543215214321

2222333333--M2333444444---M3

51111222222-M1

445555111111M0

543215214321

AlgoritmoAlgoritmo óóptimoptimo

Page 61: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 61/73

 Algoritmo Algoritmo óóptimoptimo

►► Idealmente, se deberIdealmente, se deberí í a reemplazar la pa reemplazar la páágina que tardargina que tardaráámmáás tiempo ens tiempo en referenciarsereferenciarse.. El objetivo esEl objetivo es retardar el fallo de pretardar el fallo de pááginagina todo cuanto sea posible.todo cuanto sea posible. En el mismo ejemplo de antes se producen 9 fallos de pEn el mismo ejemplo de antes se producen 9 fallos de páágina.gina.

111111133333333111--M2

0000000000444000000-M1

55522222222222222555M0

10510212303240302105

AlgoritmoAlgoritmo óóptimoptimo

Page 62: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 62/73

 Algoritmo Algoritmo óóptimoptimo

►► El algoritmoEl algoritmo óóptimo garantizaptimo garantiza la tasa de fallos dela tasa de fallos de

ppáágina mgina m

áás baja posibles baja posible

para un npara un n

úúmero demero de

marcos dado.marcos dado.►► Sin embargo, esSin embargo, es dif dif í í cilmentecilmente implementableimplementable,,

porque requiere conocer cadenas de referenciasporque requiere conocer cadenas de referenciasfuturas.futuras.►► Se utiliza comoSe utiliza como patrpatróónn para la evaluacipara la evaluacióón de otrosn de otros

algoritmos.algoritmos.

Algoritmo LRUAlgoritmo LRU

Page 63: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 63/73

 Algoritmo LRU Algoritmo LRU

►► LRULRU (Least Recently Used) (Least Recently Used) :: se reemplaza la pse reemplaza la páágina quegina quelleva mlleva máás tiempo sin referenciarse.s tiempo sin referenciarse. Por el principio de cercanPor el principio de cercaní í as, se toma el pasado reciente como unaas, se toma el pasado reciente como una

aproximaciaproximacióónn del futuro inmediato.del futuro inmediato. En el ejemplo se producen 12 fallos de pEn el ejemplo se producen 12 fallos de páágina.gina.

555222222222333111--M2

0000033333300000000-M1

11111110004442222555M010510212303240302105

Algoritmo LRUAlgoritmo LRU

Page 64: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 64/73

 Algoritmo LRU Algoritmo LRU

►► LRU es un algoritmo de pila, que suele dar unaLRU es un algoritmo de pila, que suele dar unabuena aproximacibuena aproximacióónn del algoritmodel algoritmo óóptimo.ptimo.

►► Inconveniente: implementaciones costosas.Inconveniente: implementaciones costosas. ContadorContador de referencias a pde referencias a páágina:gina:

►►En cada referencia, el valor del contador se copia en la entradaEn cada referencia, el valor del contador se copia en la entradacorrespondiente de la tabla de pcorrespondiente de la tabla de pááginas.ginas.

►►Se reemplaza siempre la pSe reemplaza siempre la páágina cuya entrada en la tabla tienegina cuya entrada en la tabla tieneel valor mel valor máás peques pequeñño.o.►►El desbordamiento provoca transitorios de rendimiento muyEl desbordamiento provoca transitorios de rendimiento muy

pobrepobre aumentar el naumentar el núúmero de bits del contador.mero de bits del contador. PilaPila de referencias:de referencias:

►►En cada referencia se extrae la pEn cada referencia se extrae la páágina correspondiente de lagina correspondiente de lapila y se pone en la cima.pila y se pone en la cima.

►►Se reemplaza siempre la pSe reemplaza siempre la páágina que estgina que estáá en la base de la pila.en la base de la pila.

Algoritmo de la 2Algoritmo de la 2ªª oportunidadoportunidad

Page 65: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 65/73

 Algoritmo de la 2 Algoritmo de la 2ªª oportunidadoportunidad

►► Aproximaci Aproximacióón de LRU por medio de 1 solon de LRU por medio de 1 solo bitbit.. Cada vez que se referencia una pCada vez que se referencia una páágina, se pone R=1 engina, se pone R=1 en

la entrada correspondiente de la tabla de pla entrada correspondiente de la tabla de pááginas.ginas.►► 22ªª oportunidad = FIFO +oportunidad = FIFO + bitbit R.R.

 Al recorrer la cola, se examina el Al recorrer la cola, se examina el bitbit R:R:►►SiSi R=0R=0, se reemplaza la p, se reemplaza la páágina.gina.►►SiSi R=1R=1, se pone R=0 y se pasa la p, se pone R=0 y se pasa la páágina al final de la cola.gina al final de la cola.

►► Si R=1 en todas las pSi R=1 en todas las pááginas, el algoritmo de la 2ginas, el algoritmo de la 2ªª

oportunidad degenera en FIFO.oportunidad degenera en FIFO.  A Aúún asn así í , el rendimiento suele ser considerablemente, el rendimiento suele ser considerablemente

mejor.mejor.

DirtyDirty bitbit

Page 66: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 66/73

Dirty Dirty bit bit 

►► Se puede aSe puede aññadir unadir un bitbit MM ( ( dirty dirty bit bit  )  ) , que se activa cuando, que se activa cuandose modifica el contenido de la pse modifica el contenido de la páágina correspondiente.gina correspondiente. Para valores iguales delPara valores iguales del bitbit R, es mejor sacrificar una pR, es mejor sacrificar una páágina congina conM=0 porqueM=0 porque no hay que escribirla en discono hay que escribirla en disco..

►►  Algoritmo de la 2 Algoritmo de la 2ªª oportunidad mejorado:oportunidad mejorado:1.1. Con FIFO como base, se selecciona para reemplazo la primeraCon FIFO como base, se selecciona para reemplazo la primera

ppáágina que tenga R=0 y M=0.gina que tenga R=0 y M=0.2.2. Si no existe tal pSi no existe tal páágina, se busca la primera pgina, se busca la primera páágina con R=0 ygina con R=0 yM=1.M=1.•• Durante la bDurante la búúsqueda, se pone R=0 en todas las entradas que sesqueda, se pone R=0 en todas las entradas que se

recorren y se envrecorren y se enví í an al final de la cola.an al final de la cola.

3.3. Si aSi aúún no se ha encontrado vn no se ha encontrado ví í ctima, se repiten los pasos 1 y 2.ctima, se repiten los pasos 1 y 2.

Page 67: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 67/73

GestiGestióón del conjunton del conjuntoresidente y control de cargaresidente y control de carga

GestiGestióón del conjunto residente yn del conjunto residente y

Page 68: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 68/73

control de cargacontrol de carga►► ¿¿CuCuáántos marcos asignar a un proceso?ntos marcos asignar a un proceso?

ElEl mmí í nimonimo lo determina el repertorio de instrucciones.lo determina el repertorio de instrucciones.►►E.gE.g. ADD /DIR1,/DIR2,/DIR3 puede necesitar 4 marcos:. ADD /DIR1,/DIR2,/DIR3 puede necesitar 4 marcos:1 para la propia instrucci1 para la propia instruccióón, 1 para cada sumando y 1 para eln, 1 para cada sumando y 1 para el

resultado.resultado. ElEl mmááximoximo lo fija el tamalo fija el tamañño de la memoria principal.o de la memoria principal.

PolPolí í ticas de asignaciticas de asignacióón:n:►►Fija:Fija: la asignacila asignacióón se decide en el momento de la carga.n se decide en el momento de la carga. Requiere reemplazo local.Requiere reemplazo local.

►► Variable: Variable: la asignacila asignacióón se decide dinn se decide dináámicamente.micamente. Reemplazo local o global.Reemplazo local o global.

►► ¿¿CuCuáántos procesos mantener simultntos procesos mantener simultááneamente enneamente enmemoria?memoria?

HiperpaginaciHiperpaginacióónn ((thrashingthrashing))

Page 69: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 69/73

HiperpaginaciHiperpaginacióónn ( ( thrashing thrashing  )  ) 

►► Si un proceso no dispone de marcos suficientes para su localidadSi un proceso no dispone de marcos suficientes para su localidad, pasa, pasammáás tiempo en fallo de ps tiempo en fallo de páágina que ejecutgina que ejecutáándosendose hiperpaginacihiperpaginacióónn..

►►

ConCon asignaciasignacióón fijan fija, la, la hiperpaginacihiperpaginacióónn afecta aafecta a procesos aisladosprocesos aislados..►► ConCon asignaciasignacióón variable y reemplazo globaln variable y reemplazo global, se produce, se produce a nivel dea nivel desistemasistema cuando la suma de las localidades de todos los procesos nocuando la suma de las localidades de todos los procesos nocabe en la memoria.cabe en la memoria. En ese caso, la utilizaciEn ese caso, la utilizacióón de la CPU cae drn de la CPU cae dráásticamente.sticamente.

Hay que suspender procesos, descargando su conjunto residente.Hay que suspender procesos, descargando su conjunto residente.

hiperpaginación

Grado de multiprogramación

   U   t   i   l   i  z  a  c

   i   ó  n

   d  e

   l  a

   C   P   U

Modelo del conjunto de trabajoModelo del conjunto de trabajo

Page 70: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 70/73

Modelo del conjunto de trabajoModelo del conjunto de trabajo

►► Se define elSe define el conjunto de trabajoconjunto de trabajo ( ( working working set, WS) set, WS) de un proceso como el conjunto de pde un proceso como el conjunto de pááginas en susginas en susúúltimasltimas ΔΔ referencias a memoria.referencias a memoria.

WS unaWS una aproximaciaproximacióón de la localidadn de la localidad del proceso.del proceso. Se puedeSe puede aproximaraproximar con interrupciones pericon interrupciones perióódicas, adicas, a

partir de los bits R de la tabla de ppartir de los bits R de la tabla de pááginas.ginas.

WS={0,1,2,3,4}

556655111661532343102

Δ Δ

WS={5,6}

Modelo del conjunto de trabajoModelo del conjunto de trabajo

Page 71: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 71/73

Modelo del conjunto de trabajoModelo del conjunto de trabajo

►► GestiGestióón del conjunto residenten del conjunto residente:: Supervisar el conjunto de trabajo de cada proceso ySupervisar el conjunto de trabajo de cada proceso y

asignar un nasignar un núúmero suficiente de marcos.mero suficiente de marcos. Descargar las pDescargar las pááginas que dejen de pertenecer alginas que dejen de pertenecer al

conjunto de trabajo.conjunto de trabajo.

►► Control de cargaControl de carga:: Si la demanda total de marcos (Si la demanda total de marcos (ΣΣ WSWSii) supera el) supera el

nnúúmero de marcos de la memoria, se suspendenmero de marcos de la memoria, se suspenden

procesos.procesos. En caso contrario, se pueden cargar procesos nuevos.En caso contrario, se pueden cargar procesos nuevos.

Frecuencia de fallos de pFrecuencia de fallos de pááginagina

Page 72: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 72/73

Frecuencia de fallos de pFrecuencia de fallos de pááginagina

►► SoluciSolucióón mn máás directas directa a laa la hiperpaginacihiperpaginacióónn..►► En vez de supervisar el conjunto de trabajo, seEn vez de supervisar el conjunto de trabajo, se

observa laobserva la frecuencia de fallos de pfrecuencia de fallos de pááginagina (FFP)(FFP)de cada proceso.de cada proceso.

►► GestiGestióón del conjunto residenten del conjunto residente:: Si la FFP excede un umbral superior, se asignan mSi la FFP excede un umbral superior, se asignan mááss

marcos al proceso.marcos al proceso. Si la FFP se reduce por debajo de un umbral inferior, seSi la FFP se reduce por debajo de un umbral inferior, se

le quitan marcos al proceso.le quitan marcos al proceso.►► Control de carga:Control de carga: í í dem, sdem, sóólo que a partir de la FFPlo que a partir de la FFP

global.global.

Page 73: Gestion de Memoria

5/16/2018 Gestion de Memoria - slidepdf.com

http://slidepdf.com/reader/full/gestion-de-memoria-55ab50aab344f 73/73

FinFin