gerência da memória memória virtual - ime.usp.bradao/gm_mv.pdf · 4 principais funções da...

22
1 Gerência da Memória Memória Virtual Adão de Melo Neto

Upload: trankhanh

Post on 20-Oct-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

1

Gerência da MemóriaMemória Virtual

Adão de Melo Neto

2

Memória PrincipalAntigamente– Recurso escasso– Desenvolvimento de um sistema operacional (SO) que não

ocupassem muito espaço de memória principal (MP)

Atualmente– Redução do custo e aumento da capacidade das MP– O gerenciamento da MP continua a ser um dos fatores mais

importantes do projeto de um sistema operacional

3

Memória PrincipalSistemas Monoprogramáveis– Gerência não muito complexa

Sistemas Multiprogramáveis– Gerência crítica– Maximizar o número de usuários e aplicações utilizando de

forma eficiente o espaço da memória principal

4

Principais Funções da Gerência daMemória Principal

Reduzir o número de acessos a memória secundária(operações de E/S)– Tempo de acesso

Manter na MP o maior número possível de processos– Maximizar o compartilhamento do processador e dos

recurso computacionais

MemóriaSecundária

5

Principais Funções da Gerência daMemória Principal

Mesmo não havendo espaço livre permitir que novosprocessos sejam aceitos e executadosPermitir a execução de programas maiores que amemória física disponívelProteger a área de memória ocupada por cada processo

MemóriaSecundária

Processo 1Processo 2Processo 3Processo 4

Memória

6

Alocação Contínua SimplesPresente em alguns sistemas monoprogramáveisMP em duas partes:– Sistema Operacional // Programa do usuário

Preocupação:– Não ultrapassar o espaço de memória disponível

Usuário– Total controle da MO, exceto onde está o SO (endereço protegido por

registrador)Desvantagem– Não permite o uso eficiente dos recursos do sistema– Apenas um usuário pode dispor desses recursos

7

Segmentação de ProgramasVantagem– Os programas não estão limitados ao tamanho da MP

Solução utilizada:– Divisão dos programas em módulos– Execução de cada módulo utilizando a mesma área de memória– Nome da técnica: segmentação ou overlay

Exemplo:– Módulos: principal, cadastramento e impressão (independentes)– Módulo principal:

• É comum aos dois e deve estar na memória todo o tempo de execução

Compartilhada entre os módulos

Tamanho do Programa9 KB

8

Alocação Particionada EstáticaMemória dividida em blocos de tamanho fixo chamados de partiçõesTamanho das partições– Estabelecido em tempo de inicialização do sistema– Função do tamanho dos programas que seriam executados.

Desvantagem: Fragmentação internaAlocação particionada estática absoluta– Programas só podem ser carregados/executados em uma partição fixa

de memóriaAlocação particionada estática relocável– Programas podem ser carregados/executados em qualquer partição livre

na memória

9

Alocação Particionada Estática Absoluta

10

Alocação Particionada EstáticaMemória dividida em blocos de tamanho fixo chamados de partiçõesTamanho das partições– Estabelecido em tempo de inicialização do sistema– Função do tamanho dos programas que seriam executados.

Desvantagem: Fragmentação internaAlocação particionada estática absoluta– Programas só podem ser carregados/executados em uma partição fixa

de memóriaAlocação particionada estática relocável– Programas podem ser carregados/executados em qualquer partição livre

na memória

11

Alocação Particionada Estática Relocável

12

Alocação Particionada EstáticaMemória dividida em blocos de tamanho fixo chamados de partiçõesTamanho das partições– Estabelecido em tempo de inicialização do sistema– Função do tamanho dos programas que seriam executados.

Desvantagem: Fragmentação interna

13

Alocação Particionada DinâmicaFragmentação na Alocação Particionada Estática:– É um problema a ser resolvido a fim de o grau de compartilhamento da

memória fosse aumentadoEliminado o conceito de partição fixa– Tamanho da partição = tamanho do programa ser carregado.

Fragmentação externa– Ao término de um programa e início de outro, passam a existir na

memória blocos cada vez menores, não permitindo o ingresso de novosprogramas

Solução– Reunião de todos os blocos livres adjacente (nova partição)– Realocação particionada dinâmica com realocação (realocação de

todas as partições ainda ocupadas para a parte inicial da memória,eliminado blocos livres entre elas)

Dificuldade– Devido a complexidade dos algoritmos, nem todos os sistemas

operacionais a utilizaram

14

Alocação Particionada Dinâmica

15

Alocação Particionada DinâmicaFragmentação externa– Ao término de um programa e início de outro, passam a existir na

memória blocos cada vez menores, não permitindo o ingresso de novosprogramas

16

Estratégias de Alocação de PartiçãoEm qual área livre um programa será alocado para execução– 3 estratégias

O que existe ?– uma lista de áreas livres com endereço e o tamanho de cada área

Estratégias de Alocação– Best-fit– Worst-fit– First-fit

17

Estratégias de Alocação de Partição(BEST-FIT)

É escolhida a melhor partição, a que deixa o menor espaçolivre sem utilizaçãoDesvantagem:– Acelera a fragmentação– São alocados primeiramente as partições menores deixando

pequenos blocos fazendo com que a fragmentação apareça maisrapidamente

18

Estratégias de Alocação de Partição(BEST-FIT)

19

Estratégias de Alocação de Partição(WORST-FIT)

É escolhida a pior partição, ou seja, a que deixa maiorespaço livreVantagem:– São alocados primeiramente as partições maiores.– Deixa espaços livre grandes o suficiente para que outros programas

utilizem estes espaços. Permite que um maior número de processosse utilizem da memória. Retarda a fragmentação

20

Estratégias de Alocação de Partição(WORST-FIT)

21

Estratégias de Alocação de Partição(FIRST-FIT)

Esta estratégia aloca o programa na primeira partição que ocouber, independente do espaço livre que vai deixar. Dastrês estratégias, esta é a mais rápida, consumindo menosrecursos do sistema.Vantagem:– Das três estratégias, esta é a mais rápida, consumindo menos

recursos do sistema.

22

Estratégias de Alocação de Partição(FIRST-FIT)