Gerenciamento de Memria DEPARTAMENTO DE INFORMTICA UFPE GRECO

  • Slides: 26
Download presentation
Gerenciamento de Memória DEPARTAMENTO DE INFORMÁTICA UFPE GRECO

Gerenciamento de Memória DEPARTAMENTO DE INFORMÁTICA UFPE GRECO

Hierarquia de Memória chip CPU Registradores Velocidade Cache cache (L 1) Principal Custo e

Hierarquia de Memória chip CPU Registradores Velocidade Cache cache (L 1) Principal Custo e tamanho cache (L 2) Cache de Disco memória principal memória secundária DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Disco Magnético Fita CD-ROM

Localidade n Temporal • Num futuro próximo, o programa irá referenciar os programas e

Localidade n Temporal • Num futuro próximo, o programa irá referenciar os programas e dados referenciados recentemente n Espacial • Num futuro próximo, o programa irá referenciar os programas e objetos de dados que tenham endereços próximos das últimas referências. DEPARTAMENTO DE INFORMÁTICA UFPE GRECO

Memória Virtual n Disco • Muito mais barato que memória n 1961: Overlay automático

Memória Virtual n Disco • Muito mais barato que memória n 1961: Overlay automático Swap File • Universidade de Manchester • Sistema operacional • Memória virtual disco DEPARTAMENTO DE INFORMÁTICA UFPE GRECO memória principal

Memória Virtual 2 n CPU End. n Dados DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Espaço

Memória Virtual 2 n CPU End. n Dados DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Espaço de endereçamento Memória disponível

Particionamento da Memória Pedaços grandes com tamanho fixo n Pedaços com tamanho variável n

Particionamento da Memória Pedaços grandes com tamanho fixo n Pedaços com tamanho variável n S. O. P 5 P 1 P 2 P 3 P 4 Fragmentação Interna Externa P 4 P 2 P 3 DEPARTAMENTO DE INFORMÁTICA UFPE GRECO

Paginação n Pedaços pequenos de tamanho iguais fixos Disco Pág. Livres 13, 15 16

Paginação n Pedaços pequenos de tamanho iguais fixos Disco Pág. Livres 13, 15 16 15, 1616 Proc. A pág. 0 pág. 1 pág. 2 pág. 3 DEPARTAMENTO DE INFORMÁTICA UFPE GRECO 13 15 16 15 Tabela Conversão Pág. p/ Proc. A Memória Principal Pág. V. 0 Ocupada Pág. V. 1 Pág. V. 3 Pág. V. 2 Ocupada Ocupada … 13 14 15 16 17 18 19 20 21

Paginação Endereço Virtual (Lógico) endereço da página deslocamento memória principal entradas nr. página real

Paginação Endereço Virtual (Lógico) endereço da página deslocamento memória principal entradas nr. página real desloc. Endereço Real (Físico) tabela de páginas DEPARTAMENTO DE INFORMÁTICA UFPE GRECO

Paginação: Armazenando as tabelas Uma tabela de páginas por processo n Problema: Armazenar as

Paginação: Armazenando as tabelas Uma tabela de páginas por processo n Problema: Armazenar as tabelas em memória real n Exemplo: VAX n • 2 Gbyte / processo • 512 Byte / página => 4 Mega. Entradas por tabela por processo => Muito espaço para tabelas DEPARTAMENTO DE INFORMÁTICA UFPE GRECO

Paginação: Armazenando as tabelas n Solução 1: Guardar parte das tabelas em memória virtual

Paginação: Armazenando as tabelas n Solução 1: Guardar parte das tabelas em memória virtual • A tabela da página corrente tem que estar na memória real n DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Solução 2: Usar uma estrutura hierárquica de paginação

Paginação: Diretório de Tabelas de Páginas Endereço Virtual (Lógico) diretório página tab. 0 tab.

Paginação: Diretório de Tabelas de Páginas Endereço Virtual (Lógico) diretório página tab. 0 tab. 1 desloc. memória tab. 1 p. real Dir. p. real tab. 0 DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Usado no Pentium p. real

Endereço Físico e Virtual Endereço virtual i 1 i 2 i 3 desloc Endereço

Endereço Físico e Virtual Endereço virtual i 1 i 2 i 3 desloc Endereço físico num. pag. física DEPARTAMENTO DE INFORMÁTICA UFPE GRECO desloc.

Tabela de Página Invertida Vp Dp Vp Rp link hash function DEPARTAMENTO DE INFORMÁTICA

Tabela de Página Invertida Vp Dp Vp Rp link hash function DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Usado no IBM AS/400 e Power. PC Rp Dp

Acelerando a tradução. . . n n Problema: Um acesso à mem. virtual =>

Acelerando a tradução. . . n n Problema: Um acesso à mem. virtual => 2 acessos à mem. real (1 p/ tabela + 1 p/ dado desejado) Solução: Translation Lookaside Buffer • Funciona como uma cache para tabelas de página • Requer um acesso à mem. física e um à cache do TLB • Aumento de performance (Princípio da Localidade) DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Vp. A Dp. A Vp. E Rp. E Vp. A Vp. B Rp. A Rp. B Vp. T Rp. A Dp. A

