GerenciamentodeMemriaVirtual AlgoritmosdePaginao
NortonTrevisanRoman MarceloMorandini JUeyama
TabelasdePginas
PaginaoMultiNvel
Quebreoespaodeendereolgicoem mltiplastabelasdepgina
PaginaoemDoisNveis
Aidiaevitarmanternamemriatodasas tabelasdepginaotempotodo
Apenasasnecessriasdevemestarnamemria Ex.
Suponhaqueumprogramaestejadivididoem:
PaginaoemDoisNveis
Aidiaevitarmanternamemriatodasas tabelasdepginaotempotodo
Ex.
Podemosdividiroprogramaem:
PaginaoemDoisNveis
Tabelanica:20bits 1Mentradas DuasTabelas: Principal:10bits1Kentradas Secundrias:Adhoc
Emnosso exemplo, teramos mais3 pginasde 10bits3 x1K. Otamanho total ocupado seria4K
6
PaginaoemDoisNveis
Endereamento:
Umendereolgico(emmquinasde32bits) divididoem:
umnmerodepginacontendo20bits umdeslocamentodepginacontendo12bits
Comoatabeladepginapaginada,onmerode pginadivididoaindaem:
umnmerodepginaPT1,de10bits umnmerodepginaPT2,de10bits
PaginaoemDoisNveis
Umavezqueooffset12bits
Aspginastm4KB(omximoem12bits)
Comotemos3212=20bitsparaenderear pginas:
Temos220 =1Mpossveispginas
Traduode endereo:
PaginaoemDoisNveis
Traduodeendereo:
PaginaoemDoisNveis
Traduodeendereo:
Aentradanessa posiodo endereo(ou nmeroda moldura)da tabeladepgina nosegundonvel OcampoPT2 entousado comoumndice napginade segundonvel
10
PaginaoemDoisNveis
Traduodeendereo:
Checaobitde residncia
11
PaginaoemDoisNveis
Traduodeendereo:
Checaobitde residncia
Combinaonmero damolduracomd
12
PaginaoemTrsNveis
Maisnveispodemexistir
Dois:
Trs:
Naprtica,noseusamaisque3
13
TabelasdePginaemHash
TabelasdePginaemHash
Funcionamento:
Oendereodepaginavirtualusadoparaclculo dohash Esseendereocomparadoacadaelemento Sefor encontrado, ocampo damoldura usado noendereo fsico
15
TabeladePginaInvertida
Com32bits,multinvelfuncionabem Ecom64?
30PB(petabytes) Provavelmente,noumaboaidiacoloclanaRAM
Soluo:
Tabeladepginainvertida
16
TabeladePginaInvertida
Possuiumaentradapormolduranamemria fsica
Cominformaessobreoprocessoquepossuiessa pgina
Poupammuitoespaoquandooespaovirtual muitomaiorqueofsico
17
TabeladePginaInvertida
Modelodenicapgina(oumultinvel)
Modelodepginainvertida:
TabeladePginaInvertida
19
TabeladePginaInvertida
Problema:
Traduesvirtualfsicamuitomaisdifcil
Oquefazer?
TabeladePginaInvertida
Buscanatabelainvertida:
Feitaatravsdeumatabeladehash,comovalor dehashcalculadoapartirdoendereovirtual
AlocaodePginas
AlocaodePginas
BuscadePgina
Paginaosimples:
Paginaopordemanda(DemandPaging):
OS.O.Trazapginaquefaltamemria
24
BuscadePgina
Paginaopordemanda(DemandPaging):
Pginainvlida:
BuscadePgina
PaginaopordemandaFaltadePgina:
Processosuspensoeseudescritorinseridoem umafilaespecial
Filadosprocessosesperandoumapginavirtual;
Indicandooendereodapginavirtualnodiscoeo endereodapginarealalocada;
26
BuscadePgina
PaginaopordemandaFaltadePgina:
Apsaleituradodisco:
Carregapginasespecificasdeumprocessododiscoparaa memriaprincipal;
Odescritordoprocessoretiradodafilaespeciale colocadonafiladoprocessador;
27
TrocadePginas
PolticadeSubstituio Local:
Ex:pagefaultno processoA
???
28
TrocadePginas
PolticadeSubstituio Local:
Alocaacadaprocesso fraofixadamemria
29
TrocadePginas
PolticadeSubstituio Local:
30
TrocadePginas
PolticadeSubstituio Global:
Ex:pagefaultno processoA
???
31
TrocadePginas
PolticadeSubstituio Global:
Processossemfrao fixadamemria
32
TrocadePginas
PolticadeSubstituio Global:
33
TrocadePginas
Quandoocorreumpagefault
Setodasasmoldurasestiveremocupadas,oS.O. Escolheumapginaparaeliminarpginavtima
TrocadePginas
Exemplo:
TrocadePginas
MemriaVirtualP1 TabeladePginasP1 0 A Simplificada 1 B 0 1 v 2 C 1 5 v 3 D i 2 3 0 v
P2tentaacessarpgina3!FaltadePgina!
36
TrocadePginas
MemriaVirtualP1
0 1 2 3 A B C D
TabeladePginasP1 Simplificada
0 1 2 3 1 5 0 v v i v
MemriaPrincipal
0 D 1 A 2 F 3 E 4 H 5 B 3pginasde cadaprocesso
MemriaVirtualP2
0 1 2 3 E F G H
TabeladePginasP2 Simplificada
0 1 2 3 3 2 4 v v i v
Pgina2(virtual)escolhidacomovtima!
37
AlgoritmosdeTrocadePgina
Veremoscadaumem detalhes
38
MemriaVirtual
Pginavirtualmapeadaparapginareal;
Ex:
Memriafsica
MMUrealizaomapeamento Endereosvirtuais(geradospelocomputador)
39