Você está na página 1de 17

SISTEMAS OPERACIONAIS

GERÊNCIA DE MEMÓRIA
GERÊNCIA DE MEMÓRIA

 Programas cada vez maiores



Memórias não avançam no mesmo ritmo

Memórias têm espaço limitado

Memórias são caras
 Sistemas operacionais criam abstrações para garantir a
execução correta dos programas e melhor utilizar a
hierarquia de memória
 O Gerenciador de Memória é a parte do SO responsável por:

controlar quais partes estão sendo utilizadas

Alocar memória para os processos

Liberar memória quando os processos finalizarem

PROF: JOSÉ COUTO JÚNIOR


GERÊNCIA DE MEMÓRIA
MEMÓRIA SEM ABSTRAÇÃO

 Abordaremos inicialmente a memória sem nenhuma abstração


→ primeiros computadores
 O programador tinha acesso à memória física
 Endereços utilizados na programação eram os da memória.

Ex: mov REGISTER1,100
 Não era possível ter 2 programas sendo executados ao mesmo
tempo
 Paralelismo pode ser obtido com programação em threads

Threads têm acesso ao mesmo espaço de memória do
programa principal

Solução limitada, já que não resolve o problema de rodar
programas distintos

PROF: JOSÉ COUTO JÚNIOR


GERÊNCIA DE MEMÓRIA
MEMÓRIA SEM ABSTRAÇÃO – EXECUTANDO MÚLTIPLOS PROGRAMAS

 A execução de múltiplos programas pode ser


realizado através do SWAP

O SO salva o conteúdo da memória em um arquivo
de disco

O SO solicita o próximo processo ao disco e o
carrega na memória
 Hardwares especiais também podem ser utilizados
para realizar o swap

PROF: JOSÉ COUTO JÚNIOR


GERÊNCIA DE MEMÓRIA
ESPAÇOS DE ENDEREÇAMENTO

 Permitir que o usuário defina os endereços de  Solução: espaço de endereçamento


memória utilizados pelo programa, gera um risco de  É o conjunto de endereços que um processo pode
invasão de espaço.
usar para endereçar a memória

Um programa pode usar o endereço de outro e  Cada processo tem seu espaço de endereçamento
interromper a sua execução
 Realocação dinâmica: mapea o espaço de

Dificulta a execução de múltiplos programas
endereçamento de cada processo em uma parte
simultaneamente
diferente da memória física de uma maneira simples
 Dois problemas precisam sem resolvidos:

Proteção dos endereços de memória

Realocação de espaço de memória

PROF: JOSÉ COUTO JÚNIOR


GERÊNCIA DE MEMÓRIA
ESPAÇOS DE ENDEREÇAMENTO

PROF: JOSÉ COUTO JÚNIOR


GERÊNCIA DE MEMÓRIA
TROCA DE PROCESSOS (SWAPPING)

 Memória RAM nem sempre é grande suficiente pra suportar todos os  Quando as trocas de processos criam múltiplos espaços de memória,
processos em execução é possível combiná-los em um grande espaço movendo todos os
 O Swap consiste em trazer cada processo em sua totalidade (SWAP- processos para baixo, o máximo possível → compactação de memória
IN), executá-lo e por um tempo e então colocá-lo de volta no disco  Exige muito tempo de CPU
(SWAP-OUT)

PROF: JOSÉ COUTO JÚNIOR


GERÊNCIA DE MEMÓRIA
TROCA DE PROCESSOS (SWAPPING)

 Porém programas podem


crescer e a solução anterior
não suporta
 Estratégia: alocação de espaço
para expansão

PROF: JOSÉ COUTO JÚNIOR


GERÊNCIA DE MEMÓRIA
ESTRUTURAS PARA GERENCIAMENTO DE
MEMÓRIA LIVRE

 Mapa de Bits  Lista Encadeada

PROF: JOSÉ COUTO JÚNIOR


