• No results found

Chapter 1 Introduction and Overview of the Research 1

1.7. Thesis Structure 30

miento en Demanda

Cuandolamemoriarealdeun omputadorseha ein-

su iente,elnu leodelsistemaoperativopuedeemu-

lar una memoria de mayor tama~no que la memoria

real, ha iendo que partede los pro esosse manten-

ganendis o. Aestetipodememoriaseledenomina

memoria virtual, pues es una memoria inexistente,

peroque para ualquierpro eso esindistinguiblede

lamemoriareal.

El me anismoque implementa lamemoriavirtual

sedenominapaginamientoendemanday onsisteen

un pro eso que tienen po a probabilidad de ser re-

feren iadas enel futuro er ano. Un pro eso puede

ontinuar orriendo onpartedesuspaginasendis o,

pero onla ondi iondenoa esaresaspaginas.

Larealiza iondeunsistemadememoriavirtualse

ha e posible gra ias al prin ipio de lo alidad de las

referen ias: un pro esotiende a on entrar el 90%

de sus a esos a la memoria en solo el 10% de sus

paginas. Sin embargo, para que un pro eso pueda

a esaruna palabra, esne esario que la pagina que

ontieneesa palabradeba estar ompletamenteresi-

denteenmemoria. Aunas,empri amenteseobserva

queunpro esopuedepasarperodosprolongadosen

losquea esasoloentreun20al50%desuspaginas.

Elrestodelaspaginaspuedellevarseadis omientras

nosonusadas.

Page-fault

Laspaginasresidentes en dis o se mar an en la ta-

bla de paginas del pro eso on el bit V en ero, de

modoquesielpro esolasreferen iaseprodu euna

interrup ion. Esta interrup ion se denomina page-

fault. Enla rutina de aten ion de un page-fault, el

nu leo debe argaren memoriala pagina que auso

elpage-fault,porloqueelpro esoquedasuspendido

mientras serealiza lale tura del dis o. Cuando es-

taopera ion on luye,elpro esoseretomaenforma

transparentesinqueper ibalaausen iatemporalde

esapagina.

La dura ion de la suspension del pro eso es del

ordendeltiempodea esodeldis o,esde irentre8

a20milisegundos.

5.3.1 Estrategias de reemplazo de

paginas

Todaladi ultaddelpaginamientoendemandaesta

ende idirquepaginas onvienellevaradis o uando

lamemoriaseha e es asa. Laideaesquelapagina

queselleveadis odebe ausarunpage-faultlo mas

tardeposible. Porlotantosepuedededu irqueelsis-

temadepaginamientoidealdebellevaradis oaque-

llapaginaquenoserausadaporelperododetiempo

maslargoposible.

Desde luego, en terminos pra ti os el nu leo no

puede prede ir por uanto tiempo una pagina per-

mane erasinserreferen iada,porloqueesne esario

re urriraestrategiasqueseaproximenal asoideal.

Estas estrategias se denominan estrategias de reem-

plazode paginas.

nentede odigodelnu leoqueseen argadeestala-

borpodramosde nirlo omoels hedulerdepaginas.

Antes deestudiarestasestrategias examinemosel

impa toquetieneunatasaelevadadepage-faultsen

eldesempe~nodeunpro eso. Paraha eresteanalisis

onsideremoslossiguientesparametros.

Parametro Signi ado Valoraproximado

t

M

Tiempodea esoa 60nanosegundos

lamemoriareal

t

P

Tiempodele tura 12milisegundos

deuna pagina

r Tasadepage-faults

Enton esel tiempo promediode a esoauna pa-

labraenmemoriaes: t e =(1 r)t M +rt P

Si latasade page-faultses1page-fault ada 1000

a esos, el tiempo promedio por a eso es t

e = 12

mi rosegundos, es de ir 200 ve es mas lento que el

tiempodea esodeuna palabraresidente enlame-

moria. Esta diferen ia abismante se debe a que el

tiempo de arga de una pagina es 200 mil ve es el

tiempodea esoaunapalabraenmemoriareal.

Por supuesto no es razonable que en un sistema

on memoriavirtual una apli a ion orra 200ve es

maslentoque uando orreenunsistemasin memo-

riavirtual. Para quela penaliza ion de lamemoria

virtualnoex edamasdel 10%del tiempode a eso

deunapalabraesne esarioque:

r< 1

2;000;000

Esde iralomasunpage-faultpor ada2millones

dea esosalamemoria.

A ontinua ion des ribiremos y evaluaremos las

distintas estrategias. Veremos que estas estrategias

presentanproblemasyaseadeimplementa ionotam-

biendedesempe~no.

