Академический Документы
Профессиональный Документы
Культура Документы
Memória Virtual
Memória Virtual
Motivação:
– Permite que um processo seja executado,
sem estar completamente na memória
principal;
– Permite que processos maiores que o
tamanho da memória principal sejam
executados;
Sistemas Operacionais Abertos – Aumenta a utilização da CPU;
– Diminui o overhead das operações de swap.
Implementação:
– Pode afetar de forma radical o
= + desempenho do sistema;
1
SOA
endereço virtual
# página deslocam.
# quadro deslocam.
registrador
pont. tab. de páginas pt1 pt2 offset
# quadro
memória
principal
tabela de
páginas
Bit de presença
Bit de modificação tabela de TLB
páginas
Como funciona?
– Tabela de páginas pode estar só
parcialmente na Memória Principal; memória
principal
– Dois acessos à MP ⇒ Translation # quadro deslocam.
Lookaside Buffer (TLB)
2
SOA
3
SOA
registrador
pont. tab. segmentos
comp. base
memória
principal
tabela de
segmentos
Compactação!
+ +
tabela de
tabela de páginas
segmentos
O seletor contém um bit que seleciona: O descritor contém o endereço base e o tamanho do
– Global Descriptor Table; acessível por todos processos
segmento referenciado;
– Local Descriptor Table; acessível pelo processo que a O endereço base de 32-bits é adicionado ao offset
detém (tem-se um LDT por processo) de 32-bits, para formar um endereço linear de 32-bits
Dois bits do seletor são para proteção, e os 13 bits (p1,p2,d), o qual é basicamente idêntico ao formato
restantes são usados para selecionar uma entrada do endereço lógico usado pelo Windows NT
de 8-bytes na LDT ou na GDT denominado – tabelas de páginas de 2 níveis indexados por p1 e p2 (10
bits cada um)
descritor
4
SOA
5
SOA
6
SOA
tea = (1 - p) x 50 + p x 10.000.000
tea = 50 + 9.999.950 x p Algoritmos de substituição de páginas:
– Minimizar taxa de page-fault;
p = 0.001 -> tea = 10 µs
– Minimizar I/O.
tea = 50 ns então p < 0,000.005 ou
1 / 200.000
gravadas no disco. 0 0 0 3 3 3 2 2 2 1 1 1 0 0
1 1 1 0 0 0 3 3 3 2 2 2 1
7
SOA
Acessos 10 pf Acessos 9 pf
1 2 3 4 1 2 5 1 2 3 4 5 7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
1 1 1 1 5 5 5 5 4 4 7 7 7 2 2 2 2 2 7
2 2 2 2 1 1 1 1 5 0 0 0 0 4 0 0 0
3 3 3 3 2 2 2 2 1 1 3 3 3 1 1
4 4 4 4 4 3 3 3
8
SOA
Thrashing
Grau de Multiprogramação
– A cada instante, um processo possui um
conjunto de trabalho de frames;
Por que a paginação funciona?
Conceito de Localidade: – O SO deve garantir a cada processo uma
– Processo migra de uma localidade para outra. quantidade de frames grande o bastante
– Localidade podem se sobrepor. para conter seu conjunto de trabalho num
– Por que ocorre o thrashing?
Σ tamanho das localidades > tamanho total da memória determinado instante.
9
SOA
10
SOA
11