Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistemas Operacionais
Sistemas Operacionais 2
Memória virtual: conceito
Sistemas Operacionais 3
Memória virtual: vantagens
Pn FK
F0
P0
Número de páginas maior que o número de frames (n > k)
Sistemas Operacionais 4
Princípio da localidade
Sistemas Operacionais 5
Necessidades para implementação de memória
virtual
Sistemas Operacionais 6
Paginação por demanda (1)
Fn Fn
Swap-in page-in
F0 F0
swapper pager
Sistemas Operacionais 7
Paginação por demanda (2)
Sistemas Operacionais 8
Paginação por demanda (3)
6 g
5 f Tab. Páginas
4 e
3 d
2 c Page-fault page-in
1 b
0 a
F0
Sistemas Operacionais 9
Tratamento de page-fault (1)
Sisop
1 2
mov ax,m
i
6 Fn
4
F0
Sistemas Operacionais 10
Tratamento de falta de página (page-fault) (2)
Sistemas Operacionais 11
Implementação da memória virtual (1)
Sistemas Operacionais 12
Implementação da memória virtual (2)
Sistemas Operacionais 13
Política de carga de páginas
Sistemas Operacionais 14
Política de localização
Sistemas Operacionais 15
Substituição de páginas na memória
Sistemas Operacionais 16
Bits auxiliares
Sistemas Operacionais 17
Política de substituição de páginas (1)
Sistemas Operacionais 18
Política de substituição de páginas (2)
Sistemas Operacionais 19
First-come-first-served (FCFS)
Sistemas Operacionais 20
Exemplo: First-come-first-serverd (FCFS)
• Características do sistema
• Memória física composta por 3 frames
• Processo composto por uma memória lógica de 8 páginas
7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
7 7 7 2 2 2 2 4 4 4 0 0 0 0 0 0 0 7 7 7
- 0 0 0 0 3 3 3 2 2 2 2 2 1 1 1 1 1 0 0
- - 1 1 1 1 0 0 0 3 3 3 3 3 2 2 2 2 2 1
15 Page-faults
Página 0 foi substituída e em seguida referenciada!!
Sistemas Operacionais 21
Least Recently Used (LRU)
Sistemas Operacionais 22
Exemplo: Least Recently Used (LRU)
• Características do sistema
• Memória física composta por 3 frames
• Processo composto por uma memória lógica de 8 páginas
7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1
7 7 7 2 2 2 2 4 4 4 0 0 0 1 1 1 1 1 1 1
- 0 0 0 0 0 0 0 0 3 3 3 3 3 3 0 0 0 0 0
- - 1 1 1 3 3 3 2 2 2 2 2 2 2 2 2 7 7 7
12 Page-faults
Sistemas Operacionais 23
Implementação de Least Recently Used (LRU)
Sistemas Operacionais 24
Aproximações para algoritmo LRU
Sistemas Operacionais 25
Construção de histórico de bits de referência
Páginas Acessadas
P3 P1 P3 P1 P2 P0 P1 P2 P7 P2 P7 P0 P6
Tempo
P0 0 0 0 P0 1 0 0 P0 0 1 0 P0 1 0 1
P1 1 0 0 P1 1 1 0 P1 1 1 1 P1 0 1 1
P2 0 0 0 P2 1 0 0 P2 1 1 0 P2 1 1 1
P3 1 0 0 P3 1 1 0 P3 0 1 1 P3 0 0 1
P4 0 0 0 P4 0 0 0 P4 0 0 0 P4 0 0 0
P5 0 0 0 P5 0 0 0 P5 0 0 0 P5 0 0 0
P6 0 0 0 P6 0 0 0 P6 0 0 0 P6 1 0 0
P7 0 0 0 P7 0 0 0 P7 1 0 0 P7 1 1 0
Sistemas Operacionais 26
Algoritmo de segunda chance (1)
Sistemas Operacionais 27
Esquematização do algoritmo de segunda chance
ANTES DEPOIS
n 0 n 0
Sistemas Operacionais 28
Algoritmo de segunda chance melhorado
Sistemas Operacionais 29
Algoritmos de substituição baseado em contadores
Sistemas Operacionais 30
Alocação de páginas físicas (frames)
• Questão:
• Como se deve alocar frames na presença de “n” processos ?
• Problemas:
• Qual o mínimo necessário por processo ?
• Quantas páginas físicas alocar para cada processo?
• De onde alocar os frames?
Sistemas Operacionais 31
Número mínimo de frames
Sistemas Operacionais 32
Algoritmos de alocação (quanto alocar ?)
Sistemas Operacionais 33
Alocação igualitária
Sistemas Operacionais 34
Alocação proporcional (1)
Sistemas Operacionais 35
De onde alocar os frames ?
Sistemas Operacionais 36
Alocação local
Sistemas Operacionais 37
Alocação global
Sistemas Operacionais 38
Thrashing
Sistemas Operacionais 39
Conseqüências do thrashing
Sistemas Operacionais 40
Multiprogramação e Thrashing
Sistemas Operacionais 41