Gerenciamento de Memória Vp Dp hit. TLB miss. TLB & misstab. pag. GRECO Dp

Gerenciamento de Memória Vp Dp hit. TLB miss. TLB & misstab. pag. GRECO Dp miss. TLB & hittab. pag. tab. pág. Disco DEPARTAMENTO DE INFORMÁTICA UFPE Rp cache misscache & missmem. . hitcache Valor Rp misscache & hitmem. memória principal

Unidade de Gerenciamento de Memória dados CPU memória Virtual UGM Testes de proteção Testes

Unidade de Gerenciamento de Memória dados CPU memória Virtual UGM Testes de proteção Testes de memória DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Real

Paginação: O que fazer quando há falta de página? Falta de Página n Falta

Paginação: O que fazer quando há falta de página? Falta de Página n Falta da Tabela de Página n DEPARTAMENTO DE INFORMÁTICA UFPE GRECO 1) Chamada do Sistema Operacional => chaveamento de contexto (executa outro processo enquanto carrega a página na memória) 2) Escolha da página a ser retirada da memória (se não houver espaço livre)

Políticas de substituição n Randômica • baixo desempenho n FIFO • ignora localidade temporal

Políticas de substituição n Randômica • baixo desempenho n FIFO • ignora localidade temporal n LRU (least recently used) • considera quando a página foi referenciada DEPARTAMENTO DE INFORMÁTICA UFPE GRECO

Segmentação n Controlado pelo usuário e S. O. • Facilita compartilhamento e proteção de

Segmentação n Controlado pelo usuário e S. O. • Facilita compartilhamento e proteção de dados • Permite alterar sistemas com recompilação parcial, sem relinkar Organização de programas e dados n Permite controle de acesso mais fino a dados e instruções do que paginação n Tamanho variável e dinâmico n Tradução de endereço virtual p/ físico semelhante à da paginação n DEPARTAMENTO DE INFORMÁTICA UFPE GRECO

Segmentação: Exemplo do Pentium Cada segmento tem informações de: 1) Nível de privilégio de

Segmentação: Exemplo do Pentium Cada segmento tem informações de: 1) Nível de privilégio de acesso (de 0 a 3) • UGM => 0, Sistema Operacional => 1 • A execução de algumas instruções está limitada a alguns níveis de privilégio: – Uso de registradores de Ger. Memória => Nível 0 – Instruções de I/O => Nível 1 (usado no Windows NT) 2) Atributo de Acesso DEPARTAMENTO DE INFORMÁTICA UFPE GRECO • Segmento de Dados => read/write ou read-only • Segmento de Instruções => read/execute ou read-only

Segmentação num. segmento Desloc. memória principal tabela de segmentos entradas bp tam. end. segm

Segmentação num. segmento Desloc. memória principal tabela de segmentos entradas bp tam. end. segm + end. físico DEPARTAMENTO DE INFORMÁTICA UFPE GRECO

Substituição de Segmentos n Onde o segmento deve ser alocado? • best-fit • worst

Substituição de Segmentos n Onde o segmento deve ser alocado? • best-fit • worst fit • first fit DEPARTAMENTO DE INFORMÁTICA UFPE GRECO

Página n X Tamanho Fixo • Transparente ao usuário • Gerenciamento eficiente (pequena fragmentação

Página n X Tamanho Fixo • Transparente ao usuário • Gerenciamento eficiente (pequena fragmentação interna) DEPARTAMENTO DE INFORMÁTICA UFPE GRECO Segmento n Tamanho Variável • Controlado pelo usuário • Facilidade de proteção • Fragmentação Externa

Segmentação Paginada Vp segmento desl. tabela de segmento + End. Seg. tabela de página

Segmentação Paginada Vp segmento desl. tabela de segmento + End. Seg. tabela de página entradas + • Segm. => modularização do programa • Pagin. => melhor alocação da memória DEPARTAMENTO DE INFORMÁTICA UFPE GRECO memória principal dado

Segmentação Paginada Falta do Segmento n Falta da Tabela de Segmento n Falta de

Segmentação Paginada Falta do Segmento n Falta da Tabela de Segmento n Falta de Página n Falta da Tabela de Página n Falta de Proteção n Falta de Limite n DEPARTAMENTO DE INFORMÁTICA UFPE GRECO chamada do sistema operacional chaveamento de contexto

Segmentação e Paginação Segmentação • Alta performance • Simplicidade Paginação DEPARTAMENTO DE INFORMÁTICA UFPE

Segmentação e Paginação Segmentação • Alta performance • Simplicidade Paginação DEPARTAMENTO DE INFORMÁTICA UFPE GRECO • Proteção menos acessível ao usuário • Memória virtual • Endereços lógicos • Proteção de dados e código • Tab. de tradução sempre na mem. principal • Segm. => modularização • Pag. => alocação da mem