Sistemas Operacionais I Memória ?· Memória dividida em unidades de alocação ... memória Alocação…

Embed Size (px)

Text of Sistemas Operacionais I Memória ?· Memória dividida em unidades de alocação ... memória...

May6,2008 1AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

SistemasOperacionaisIMemriaVirtual

AntnioAugustoFrhlichGeovaniRicardoWiedenhoft

grw@lisha.ufsc.brhttp://www.lisha.ufsc.br/~grw

May6,2008

May6,2008 2AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

Motivao Limitaodoespaofsico

Programasaumentam+doqueoespaofsico

Armazenartodosespaoslgicosdeumprogramaemespaosfsicos

Armazenartodososprogramasemespaosfsicos

:(

May6,2008 3AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

Motivao TcnicaSimplessemtrocas/paginao

Monoprogramao1programa/vez

May6,2008 4AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

Motivao

May6,2008 5AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

Motivao TcnicaSimplessemtrocas/paginao

Monoprogramao1programa/vez

Multiprogramaopartiesfixasnamemria

May6,2008 6AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

Motivao

May6,2008 7AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

Motivao Problemas:

Programalimitadopelotamanhodoespaofsico Desperdciodememriamantercdigoutilizado

(Rotinasdetratamentodeerro) Programasficamnamemriaatotrminoprejudica

programasqueestoativosenecessitamexecutar

Economiadememriacasooprogramautilizeapenasamemrianecessria

May6,2008 8AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

Swapping Algoritmo:

CarregarcadaprocessointeiroSwapin

Executartemporariamente

DevolveroprocessoparaodiscoSwapout

May6,2008 9AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

Swapping

May6,2008 10AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

Swapping Tamanhosenmerosdapartiesdamemria

variamdinamicamente

Otimizaautilizaodamemria

Problemas: LacunasentrealocaesCompactaodememria Tamanhodememriaquedeveseralocado?

MoverprocessoparaoutraespaofsicoTrocarprocessosparaodiscoAlocarumespaoextra

May6,2008 11AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

Swapping

May6,2008 12AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

SwappingGerenc.deMemriaMapasdeBits Memriadivididaemunidadesdealocao Tamanhodaunidade MenorunidadeMaiormapadebits Maiorunidadepodedesperdiarmemria 0Livre|1Ocupado Problema:

Desempenhonabuscadeumespaolivrenomapa(0sconsecutivos)

Processolentoapesardeserumatcnicasimples

May6,2008 13AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

SwappingGerenc.deMemriaListasEncadeadas Listadesegmentosalocadoselivres Segmento

processo(P)oulacuna(H), endereodeincio, comprimentoe ponteiroparaprximaentrada

Listaordenadapelosendereos Processosliberadoslacunasvizinhaspodem

seragrupadas Algoritmosdelocalizao

May6,2008 14AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

SwappingGerenc.deMemriaListasEncadeadas Algoritmosdelocalizao1listaordenadapor

endereo Primeiroajuste

Rpido,pesquisaomnimopossvel Prximoajuste

Pesquisacomeadopontoemqueparoudaltimapesquisa Melhorajuste

Pesquisaamenorlacunanecessria,paradividirlacunasMaislentoTendeaagerarlacunasminsculaseinteis

PiorajustePegaamaiorlacunadisponvel

May6,2008 15AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

SwappingGerenc.deMemriaListasEncadeadas Algoritmosdelocalizaolistasseparadas

(processoselacunas)ordenadaportamanho Otimizaonaalocao Melhorajustesemelhanteaprimeiroajuste Prximoajustesemsentidol Ajusterpido

Possuilistasseparadasparaalgunstamanhoscomuns

Problema:VerificarselacunasvizinhaspodemseragrupadasextremamentelentoCasoocorramosagrupamentosamemriarapidamenteestarfragmentadaemlacunaspequenas

May6,2008 16AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

SwappingGerenc.deMemria

May6,2008 17AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

MemriaVirtual Execuodeumprocessosemqueeleesteja

completamentenamemria Permitealocar+memriadoqueotamanhoda

memriafsica Manteremmemriaapenasos

segmentos/pginasnecessrios USER:Memriacontnuaeinacabvel SO+Hardware:Mapeamentodoendereovirtual

paraoendereofsico

May6,2008 18AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

MemriaVirtual

May6,2008 19AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

MemriaVirtualVantagens Aumentaograudemultiprogramao AumentaautilizaodaCPU ReduzosobrecustodeSwapoperaesdeE/S Capacidadedeexecutarprogramasmaioresque

acapacidadedisponveldamemria Semdesperdciodememria

May6,2008 20AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

MemriaVirtualImplementao Hardwaredevesuportarpaginaoe/ou

segmentao SOdevecontrolarofluxodepginas/segmentos

entreamemriasecundriaeaprincipal Necessidadedegerenciar

reaslivreseocupadas Mapeamentoentreamemriavirtualefsica Buscadepginas/segmentosfaltantes Substituiodepginas/segmentos

Partiodeswap readestinadaaarmazenarpginas/segmentos Organizadodiferentedosist.dearq.otimizaracesso

May6,2008 21AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

MemriaVirtual Buscadepginasfaltantes

Paginaopordemanda

PaginaoantecipadaSistematentaprevautilizaodapginaefazumabusca

antecipadaantesdelaserreferenciadaPrincpiodalocalidadeprobabilidadequeacessosa

instrueseadadossejamlimitadosaumtrechoEx:Execuodainstruoi+1segueaexec.dainstr.iEx:Laosfor,while,dowhileAcessosaelementosdevetores

May6,2008 22AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

PaginaoporDemanda Formamaiscomumdeimplementaode

memriavirtual

SimilarapaginaocomSwapping Invsdeserrealizadooswapineswapoutdeum

processo,serealizaoswapineswapoutdeumapgina(pagein/out)

Carregaumapginaparaamemriasomentequandoelanecessria(pginareferenciada)

May6,2008 23AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

PaginaoporDemanda Umarefernciaestsempreassociadaauma

pgina Pginapresentenamemria Nopresentenamemria(pagefault)

Necessitaconhecimentodequaispginasestonamemriaprincipalequaisestonodisco Bitvlido/invlidoassociadoacadaentradanatabela

depginas MMUgeraumaexceo(pagefault)sempreque

umapginaausenteacessada

May6,2008 24AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

PaginaoporDemanda ReduzoperaesdeE/S

Carregaapenasa(s)pgina(s)necessria(s)

Reduzaquantidadedememriaporprocesso

Aumentaograudemultiprogramao

May6,2008 25AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

PaginaoporDemanda

May6,2008 26AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

DesempenhodaPaginaoporDemanda Frmula:

ptaxadefaltadepginas

EX:tempodeacesso=100nstempopage_fault=25ms=25.000.000nsp=1/1000te=(1p).100+p.25000000te=100+24999900.pte=25us(250.t_acesso)

tefetivo=1pt acessopt pagefault

May6,2008 27AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

DesempenhodaPaginaoporDemanda Exemplo:

Objetivodeaumetarnomximoem10%otempodeacesso

110=100+p.2500000010=25000000.pp=0.0000004

1pagefaultacada250000acessos Melhorarodesempenho

Diminuirataxadefaltadepginas Acelerarprocedimentosdeleituradedisco

Procedimentodeswap

May6,2008 28AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

PolticadeCargadePginas Carregaumapginaparaumamoldura 2situaes

Molduralivre:carregapginanamoldura Noexistemolduralivre:

Liberaespaotransferepginadamemriaparaodisco(readeswap)pageout

Polticadesubstituioparaseleodapginavtima Otimizaes:

Carregarmaisdeumapginaparaamemria Nemtodapginanecessitapageout

PginasnomodificadasPginasreadonlycdigo

May6,2008 29AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

PolticadeLocalizao Localizanamemriarealaspginasdeum

processo

Hardwaredepaginao/segmentaodoprocessadorMMU TransparentesobopontodevistadoSO

May6,2008 30AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

PolticadeSubstituiodePginasnaMemria Possibilidadedetodasasmoldurasdamemria

fiscaestaremocupadas Utilizadoparaliberarumamolduraatendera

faltadepgina Reponsvelpelaescolhadeumapginavtima

Determinarapginamenosnecessria AlgoritmotimoPginaquevaidemorarmais

paraseracessada Algoritmos

Firstcomefirstserved(FCFS) LeastRecentlyUsed(LRU) Baseadoemcontadores

May6,2008 31AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

BitsAuxiliares Auxiliarosmecanismosdesubstituiode

pginas Bitdesujeira(dirtybit)

Modificadaounoduranteaexecuodoprocesso Pginasnoalteradasnonecessitamdepagaout

Bitdereferncia(referencebit) Pginaacessadadentrodeumintervalodetempo

Bitdetranca(lockbit) Bloqueiapginaparanoserselecionadacomo

vtima

May6,2008 32AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

PolticadeSubstituiodePginasnaMemria Todasasmoldurasdamemriaocupadas Liberarespaoatenderafaltadepgina Reponsvelpelaescolhadeumapginavtima

Determinarapginamenosnecessria Critriosdosalgoritmos

Minimizarfalhasdepginas MinimizarE/S

Ex:Algoritmotimo Firstcomefirstserved(FCFS) LeastRecentlyUsed(LRU) Baseadoemcontadores

May6,2008 33AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

BitsAuxiliares Bitdesujeira(dirtybit)

Modificadaounoduranteaexecuodoprocesso Pginasnoalteradasnonecessitamdepagaout

Bitdereferncia(referencebit) Pginaacessadadentrodeumintervalodetempo

Bitdetranca(lockbit) Bloqueiapginaparanoserselecionadacomo

vtima

May6,2008 34AntnioAugustoFrhlich(http://www.lisha.ufsc.br)

Algoritmotimo Pginaquevaidemorarmaisparaseracessada Nmerodeinstruesexecutadasantesda

pginaserreferenciada Adiarafalhadepgina Noimplementvel

Necessitaconhecimentodofuturo Atravsdesimulao

Objetivo:avaliaralgoritmos

May6,2008 35