gerência de memória -...

14
Sistemas Operacionais [email protected] Gerência de Memória Carlos Gustavo A. da Rocha

Upload: buihanh

Post on 09-Dec-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Gerência de Memória - diatinf.ifrn.edu.brdiatinf.ifrn.edu.br/...media=user:1379492:sistemas_operacionais:7... · Sistemas Operacionais carlos.rocha@ifrn.edu.br Gerência de Memória

Sistemas [email protected]

Gerência de Memória

Carlos Gustavo A. da Rocha

Page 2: Gerência de Memória - diatinf.ifrn.edu.brdiatinf.ifrn.edu.br/...media=user:1379492:sistemas_operacionais:7... · Sistemas Operacionais carlos.rocha@ifrn.edu.br Gerência de Memória

Sistemas [email protected]

Gerência de Memória

● A memória principal (RAM) é um recurso importante, e deve ser gerenciado com cuidado● Nossos computadores pessoais possuem memória

milhares de vezes maior que a dos maiores supercomputadores da década de 60

● Contudo os programas continuam a ficar maiores, e mais “famintos” por memória

Como o SO realiza este gerenciamento ?

Page 3: Gerência de Memória - diatinf.ifrn.edu.brdiatinf.ifrn.edu.br/...media=user:1379492:sistemas_operacionais:7... · Sistemas Operacionais carlos.rocha@ifrn.edu.br Gerência de Memória

Sistemas [email protected]

Gerência de Memória

● Introdução● Para todo programador o

computador ideal possui memória totalmente disponível aos seus programas, infinitamente grande e rápida, e que não perca nenhum dado, caso ocorra algum bug ou o computador seja acidentalmente desligado

Page 4: Gerência de Memória - diatinf.ifrn.edu.brdiatinf.ifrn.edu.br/...media=user:1379492:sistemas_operacionais:7... · Sistemas Operacionais carlos.rocha@ifrn.edu.br Gerência de Memória

Sistemas [email protected]

Gerência de Memória

● Introdução● Além dos requisitos

anteriores, porque não torna-la barata, ou quase gratuita…

● O fato é que tal memória não existe (mantemos a esperança de que alguém aqui vai descobrir como fabricá-la)…

Page 5: Gerência de Memória - diatinf.ifrn.edu.brdiatinf.ifrn.edu.br/...media=user:1379492:sistemas_operacionais:7... · Sistemas Operacionais carlos.rocha@ifrn.edu.br Gerência de Memória

Sistemas [email protected]

Gerência de Memória

● Introdução● A alternativa realística, ao longo dos anos, tem sido

criar uma hierarquia de memória com– Poucos megabytes de memória extremamente rápida,

muito cara e volátil. (Cache)– Poucos gigabytes de memória com velocidade e preços

médios, mas ainda volátil. (RAM)– Poucos terabytes (ou muitos gigabytes) de memória

lenta, barata e não volátil. (Discos Rígidos)

Page 6: Gerência de Memória - diatinf.ifrn.edu.brdiatinf.ifrn.edu.br/...media=user:1379492:sistemas_operacionais:7... · Sistemas Operacionais carlos.rocha@ifrn.edu.br Gerência de Memória

Sistemas [email protected]

Gerência de Memória

● Introdução● É trabalho do sistema operacional abstrair esta

hierarquia, tornando o uso das diferentes memórias “transparentes” para o usuário

● Duas funções principais do SO estão ligados ao gerenciamento desta hierarquia – Gerenciamento de memória (que estudaremos agora)– Sistemas de arquivos (que estudaremos em breve)

Page 7: Gerência de Memória - diatinf.ifrn.edu.brdiatinf.ifrn.edu.br/...media=user:1379492:sistemas_operacionais:7... · Sistemas Operacionais carlos.rocha@ifrn.edu.br Gerência de Memória

Sistemas [email protected]

Gerência de Memória

● Introdução● O gerenciamento de

memória deve– Manter o controle de quais

partes, de quais memórias, estão livres e ocupadas

– Alocar memória a processos, quando eles necessitarem

– Desalocar a memória, quando eles não precisarem mais