GERÊNCIA DE MEMÓRIA
ALGORITMOS DE ALOCAÇÃO

 Primeira escolha  Melhor escolha  Pior escolha



Busca o primeiro

Percorre a lista inteira e ●
Busca o maior espaço livre e
espaço livre que caiba o aloca o processo no aloca o processo
processo menos espaço livre que
caiba o processo

PROF: JOSÉ COUTO JÚNIOR


GERÊNCIA DE MEMÓRIA
MEMÓRIA VIRTUAL

 Como gerenciar os bloatwares (softwares que usam  Memória Virtual é uma técnica que usa a memória
quantidades excessivas de memória) secundária como “cache” para partes de espaço de
 Uso de memória pelos softwares cresce mais rápido processos
que o tamanho das memórias disponíveis no  Com isso, é possível executar programas maiores
mercado que a RAM
 Programadores antigos se preocupavam em dividir  Um processo usa endereços virtuais e não físicos
os programas em módulos para reduzir a ocupação ●
MMU é utilizada para conversão (hardware
da memória
componente da CPU)

Trabalho chato, demorado e propenso a erros
 Solução: memória virtual

PROF: JOSÉ COUTO JÚNIOR


GERÊNCIA DE MEMÓRIA
MEMÓRIA VIRTUAL

 A memória virtual funciona bem em um sistema de 


multiprogramação, com pedaços e partes de muitos
programas na memória simultaneamente. Enquanto
um programa está esperando que partes de si
mesmo sejam lidas, a CPU pode ser dada para outro
processo.

PROF: JOSÉ COUTO JÚNIOR


GERÊNCIA DE MEMÓRIA
TÉCNICAS DE MEMÓRIA VIRTUAL

 Paginação  As técnicas não são excludentes



Processo é quebrado em páginas de tamanho fixo  Muitos SOs usam uma mistura das duas técnicas
(Ex 4 KB)

Espaço de endereçamento virtual dividido em
máquinas virtuais
 Segmentação

Blocos de tamanho arbitrário chamados de
segmentos

Contém mesmo tipo de informação (dados, pilha,
código)

PROF: JOSÉ COUTO JÚNIOR


GERÊNCIA DE MEMÓRIA
PAGINAÇÃO - TERMOS

 Páginas – unidades de tamanho fico no dispositivo  As técnicas não são excludentes


secundário (disco)  Muitos SOs usam uma mistura das duas técnicas
 Frames – unidades correspondentes às páginas na
memória física (RAM)
 Page Fault – evento quando uma página que não está
na RAM é referenciada (comando TRAP é enviado
para a busca da página)
 Tabela de páginas – Estrutura para mapear uma
página ao frame correspondente (cada processo tem
sua tabela)

PROF: JOSÉ COUTO JÚNIOR


GERÊNCIA DE MEMÓRIA
MEMÓRIA VIRTUAL - PAGINAÇÃO

 Quando a memória virtual é usada, os endereços


virtuais não vão diretamente para o barramento da
memória. Em vez disso, eles vão para uma MMU
(Memory Management Unit — unidade de
gerenciamento de memória) que mapeia os
endereços virtuais em endereços de memória física

PROF: JOSÉ COUTO JÚNIOR


GERÊNCIA DE MEMÓRIA
MEMÓRIA VIRTUAL - PAGINAÇÃO

 Ex:

Computador gera endereços de 0 a 64K
(endereços virtuais)

Memória física com 32K endereços

Páginas e quadro de páginas de mesmo tamanho =
4K (podem ser maiores e não necessariamente são
do mesmo tamanho)

Transferências entre a memória RAM e o disco são
sempre em páginas inteiras

PROF: JOSÉ COUTO JÚNIOR


GERÊNCIA DE MEMÓRIA
MEMÓRIA VIRTUAL – TABELAS DE PÁGINAS

 Ex:

PROF: JOSÉ COUTO JÚNIOR

Você também pode gostar