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-
borpodramosdenirlo 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
SedeneWS
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