5.3.2 La estrategia ideal

Consisteenllevaradis oaquellapaginaquenosera

usadaporelperodode tiempomas largo. Estaes-

trategiaesoptima,perodesdeluego,nosepuedeim-

plementar. Solosirvepara omparar ifras.

Latabla5.1muestraelfun ionamiento deestaes-

trategiaante una traza dea esos amemoria. Esta

traza esuna listaordenada onlosa esosqueha e

unpro esoasuspaginasvirtuales. Latablamuestra

por ada a esoalamemoria uales sonlaspaginas

virtuales que se en uentranen la memoria real. Se

observaque onestaestrategiao urren9page-faults

5.3.3 La estrategia FIFO

Entre laspaginas virtuales residentes, seelige omo

lapaginaareemplazarlaprimeraquefue argadaen

memoria.

Enlatabla5.2seobservaelfun ionamientodees-

taestrategia. Entotalo urren 15page-faults. Aun

uandoesta estrategiaes trivial de implementar, la

tasa de page-faults es altsima, por lo que ningun

sistemalautilizaparaimplementar paginamientoen

demanda 1

.

5.3.4 La estrategia LRU

LRUsigni aLeast-Re ently-Used. Laestrategia on-

sisteen llevaradis olapaginaquehapermane ido

pormastiemposin sera esada. Elfundamento de

estaestrategiaesqueestadsti amenteseobservaque

mientras mas tiempo permane e una pagina sin ser

a esada,menosprobableesquesea eseenelfuturo

inmediato.

Enlatabla5.3seobservaelfun ionamientodeesta

estrategia. Entotalo urren12page-faults. Si bien,

esposibleimplementarestaestrategia,serane esario

ono erenqueinstantefuea esada adapagina. Se

podramodi arel Hardwarepara que oloqueesta

informa ion en la tabla de paginas en ada a eso,

pero en la pra ti a ningunpro esadorlo ha e. Por

lodemas,siestainforma ionestuviesedisponible,de

todasformas,habraquere orrertodaslapaginasen

adapage-fault, loqueserademasiado aro.

5.3.5 La estrategia del reloj

Estaestrategiaesunaaproxima iondeLRU.Elfun-

damento es que no esne esario es oger exa tamen-

te la pagina LRU, sino que es su iente elegir una

paginaquellevahartotiemposinsera esada.

La estrategia usa el bit R de la tabla de pagina

y que el hardware olo a en 1 uando la pagina es

a esada. El s heduler de paginas olo a en 0 este

bity lo onsulta uandoestimaque hatrans urrido

eltiemposu iente omoparaqueaquellapaginasea

reemplazadasinohasidoa esada,esde irsielbitR

ontinuaen0.

Laestrategiadelrelojordenalaspaginasreales ir-

ularmente omosifueranlosminutosdeunreloj(ver

gura5.13). Unpunterose~nalaen adainstanteuna

delaspaginas. Ini ialmentetodaslaspaginasparten

onRen 0. Luegode iertotiempoalgunaspaginas

hansidoa esadasyporlotanto subitRpasaa1.

1

7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1

a 7 7 7 2 2 2 2 2

b 0 0 0 0 0 0 4 ...

1 1 1 3 3 3

Tabla5.1: Reemplazodepaginasparalaestrategiaideal

7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1

a 7 7 7 2 2 2 2 2

b 0 0 0 0 3 3 3 ...

1 1 1 1 1 4

Tabla5.2: ReemplazodepaginasparalaestrategiaFIFO

Paginas reales

Puntero a la proxima

pagina a revisar

Figura 5.13: Ordenamiento de las paginas en la es-

trategiadelreloj.

Cuandoo urreunpage-faultseeje utaelsiguiente

pro edimiento:

i. MientraselbitRdelapaginaapuntadasea1:

(a) Colo arelbitRen0.

(b) Avanzarelpunteroenunapagina.

ii. Lapagina apuntada tienesubit R en0. Elegir

esapaginaparaserreemplazada,esde irqueesa

paginavirtualsellevaadis o,loqueliberauna

pagina real. Esapaginareal seusapara argar

lapaginaque ausoelpage-fault.

iii. Avanzarelpunteroenunapagina 2

.

Laideaesquelapaginaelegidapara serreempla-

zada no ha sido a esada por una vuelta ompleta

delreloj. Laestrategia onsideraqueestetiempoes

su iente omo para suponer que la pagina no sera

a esadaenelfuturo inmediato.

Eltiempoquedemoraelpunteroendarunavuelta

depende de la tasa de page-faults. Mientras mayor

2

Estainstru ionnoesne esariaparaquelaestrategiafun-

