Segmentação - Gustavo Wagner

Propaganda
Sistemas Operacionais
FATEC-PB
Professor: Gustavo Wagner
[email protected]
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
1
Capítulo 4
Gerenciamento de Memória
4.1 Gerenciamento básico de memória
4.2 Troca de processos
4.3 Memória virtual
4.4 Algoritmos de substituição de páginas
4.5 Modelagem de algoritmos de substituição de páginas
4.6 Questões de projeto para sistemas de paginação
4.7 Questões de implementação
4.8 Segmentação
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
2
Segmentação
• O que acontece se as diferentes partes da
memória começarem a crescer?
• Por exemplo, compilador:
–
–
–
–
–
Área de texto
Tabela de Símbolos
Tabela de Constantes
Árvore sintática
pilha
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
3
Segmentação (1)
• Espaço de endereçamento unidimensional com
tabelas crescentes
• Uma tabela pode atingir outra
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
4
Segmentação
• Cada segmento tem um tamanho inicial e
final;
• Eles podem crescer indepententemente;
• Com segmentação, o programa deve
fornecer um endereço composto: número do
segmento + endereço dentro do segmento;
• Dessa forma, um segmento se liga a outro
apenas com o endereço (n, 0);
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
5
Segmentação
• Se o procedimento mudar (de tamanho, etc),
os segmentos que o referenciam não precisa
mudar (começa sempre no endereço 0);
• Outro ganho é o uso de biblioteca
compartilhada;
– Biblioteca gráfica
• É possível fazer isso com segmentação
pura, mas é mais complexo;
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
6
Segmentação
• Segmentos são entidades lógicas;
• Segmentos têm proteção tais como
leitura/escrita/execução;
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
7
Segmentação (2)
Permite que cada tabela cresça ou encolha,
independentemente
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
8
Segmentação (3)
Comparação entre paginação e segmentação
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
9
Implementação de Segmentação Pura
(a)-(d) Desenvolvimento de fragmentação externa
(e) Remoção da fragmentação via compactação
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
10
Segmentação com Paginação:
MULTICS (1)
a)
b)
Descritores de segmentos apontam para tabelas de páginas
Descritor de segmento – números indicam tamanhos dos campos
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
11
Segmentação com Paginação:
MULTICS (2)
Um endereço virtual de 34 bits no MULTICS
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
12
Segmentação com Paginação:
MULTICS (3)
Conversão de um endereço MULTICS de duas
partes em um endereço da memória principal
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
13
Segmentação com Paginação:
MULTICS (4)
• Versão simplificada da TLB do MULTICS
• Existência de dois tamanhos de páginas torna a TLB real mais
complicada
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
14
Segmentação com Paginação:
Pentium (1)
Um seletor do Pentium
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
15
Segmentação com Paginação:
Pentium (2)
• Descritor de segmento de código do Pentium
• Segmentos de dados diferem ligeiramente
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
16
Segmentação com Paginação:
Pentium (3)
Conversão de um par (seletor, deslocamento)
para um endereço linear
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
17
Segmentação com Paginação:
Pentium (4)
Mapeamento de um endereço linear sobre um endereço físico
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
18
Segmentação com Paginação:
Pentium (5)
Proteção no Pentium
Pearson Education
Sistemas Operacionais Modernos – 2ª Edição
19
Download