Você está na página 1de 32

Memria Virtual e Paginao

Prof. Antonio Luiz Cavalcanti - Tj


antonio.cavalcanti@gmail.com http://www.cin.ufpe.br/~alocj/so/ ltima Atualizao: Novembro de 2012

Sistemas Operacionais Modernos


o Captulo 3

Sistemas Operacionais Projeto e Implementao


o Captulo 4

Slides baseados no material do curso de Tanenbaum.

Arquitetura e Organizao de Computadores

Prof. Antonio Luiz Cavalcanti

Arquitetura e Organizao de Computadores

Prof. Antonio Luiz Cavalcanti

A relao entre endereo fsico e endereo virtual dada pela:

Tabela de Pginas

Arquitetura e Organizao de Computadores

Prof. Antonio Luiz Cavalcanti

16 pginas de 4 KB Nesse exemplo, quantas pginas de 4 KB a memria Fsica possui, por qu?

Sabendo disso, quem define o mximo de memria fsica a ser mapeada?

Arquitetura e Organizao de Computadores

Prof. Antonio Luiz Cavalcanti

Registro tpico na tabela de pginas

Arquitetura e Organizao de Computadores

Prof. Antonio Luiz Cavalcanti

O mapeamento do endereo virtual em fsico deve ser rpido.

Se o espao a ser endereado for grande a tabela ser grande.


Uma opo muito usada para acelerar a busca so as TLBs tambm chamadas de Memria Associativa
o TLB Tranlation Lookaside Buffers

Esse buffer normalmente faz parte da MMU. Funciona de forma semelhante a Caches Completamente Associativas.
Prof. Antonio Luiz Cavalcanti 7

Arquitetura e Organizao de Computadores

Arquitetura e Organizao de Computadores

Prof. Antonio Luiz Cavalcanti

Tabelas em 2 nveis so usadas principalmente em espaos de endereamento muito grandes.

Second-level page tables

Top-level page table

Arquitetura e Organizao de Computadores

Prof. Antonio Luiz Cavalcanti

Arquitetura e Organizao de Computadores

Prof. Antonio Luiz Cavalcanti

10

Ao acontecer um Page fault temos que escolher


o Que pginas deve se removidas o Criar ambiente para o recebimento de pginas

Pginas modificadas devem ser salvas


o As no modificadas podem apenas ser sobrescritas

Cuidado para no escolher uma pgina frequentemente utilizada.


o Princpio da localidade temporal.

Arquitetura e Organizao de Computadores

Prof. Antonio Luiz Cavalcanti

11

Substituir a pgina no mais necessria ou que no ser utilizada to cedo.


o No Factvel

Estimativas
o Saber quais pginas foram muito utilizadas em execues anteriores

do processo. o Tambm impraticvel

Arquitetura e Organizao de Computadores

Prof. Antonio Luiz Cavalcanti

12

Cada pgina possui um Bit de Referncia e um Bit de Modificao.


o

Os bits so setados quando a pgina referenciada ou modificada.

Pginas so classificadas
1. 2. 3.

4.

NR, NM NR, M R, NM R, M

o o

NRU remove sempre pginas aleatrias das classes mais altas.


Primeiro NR, NM Depois NR, M ...

Trata Localidade Temporal e Espacial


Prof. Antonio Luiz Cavalcanti 13

Arquitetura e Organizao de Computadores

Uma lista ligada de pginas


o Mantm a ordem de carga na memria

Pginas do comeo so as primeira a serem substitudas.


o Mais Antigas

Desvantagem
o Pginas antigas ainda podem estar sendo utilizadas.

Apesar de parecer tratar Localidade Temporal, trata apenas Localidade Espacial

Arquitetura e Organizao de Computadores

Prof. Antonio Luiz Cavalcanti

14

Modificao simples do Algoritmo FIFO


o Se um Page Fault ocorrer no momento (a) avalia-se o bit R de A. o Caso bit esteja setado A reinserido no fim da fila e R zerado. o Repete-se isso at achar uma pgina com bit R no setado e a

substitui.

Problema dessa Abordagem?


Prof. Antonio Luiz Cavalcanti 15

Arquitetura e Organizao de Computadores

Modificao da segunda chance. Basicamente transforma a lista ligada em uma lista circular
Prof. Antonio Luiz Cavalcanti 16

Arquitetura e Organizao de Computadores

Foco na Localidade Temporal Mantm uma lista das pginas


o Mais recentemente usadas na frente o Atualiza a lista a cada referncia da pgina!!

Uma alternativa manter um contador para cada pgina


o Incrementar o contador sempre que a pgina for acessada o Zerar o contador periodicamente o NFU (Not Frequently Used)

Outra alternativa usar um algoritmo de envelhecimento


o Variao do NFU o Shift right de um bit 1 no contador quando a pgina for referenciada. o Shift right de um bit 0 quando a pgina no for referenciada.

Arquitetura e Organizao de Computadores

Prof. Antonio Luiz Cavalcanti

17

WS o conjunto de pginas usadas nas K mais recentes referencias de memria w(k,t) o tamanho do WS em um tempo t
Prof. Antonio Luiz Cavalcanti 18

Arquitetura e Organizao de Computadores

Arquitetura e Organizao de Computadores

Prof. Antonio Luiz Cavalcanti

19

Arquitetura e Organizao de Computadores

Prof. Antonio Luiz Cavalcanti

20

Arquitetura e Organizao de Computadores

Prof. Antonio Luiz Cavalcanti

21

a. b. c.

Configurao Original Troca Local Troca Global


23

24

Normalmente os algoritmos Locais causam Trashing


o Mesmo existindo memria livre o Principalmente se o conjunto de trabalho cresce muito

Existem algortmos que s conseguem executar em contextos locais


o WS o WSClock o Por que?

25

Pginas Pequenas

Vantagens
o Baixa Fragmentao Interna o Acomoda melhor estruturas de dados o Menos programas no usados na memria

Desvantagens
o Precisamos de mais pginas o Grandes tabelas de pginas o Geralmente maior tempo de I/O

Por que?

26

27

28

Os Algoritmos de paginao funcionam melhor quando existe muito espao de memria disponvel. Normalmente temos um daemon para limpeza
o Periodicamente ele inspeciona o estado da memria

Quando poucos quadros esto livre


o Executa limpeza para evitar os algoritmos de substituio

29

1.

Criao de processos

Determinar o tamanho do programa Criar a tabela de pginas Reset da MMU para o novo processo Esvaziamento da TLB Determinar o endereo virtual do processo gerador Swap da pgina que est saindo, Carga de nova pgina Liberao da tabela de pginas e pginas
30

2.

Execuo do Processo

3.

No momento do Page fault

4.

No fim do processo

1. 2. 3. 4. 5.

Hardware gera uma interrupo para o kernel Registradores gerais so salvos OS determina qual pgina virtual necessria OS verifica a validade de endereo e procura a pgina Se o quadro selecionado est sujo, salv-lo em disco

31

6. 7. 8. 9. 10. 11.

SO agenda uma operao de disco para carregar a pgina. Atualizao da Tabela de Pginas Reinicializao da instruo causadora do Fault Escalonamento do Processo causador do Fault Recuperao de registradores Continuao do programa

32

Você também pode gostar