A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner

Apresentações semelhantes


Apresentação em tema: "Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner"— Transcrição da apresentação:

1 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner gugawag@gmail.com

2 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 2 Gerenciamento de Memória Capítulo 4 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.6 Questões de projeto para sistemas de paginação 4.7 Questões de implementação 4.8 Segmentação

3 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 3 Questões Como executar um programa que necessite mais que a memória RAM do computador? Como fazer relocação de código? Como traduzir endereço virtual (requisitado pela CPU) para endereço físico (endereço na memória RAM)

4 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 4 Swapping

5 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 5 Overlays Há muito tempo, os programadores já tinham o problema de lidar com programas maiores que a memória disponível; Dividiu-se os programas em módulos, chamados overlay; Quem dividia o programa em overlays era o programador: –tarefa trabalhosa; Os programadores dividiam o programa em overlays de forma que pudesse ser colocados alguns trechos de códigos em RAM sem precisar carregar todo o programa; A automação desse processo ficou conhecido como memória virtual;

6 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 6 Fragmentação Considere a possibilidade de se colocar programas em pedaços de memória distintos; Se um processo A requisitar 18,464 bytes, e um processo B requisitar 18,462 bytes, 2 bytes será um buraco entre os processos; Isso é chamado de fragmentação externa;

7 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 7 Fragmentação É possível também haver fragmentação interna; Se um processo requisitar 20KB, e só usar 15KB, 5KB está sendo desperdiçado; Isso causa fragmentação interna; Uma solução para fragmentação externa é compactação, como visto na aula passada; O problema, como vimos, é que esse processo é custoso em relação a tempo;

8 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 8 Fragmentação Uma outra solução é permitir que o espaço de endereçamento lógico de um programa seja não-contíguo; Duas técnicas representam essa solução; –Paginação; –Segmentação;

9 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 9 Paginação Em todo computador existe um conjunto de endereços de memória que os programas podem gerar ao serem executados; Ex.: MOV REG, 1000 Esses endereços gerados são chamados endereços virtuais, e constituem o espaço de endereçamento virtual;

10 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 10 Paginação Em computadores sem memória virtual, o endereço virtual é o mesmo que o físico; Ou seja, ao tentar ler ou escrever de um endereço, basta colocar esse endereço no barramento de memória; Em computadores com memória virtual, o endereço virtual difere do físico;

11 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 11 Paginação Antes de ser colocado no barramento de memória, o end. Virtual passa pela MMU (unidade de gerenciamento de memória); A MMU traduz o endereço virtual para o endereço físico; A MMU é um dispositivo em HW;

12 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 12 Paginação O espaço de endereçamento virtual é divido em partes denominadas páginas(pages); As unidades correspondentes em memória física são denominadas molduras de páginas (page frames); As páginas e frames têm tamanhos fixos na memória; Página: entre 512 bytes a 16MB Moldura: O tamanho é definido pelo hardware;

13 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 13 Exemplo Computador que gera endereços virtuais de 16 bits, 0 a 64K; O computador tem apenas 32KB de memória física; As páginas tem 4KB; 2 12 para páginas e 2 4 para indexar as páginas; Total de páginas: 16 Total de molduras: 8 -> 32KB/4KB

14 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 14 Memória Virtual Paginação (1) Localização e função da MMU

15 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 15 Paginação

16 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 16 A relação entre endereços virtuais e endereços físicos de memória dada pela tabela de páginas Memória Virtual Paginação (2)

17 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 17 Paginação O que acontece se uma página não estiver mapeada? Falta de página, ou page fault;

18 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 18 Tabelas de Páginas (1) Operação interna de uma MMU com 16 páginas de 4KB26

19 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 19 Paginação Paginação resolve o problema de fragmentação externa; Mas o problema de fragmentação interna pode persistir: –Ex.: tamanho de uma página grande, de 16MB!! Provavelmente haverá muito desperdício interno de página. Por outro lado, tamanho de páginas pequeno pode gerar uma grande quantidade de páginas, fazendo com que a tabela de páginas seja muito grande em memória; Além de aumentar a quantidade de acessos à tabela de página;

