h2 Gerenciamento de Memória: Overlays, Partições e Paginação

Classificado em Tecnologia

Escrito em em português com um tamanho de 3,67 KB.

Sobreposições (Overlays)

As sobreposições permitem que os programadores ‘estendam’ a memória principal. Contudo, a sobreposição manual exige planejamento cuidadoso e demorado, e o programador muitas vezes precisa conhecer detalhadamente a organização da memória do sistema. Um programa cuja sobreposição é complexa pode ser difícil de modificar.

Particionamento Fixo

Permite que a memória contenha mais do que um processo por vez, desde que cada um na sua partição. O número de partições determina o número de processos no sistema e estes não podem ser realocados. Essas partições fixas possuem tamanhos pré-definidos que não podem ser alterados dinamicamente (em tempo de execução). Mudanças de tamanho só são possíveis reiniciando todo o sistema, o que se torna um problema.

Particionamento Dinâmico

Os processos ainda devem ser alocados de forma contígua (não pode subdividi-los). Cada processo recebe uma partição do exato tamanho que solicitou no momento da carga para processamento. Isto foi uma grande evolução comparada às partições fixas, porque não há desperdício de memória, elimina-se a fragmentação interna (organiza a memória em partições fixas com tamanhos variados ou iguais).

First Fit

Busca pela primeira partição livre com espaço suficiente para o processo que fez a requisição. Não leva em conta quanto espaço de sobra essa divisão irá criar, nem se isso significará um desperdício. Bom desempenho, baixa eficiência.

Best Fit

Busca pela partição cuja sobra de memória será a menor, isso resulta em mais espaço para outros processos. Desempenho baixo, boa eficiência.

Worst Fit

Busca em todas as partições e seleciona aquela imediatamente maior, mais custoso, maior grau de fragmentação externa.

Paginação

Problemas tanto em particionamento fixo quanto dinâmico:

Fixo – fragmentação interna

Dinâmico – fragmentação externa e realocação dinâmica

Solução: Processo é dividido em páginas (blocos de processos)

MP é dividida em quadros de mesmo tamanho

Páginas/quadros são de pequeno tamanho (isto é, 1K):

Fragmentação interna pequena

Elimina fragmentação externa

SO mantém uma tabela de páginas por processo. Cada processo tem sua tabela de páginas (TP)

Processo não precisa estar completamente na MP

Processo não precisa ocupar área contígua em memória

Endereços são gerados dinamicamente em tempo de execução

TP: mapeamento página x quadro

Entradas relacionadas: