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