20 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 20 Discussões Dois pontos importantes: –A tabela de páginas pode ser extremamente grande; –O mapeamento deve ser rápido; Computadores atuais: –usam 32 ou 64 bits; 32 bits: –Com um tamanho de página de 4KB, um espaço de endereçamento de 32 bits tem mais de um milhão de páginas virtuais (2 20 )! Ou seja, um milhão de entrada na tabela de páginas. Imagina só 64 bits!! –Lembre-se: cada processo necessita de sua própria tabela de página!!

21 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 21 Discussões O segundo ponto, referente à velocidade de mapeamento, advém do fato que todo acesso à memória precisa do mapeamento end. Lógico- >físico; Por instrução, faz-se uma, duas ou mais traduções; Se cada tradução durar em média 4ns, a tradução da MMU deve ser de no máximo 1ns, para não virar gargalho;

22 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 22 TB Páginas Multiníveis a)Endereço de 32 bits com 2 campos para endereçamento de tabelas de páginas b)Tabelas de páginas com 2 níveis

23 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 23 TB Páginas Multiníveis Diminuição da tabela em memória; Mantém apenas as tabelas necessárias;

24 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 24 Estrutura de uma entrada na Tabela Entrada típica de uma tabela de páginas

25 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 25 Estrutura de uma entrada na Tabela Número da moldura: –parte do endereço físico na memória; Bit presente/ausente: –1=entrada válida –0=página virtual não está na memória. Um acesso gera page fault; Bits de proteção: –leitura, escrita e execução; Bit modificada: –é importante quando o SO reinvidica uma moldura. Ela deve ser salva em disco?

26 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 26 Estrutura de uma entrada na Tabela Bit referenciada: –usada na escolha de qual página dever ser substituída; Bit cache desabilitado: –importante para páginas que mapeiam em registradores de dispositivos ao invés de memória (pegar o dado mais atual); Obs.: o endereço em disco de uma página não fica na tabela de páginas. Quem controla isso é o SO, em software;

27 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 27 Memória Associativa ou TLB (Translation Lookaside Buffer) Problema: –Instrução que copia um registrador em outro. Sem paginação, só se faria um acesso à memória; –Com paginação, são necessários vários acessos, por causa da tabela de páginas; Solução: –Dispositivo em HW que traduz end. lógicos a físicos, sem passar pela tabela de páginas

28 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 28 TLB Os projetistas perceberam que os programas tendem a fazer um grande número de acessos a um conjunto pequeno de páginas virtuais; Normalmente: –TLB tem entre 8-64 entradas;

29 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 29 Memória Associativa ou TLB TLB para acelerar a paginação

30 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 30 Tabelas de Páginas Invertidas Se o espaço de end. for de 32 bits, com páginas de 4KB, mais de 1 milhão de entradas serão necessárias. Se cada entrada tiver 4bytes (comum), a tabela de páginas terá 4MB; Mas e com pcs de 64 bits, com 8 bytes por entrada na tabela? –Mais de 30000000 GB!!! Mesmo que se aumente a quantidade de níveis de páginas, por exemplo 7 níveis para 64 bits, o acesso seria lento, dado a quantidade de acessos necessários para mapear endereço lógico para físico. Como solução, usa-se tabelas de páginas invertidas;

31 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 31 Tabelas de Páginas Invertidas Comparação de uma tabela de páginas tradicional com uma tabela de páginas invertidas Usa-se TLB para acelerar o processo de busca

32 Pearson Education Sistemas Operacionais Modernos – 2ª Edição 32 Tabelas de Páginas Invertidas A quantidade na tabela é a mesma quantidade de molduras de página na memória RAM; O problema de Tabelas de Páginas Invertidas é que a busca é muito lenta; Para aumentar a velocidade de busca, usa-se TLB;


Carregar ppt "Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais FATEC-PB Professor: Gustavo Wagner"

Apresentações semelhantes


Anúncios Google