ione. Supresen iasigni aqueunapaginaquea abadeser

argadadedis o,solopuedevolveraserllevadaadis odespues

seaestatasa, menorseraeltiempoendar lavuelta

yporlotanto el s heduler reemplazarapaginasque

llevanmenostiemposinsera esadas. Al ontrario,

si la lo alidad de los a esos a memoria es buena,

latasa de page-faults serabaja y el tiempo de una

revolu iondel punteroaumentara. Estoquierede ir

queel s heduler tendraque reemplazarpaginasque

llevanmastiemposin sera esadas.

Una situa ion anomala se produ e uando todas

laspaginastienenelbitRen1yporlotantoelpun-

teroavanza unavuelta ompleta antes de en ontrar

elprimerbit Ren0. Estoo urre uandotrans urre

mu ho tiempo sin que o urran page-faults y todas

laspaginasal anzanasera esadas. Estonoesreal-

menteunproblema,puesto queo urre pre isamente

uandolatasadepage-faultsesmuybaja. Unamala

de isionen uantoalapaginareemplazada, ausara

unimpa tomnimoeneldesempe~nodelpro eso.

Esta estrategia es fa il de implementar e iente-

mente on el hardware disponible y fun iona muy

bien on un solo pro eso. En aso de varios pro-

esos, la estrategia se omporta razonablemente en

ondi ionesde argamoderada,peroveremosquese

omportadesastrosamente uandola argaesalta.

Trashing

El problema de la estrategia del reloj es que puede

provo arel fenomeno detrashing. Estefenomenose

ara teriza por una tasa elevadsima de page-faults

queha equeningunpro esopuedaavanzar. Dehe-

ho,laCPUpasamasdel 90%deltiempoenespera

deopera ionesdele turaoes rituradepaginasenel

dis odepaginamiento.

Unavezqueunsistema aeenelfenomenodetras-

7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1

a 7 7 7 2 2 2 2 4

b 0 0 0 0 0 0 0 ...

1 1 1 3 3 3

Tabla5.3: ReemplazodepaginasparalaestrategiaLRU

to podra realizarse on mu ha di ultad porque in-

lusolospro esosdeloperadoravanzaran\apasode

tortuga".

Laexpli a iondeeste fenomeno estaenla ombi-

na iondelaestrategiadelreloj onuns hedulingde

pro esosdeltipoRound-Robin. Laspaginasdelpro-

esoqueseretomahanpermane idolargotiemposin

sera esadasyporlotantoesmuy probableque el

s hedulerdepaginaslashayallevado adis o. Porlo

tanto, uandounpro esore ibeunatajadadetiem-

po,al anzaaavanzarmuypo oantes dequeo urra

unpage-fault.

El fenomeno de trashing se produ e exa tamente

uandoelpunterodels hedulerdepaginas omienza

adar vueltas mas rapidasque lasvueltas que da el

punterodels hedulerRound-Robindelospro esos.

5.3.6 La estrategia del Working-Set

Estaestrategiaeliminaelproblemadeltrashing om-

binandopaginamientoendemanda onswapping. La

idea es mantener para ada pro eso un mnimo de

paginas que garanti e que pueda orrer razonable-

mente,esde ir onunatasadepage-faultsbaja. Este

mnimodepaginassedenominaworking-set.

Si els hedulerde paginasnodispone dememoria

su iente omo para tener argados los working-set

de todos los pro esos, enton es se omuni a on el

s hedulerdemedianoplazoparaqueestehagaswap-

pingdepro esos. Esde irsellevanpro esos omple-

tosadis o.

El working-set

Sede neWS

P

(t) omoel onjuntodepaginasvir-

tuales del pro esoP que han sido a esadas en los



ultimos t segundos de tiempo virtual del pro eso

P.

Laestrategiadelworking-set al ulapara unpro-

esoP el valorWS

P

(t) adavezqueel pro esoP

ompletatsegundosdeusodelaCPU.Este al ulo

serealizadelasiguienteforma:

Se onsultaelbit Rde adapaginaq residenteen

 Si el bit R de q esta en 1, la pagina esta en el

working-setyse olo aelbiten0.

 Sino, la pagina no ha sido a esada desde ha-

e t segundosy porlo tanto no pertene e al

working-setde P. La pagina se agrega al on-

juntoC queagrupalaspaginas andidatasaser

reemplazadas,detodoslopro esos.

Cuandoo urreunpage-faultseeje uta:

i. MientrasCnoesteva o:

(a) Sea qunapaginaenC.

(b) ExtraerqdeC.

( ) SielbitRdeqestaen0,seretornaq omo

lapaginaelegidaparaserreemplazada.

