Escolar Documentos
Profissional Documentos
Cultura Documentos
Gerenciamento de Memria o
Hierarquia de Memria o
Registradores
a Internos ` CPU Extremamente rpidos a Otimizaes de cdigo podem mover temporariamente co o variveis para registradores. a Programas podem dar palpites sobre o que deve car armazenado nos registradores register int r;
Hierarquia de Memria o
Cache
o a Internos ou muito prximos ` CPU Divididos em linhas de cache Controlados por hardware Cache hit Cache miss
Hierarquia de Memria o
Memria Principal o
Random Access Memory (RAM) Compromisso entre preo e desempenho c Armazenamento voltil a
Hierarquia de Memria o
Disco
Read/write head (1 per surface) Surface 7 Surface 6 Surface 5 Surface 4 Surface 3 Direction of arm motion Surface 2 Surface 1 Surface 0
Hierarquia de Memria o
Fitas magnticas e
o c Utilizadas para cpias de segurana (backups) Armazenamento de grandes quantidades de dados Acesso seqencial u
Hierarquia de Memria o
Outros tipos de memria o
ROM (Read Only Memory) rpida e barata a bootstrap loader est gravado em ROM a EEPROM (Electrically Erasable ROM) podem ser apagadas (erros podem ser corrigidos) CMOS dependem de uma bateria armazenam relgio e conguraes o co
Monoprogramao ca
0xFFF Operating system in ROM Device drivers in ROM User program
mainframes
palmtops
MS-DOS
Partition 3
Partition 3
Swapping
CPU
Admission scheduler
Memory scheduler
Disk
Swapping
Time C C C C C
B A
A D Operating system (c) Operating system (d) Operating system (e) D Operating system (f) D Operating system (g)
Relocao e Proteo ca ca
Relocao: um programa deve poder rodar em endereos ca c f sicos distintos. Proteo: um programa no pode fazer acesso ` rea de ca a aa memria reservada a outro programa. o
Bits de proteo ca
1010 1010 1010 0011 0011 O PSW de cada processo deve conter os bits de proteo ca
Limit
A-Stack Room for growth Room for growth A-Data A Operating system (a) Actually in use A-Program Operating system (b)
Gap Data Text 0000 Stack Address (hex) FFFF
Compactao de memria ca o
A B C A B C
Atualizao da lista ca
Before X terminates (a) (b) (c) (d) A A X X X X B B becomes becomes becomes becomes After X terminates A A B B
Overlays
dados d1, d2, d3, d4, d5; f1(); f2(); f3(); g1(); g2(); g3(); h1(); h2(); h3();
/* funoes f e dados d1, d2, d3 */ c /* funoes g e dados d1, d2, d4 */ c /* funoes h e dados d1, d2, d5 */ c
Memria Virtual o
CPU package CPU Memory management unit Memory Disk controller The CPU sends virtual addresses to the MMU
Paginao ca
Virtual address space 60K-64K 56K-60K 52K-56K 48K-52K 44K-48K 40K-44K 36K-40K 32K-36K 28K-32K 24K-28K 20K-24K 16K-20K 12K-16K 8K-12K 4K-8K 0K-4K X X X X 7 X 5 X X X 3 4 0 6 1 2 Physical memory address 28K-32K 24K-28K 20K-24K 16K-20K 12K-16K 8K-12K 4K-8K 0K-4K Page frame Virtual page
Page table
Paginao - Exemplo ca
32 bits de endereo c pginas de 4k a 20 primeiros bits indicam a pgina a 12 ultimos bits indicam o deslocamento dentro da pgina a Veja o cdigo pagesize.c o
Espao de endereamento c c
Apenas as pginas ocupadas precisam ser mapeadas a Veja o cdigo sbrk.c o
Address (hex) FFFF Stack Gap Data Text 0000