Minix

Disponível somente no TrabalhosFeitos
  • Páginas : 24 (5893 palavras )
  • Download(s) : 0
  • Publicado : 21 de abril de 2013
Ler documento completo
Amostra do texto
9/13/11

Gerência de Memória
Roteiro: 1 - Introdução Realocação e Proteção 2 - Gerência básica de Memória Registradores base e limite MMU e troca de contexto Multiprogramação c/ partições fixas 3 - Swapping 4 - Gerência de Memória no Minix 5 - Paginação (Memória Virtual)‫‏‬ Algoritmos para troca de páginas Questões de Projeto e Implementação Tabelas de páginas invertidas 6 - Segmentação
1Memória Principal
Tipos básicos:
DRAM: Dynamic random access memory SRAM: Static random access memory chips (não-voláteis) EPROM: Erasable programmable read-only memory PROM: apenas escritos 1x FLASH memory chips offer extremely fast access times, low power consumption, do not need a constant power supply DRAM Architecture

2

1

9/13/11

Memória Principal

IBM Power Architecture(e.g. PowerPC)

Arquitetura Multi-core com vários controladores

Arquitetura do NexusOne (Google) com memória volátil e não volátil.

3

Hierarquia de Memória
O núcleo precisa gerenciar a transferência transparente de dados de um nível para outro

4

2

9/13/11

Gerente de Memória: Tarefas básicas
Gerente de Memória opera a hierarquia de memória:
–  –  –  –  –  –  Quais partes damemória estão em uso, e quais não? Alocar memória para novos processos Desalocar memória quando processo termina Garantir proteção/isolamento entre processos Setar os parâmetros para a relocação de endereços de memória Quando memória está cheia (sempre!), fazer o swapping transparente entre memória principal e disco

Essas tarefas dependem:
  Do tipo de sistema (p.ex. se suportamultiprogramação)   Do tamanho da memória e suas características de acesso (latência, acesso concorrente, etc.)   Das características do Controlador da memória (se possui MMU)   Do tamanho e quantidade de caches disponíveis
5

GM para Monoprogramação
(sem swapping ou paginação)‫‏‬ Para S.Os com único usuário e dispositivos simples (embarcados). Execuçaõ de 1 programa por vez. •  Ciclo básico: Comandousuário carregamento execução •  Baixa utilização de CPU

Formas (ultrapassadas) de organizar a memória
6

3

9/13/11

Efeito da Multiprogramação

Degree of multiprogramming

Utilização da CPU como função do grau de multiprogramação (= número de processos na memória)‫‏‬

7

Realocação e Proteção
São dois problemas introduzidos pela Multiprogramação: •  Realocação: não se sabe deantemão em qual região de memória o processo vai ser executado
–  Endereço de variáveis e do código não podem ser absolutos

•  Proteção: evitar que um processo acesse uma região usada por outro processo Solução 1: modificar endereços quando processo é carregado (o ligador/carregador precisa ter um bit map sobre quais endereços do programa precisam ser atualizados)‫‏‬
–  Como endereços sãoabsolutos, seria possível acessar qualquer endereço de memória, e um programa pode construir dinamicamente instruções

Solução melhor: Mapeamento para a memória física ocorre em tempo de execução e é relativa a dois registradores: base e limite
–  Qualquer acesso além do limite é considerado erro e processo é abortado
8

4

9/13/11

Registradores Base e Limite
Para cada processo, existe umpar, base register (BR), e limit register (LR), que determinam a região de memória usada pelo processo
End. lógico CPU

≤ LR?

Sim

End. Físico + RAM

Não

BR

Falha de acesso

•  A cada troca de contexto, o (BR/LR) precisa ser trocado

9

Técnicas baseadas em realocação
Organização da memória: •  com partições fixas (BR e LR só podem assumir determinados valores)‫‏‬
Fila portamanho de partição vs. Fila única

• 

com divisão/agrupamento de partições
Fila única partições tem 2x palavras (p.ex.: 210 ↔ 2 partições de 29)‫‏‬

• 

Memória RAM sem partições (BR e LR assumem qualquer valor)‫‏‬ Outra questão: a)  Processos/jobs mantém a mesma região durante toda a sua execução ? OU b)  Processos podem ser retirados da memória, e posteriromente voltar à memória em...
tracking img