Minix
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
1
Memó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 da memó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 suporta multiprogramaçã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: Comando