Sistema Operacional Aberto

Páginas: 9 (2032 palavras) Publicado: 12 de novembro de 2013
Sistemas Operacionais

Gerenciamento de Memória Virtual
Algoritmos de Paginação
Norton Trevisan Roman
Marcelo Morandini
Jó Ueyama

Apostila baseada nos trabalhos de Kalinka Castelo Branco, Antônio Carlos 
Sementille, Luciana A. F. Martimiano e nas transparências fornecidas no 
site de compra do livro "Sistemas Operacionais Modernos"
1

Tabelas de Páginas




TLBs aceleram a tradução entre endereços 
virtuais e reais
Mas esse é apenas um problema → como 
traduzir rapidamente
Resta ainda como lidar com grandes espaços 
de endereços virtuais → Como organizar  a 
tabela de páginas?


Paginação hierárquica (multi­nível)



Tabelas de página com hash



Tabelas de página invertidas 
2

Paginação Multi­Nível
Quebre o espaço de endereço lógico em 
múltiplas tabelas de página


Uma técnica simples é
uma tabela de página
em dois níveis

3

Paginação em Dois Níveis


A idéia é evitar manter na memória todas as 
tabelas de página o tempo todo


Apenas as necessárias devem estar na memória



Ex.


Suponha que um programa esteja dividido em:


Uma tabela para o código (4MB da base da memória)

Uma para os dados (4MB seguintes)



Uma para a pilha (4MB do topo)



Há um buraco gigante vazio, na tabela (usou apenas 3 páginas)

4

Paginação em Dois Níveis


A idéia é evitar manter na memória todas as 
tabelas de página o tempo todo


Ex.


Podemos dividir o programa em:



Uma para a pilha (4MB do topo)





Uma para os dados (4MB seguintes)



Uma tabela para o código (4MB da base da memória)

Há um buraco gigante vazio, na tabela (usou apenas 3 páginas)

Mesmo que a tabela inteira seja enorme, para esse 
programa precisaríamos apenas manter 4 (a principal, e 
essas outras 3)
As demais (possivelmente não usadas), não estariam na 
memória.
5

Paginação em Dois Níveis
Tabela Única: 20 bits 
→ 1M entradas

Duas Tabelas:Principal: 10 bits → 1K entradas
Secundárias: Ad hoc

Em nosso 
exemplo, 
teríamos 
mais 3 
páginas de 
10 bits → 3 
x 1K.
O tamanho 
total 
ocupado 
seria 4K
6

Paginação em Dois Níveis


Endereçamento:


Um endereço lógico (em máquinas de 32 bits) é 
dividido em:






um número de página contendo 20 bits
um deslocamento de página contendo 12 bitsComo a tabela de página é paginada, o número de 
página é dividido ainda em:


um número de página PT1,  de 10 bits



um número de página PT2,  de 10 bits

PT1 é um índice para a tabela de página mais externa, e 
PT2 é o deslocamento da página dentro da tabela de 
página mais externa
7

Paginação em Dois Níveis


Uma vez que o offset é 12 bits




Como temos 32 – 12 = 20 bits para endereçar páginas:




As páginas têm 4KB (o máximo em 12 bits)

Temos 220  = 1M possíveis páginas

Tradução de
endereço:


A MMU extrai o
campo PT1,
usando seu valor
como índice na página mais alta
8

Paginação em Dois Níveis


Tradução de endereço:


A entrada nessa
posição dá o
endereço (ou
número da
moldura) da
tabela de página
no segundo nível

9 Paginação em Dois Níveis


Tradução de endereço:




A entrada nessa
posição dá o
endereço (ou
número da
moldura) da
tabela de página
no segundo nível
O campo PT2 é
então usado
como um índice
na página de
segundo nível

10

Paginação em Dois Níveis


Tradução de endereço:


O número da
moldura física é
obtido dessa
entrada na tabela


Checa o bit de
residência

11 Paginação em Dois Níveis


Tradução de endereço:


O número da
moldura física é
obtido dessa
entrada na tabela




Checa o bit de
residência

Finalmente o
deslocamento é
usado para
compor o
endereço físico

Combina o número 
da moldura com d

12

Paginação em Três Níveis


Mais níveis podem existir


Dois:



Três:

...
Ler documento completo

Por favor, assinar para o acesso.

Estes textos também podem ser interessantes

  • sistemas operacionais abertos
  • Questionário
  • Sistemas operacionais
  • sistemas operacionais abertos
  • SISTEMAS OPERACIONAIS ABERTOS
  • Sistema Operacionais Abertos e Fechados
  • Sistemas operacionais abertos
  • Sistema Operacional Aberto

Seja um membro do Trabalhos Feitos

CADASTRE-SE AGORA!