Page 8: Gerência de Memória - diatinf.ifrn.edu.brdiatinf.ifrn.edu.br/...media=user:1379492:sistemas_operacionais:7... · Sistemas Operacionais carlos.rocha@ifrn.edu.br Gerência de Memória

Sistemas [email protected]

Gerência de Memória

● Sistemas sem abstração (ou gerência) de memória● Computadores da década de 60, 70 e o IBM-PC,

com sistema operacional MS-DOS realizavam pouca, ou nenhuma gerência de memória– Cada programa “avistava” todos os registradores, cache

(se houvesse) e memória RAM– Normalmente estes sistemas executavam um programa

por vez, que podia utilizar toda a memória RAM

Page 9: Gerência de Memória - diatinf.ifrn.edu.brdiatinf.ifrn.edu.br/...media=user:1379492:sistemas_operacionais:7... · Sistemas Operacionais carlos.rocha@ifrn.edu.br Gerência de Memória

Sistemas [email protected]

Gerência de Memória

● Sistemas sem abstração (ou gerência) de memória● Atualmente voltamos a ter sistemas com esta

abordagem em tocadores de mídia, eletrodomésticos, celulares simples etc

Page 10: Gerência de Memória - diatinf.ifrn.edu.brdiatinf.ifrn.edu.br/...media=user:1379492:sistemas_operacionais:7... · Sistemas Operacionais carlos.rocha@ifrn.edu.br Gerência de Memória

Sistemas [email protected]

Gerência de Memória

● Espaços de endereçamento● Expor a memória física aos processos possui

algumas desvantagens– Cada processo pode utilizar toda a memória, ocupando

até mesmo a utilizada pelo próprio SO (o que irá resultar em um “travamento”)

– Fica complicado, ou impossível, implementar multiprogramação, essencial nos computadores desktop, servidores, computadores de grande porte etc

Page 11: Gerência de Memória - diatinf.ifrn.edu.brdiatinf.ifrn.edu.br/...media=user:1379492:sistemas_operacionais:7... · Sistemas Operacionais carlos.rocha@ifrn.edu.br Gerência de Memória

Sistemas [email protected]

Gerência de Memória

● Espaços de endereçamento● Para permitir a multiprogramação, dois problemas

devem ser resolvidos– Proteção: garante que processos não irão interferir na

memória utilizada por outros, ou pelo próprio SO– Relocação: permite que um programa possa ser

“carregado” em qualquer local da memória física

Page 12: Gerência de Memória - diatinf.ifrn.edu.brdiatinf.ifrn.edu.br/...media=user:1379492:sistemas_operacionais:7... · Sistemas Operacionais carlos.rocha@ifrn.edu.br Gerência de Memória

Sistemas [email protected]

Gerência de Memória

● Espaços de endereçamento● Criam uma espécie de memória abstrata (ou virtual)

para os processos– São representados por um conjunto de endereços

(virtuais) que cada processo pode utilizar para acessar a sua memória (real)

– Cada processo possui seu próprio espaço de endereçamento, independente do pertencente aos outros processos

Page 13: Gerência de Memória - diatinf.ifrn.edu.brdiatinf.ifrn.edu.br/...media=user:1379492:sistemas_operacionais:7... · Sistemas Operacionais carlos.rocha@ifrn.edu.br Gerência de Memória

Sistemas [email protected]

Gerência de Memória

● Swap● O total de memória RAM necessária para todos os

processos é frequentemente maior que a RAM– A estratégia atual utilizada por sistemas operacionais

como Windows, Linux, Mac OS X, permite que parte de cada processo esteja na memória RAM, e outra em uma partição ou arquivo especial do disco rígido

– A escolha de quais partes de quais processos serão mantidas no disco é de grande importância para o desempenho da máquina

– Esta técnica é conceitualmente chamada de memória virtual, e popularmente de swap

Page 14: Gerência de Memória - diatinf.ifrn.edu.brdiatinf.ifrn.edu.br/...media=user:1379492:sistemas_operacionais:7... · Sistemas Operacionais carlos.rocha@ifrn.edu.br Gerência de Memória

Sistemas [email protected]

Gerência de Memória