(d) Si el bit R estaen 1, quierede ir que esa

pagina fuea esadaapesardenoestaren

elworking-setdeunpro eso,porloquese

des artayse ontnualabusqueda onotra

pagina.

ii. El onjuntoCestava oporloquehayqueha er

swapping.

Observequeen estaestrategiasi unapaginapasa

al onjuntoC,eltiempotrans urridodesdesuultimo

a esoesta omprendidoentrety2t.

Ademas para que un pro eso tenga la oportuni-

dadde orrere ientemente sedebe umplir quesu

working-setseainferioraltama~nodelamemoriareal.

A ontinua ionveremosqueestaestrategiasepue-

deoptimizar dediversasformas.

Transferen ia de paginas a dis o

Cuandoo urre un page-fault la estrategiaelige una

pagina areemplazar. La pausaque se introdu e en

el pro eso que auso el page-fault es doble, porque

primeroesne esario llevar adis olapaginaelegida

yluego argardedis olapaginadelpage-fault.

Sin embargo, no es ne esario llevar a dis o las

paginas que yahayan sido llevadas una vez a dis o

Paraevitarllevarnuevamenteestaspaginasadis o

serealizalosiguiente:

i. Al traerunapaginaq dedis o,semar a onel

bitDen0. Deselbit Dirty.

ii. El hardware olo a el bit D en 1 si el pro eso

modi aesapagina.

iii. Al reemplazar q, la pagina selleva adis o solo

si su bit D esta en 1, si nola antigua opiade

q endis oeslamisma queestaa tualmenteen

memoriareal.

Estoresuelveelproblemadelaspaginasde odigo.

Sin embargo, resta un onjunto elevado de paginas

quetodavahayquellevarlasadis oantes dereem-

plazarlas. Este tiempo se puede suprimir ha iendo

que las paginas que seagregan a C (el onjunto de

paginas andidatas a ser reemplazadas) se es riban

asin roni amente endis o. Con suerte, uandopro-

du todeunpage-faultsees ojaesapaginaparaser

reemplazada,yasetendrauna opiaendis o.

Aunas, si el onjunto C espeque~noy latasade

page-faultsesalta,espo o probablequeunapagina

al an easeres ritaendis o. Porestarazonlossis-

temas operativostratan demantener en el onjunto

C un 20%de las paginas de la memoria real. Esto

garantizaquesiemprehabranpaginaslistasparaser

reemplazadassinque seane esario llevarlas primero

adis o.

Sieltama~nodeCestamuypordebajodeese20%,

enton esse omienza aha erswappingde pro esos.

Esde irsellevanpro esos ompletosadis o. Al on-

trario,sisesuperaese20%,sepueden argaraquellos

pro esosqueesteneneldis o.

Perodo entre al ulosdel working-set

Eltama~nodelworking-setdeunpro esodependede

tresfa tores:

i. Lalo alidad de losa esosque hagael pro eso

alamemoria.

Mientras mejor sea la lo alidad menor sera el

tama~no del working-set y por lo tanto menos

memoria real ne esitara el pro eso para orrer

e ientemente.

Esteesunfa torquedependeuni amentedelas

ara tersti asdelpro eso. Elsistemaoperativo

nopuede ontrolarestefa tor.

ii. Eltiempotentre al ulosdelworking-set.

Mientrasmayorseaesta ifra,mayorseralapro-

y por lo tanto mayor sera el working-set. De

he ho,eltama~nodel working-set re emonota-

mente junto ont.

Estefa torsdebeser ontroladoporels heduler

depaginasdelsistema operativo.

iii. El tama~nodelapagina.

En lapra ti a, el tama~no deuna paginaes jo

paraunaarquite turadadaynosepuedemodi -

ar(4KBenunaIntelx86). Perosifueseposible

redu irloalamitad,intuitivamentesepuedede-

du ir que eltama~nodel working-seten numero

de paginas re eraa unpo o menosdel doble.

Esto sedebe aque el pro esoa esa fre uente-

mente solounadelasmitadesdeunapagina.

Ahora si se onsidera el tama~no en bytes del

working-set( al ulado omonumerodepaginas

multipli adoporeltama~nodelapagina),ame-

nor tama~no de pagina, menores el tama~no del

working-set. Estosigni aqueelpro esone esi-

tamenosmemoriarealpara orrere ientemen-

te. Sin embargo, por otra parte, al disminuir

el tama~no de pagina aumenta el numero de las

paginasyporlotantoaumentaelsobre ostoaso-

iadoal al ulodelosworking-set,loqueresulta

negativoenterminosdedesempe~no.

Porlotantono estrivialdeterminarel tama~no