Buscar

7 Gerenciamento de Memória Real

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 46 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

SISTEMAS OPERACIONAIS
Gerenciamento de Memória Real
Ana Cristina Alves de Oliveira Dantas
ana.oliveira@ifpb.edu.br
IFPB – Instituto Federal da Paraíba
Campus Campina Grande
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
2
“Programas tendem a se expandir a fim de ocupar toda memória 
disponível”
(Lei de Parkinson)
■ A necessidade do gerenciamento da memória real (também denominada memória física)
■ A hierarquia da memória
■ Alocação de memória contígua e não contígua
■ Multiprogramação por partição fixa e variável
■ Troca (swapping) de memória
■ Estratégias de posicionamento de memória
Organização e Gerenciamento da Memória Real3
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Introdução
 A memória divide-se em camadas:
 Memória principal
 Relativamente cara
 Capacidade relativamente pequena
 Alto desempenho
 Armazenamento secundário
 Barato
 Grande capacidade
 Baixo desempenho
 A memória principal precisa ser gerenciada com cuidado
4
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Organização da memória
 A memória pode ser organizada de diferentes formas:
 Um processo usa todo o espaço de memória
 Cada processo obtém uma partição exclusiva na memória
 Alocada dinâmica ou estaticamente
 Tendência: a necessidade de memória das aplicações tende a 
aumentar ao longo do tempo para atender à capacidade de 
memória principal
5
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Requisitos de memória do sistema operacional Microsoft Windows
Organização da memória
6
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Organização da Memória
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
7
 Windows Vista Home Basic
 RAM: 512 megabytes (MB) 
 Windows 7
 RAM: 1 GB (32 bits) ou 2 GB (64 bits) 
 Windows 8.1 
 RAM: 1 GB (32 bits) ou 2 GB (64 bits) 
 Windows 10
 RAM: 1 GB (32 bits) ou 2 GB (64 bits) 
Gerenciamento de memória
 É preciso estratégias para se obter um desempenho de memória ideal
 Gerenciamento executado por um gerenciador de memória
 Que processo permanecerá na memória?
 A que quantidade de memória cada processo tem acesso?
 Onde cada processo ficará na memória?
8
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Hierarquia de memória
 Memória principal
 Deve armazenar apenas instruções de programa e dados necessários no momento
 Armazenamento secundário
 Armazena dados e programas que não são constantemente necessários
 Memória cache
 Sua velocidade é extremamente alta
 Normalmente se localiza no próprio processador
 Os dados mais comumente usados são copiados para o cache para que possam
ser acessados mais rapidamente
 Uma pequena quantidade de cache é suficiente para melhorar o desempenho
9
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Estratégias de gerenciamento de memória
 Estratégias de busca
 Sob demanda ou antecipada
 Determinam que porção de dados será transferida
 Estratégias de posicionamento
 Determinam em que lugar os dados que estão chegando serão colocados
na memória principal
 Estratégias de substituição
 Determina que dados serão removidos da memória principal para liberar
espaço
10
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Alocação de memória contígua e não contígua
 Alocar = preencher, utilizar
 Formas de organização dos programas na memória:
 Alocação contígua
 Alocação não contígua
11
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Alocação de Memória Contígua
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
12
 Contígua = contínua, em um único bloco
 Alocação contígua
 O programa deve estar em um bloco único de endereços contíguos
 Às vezes é impossível encontrar um bloco grande o suficiente
 Sua sobrecarga é baixa
Alocação de Memória Não Contígua
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
13
 O programa é dividido em porções denominadas segmentos
 Os segmentos podem ser posicionados em partes diferentes da
memória
 É fácil encontrar “lacunas” nas quais o segmento possa se encaixar
 Pelo fato de poder haver mais processos simultâneos na memória, isso
compensa a sobrecarga própria dessa técnica
Alocação de memória contígua 
em sistema monousuário
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
14
 Um único usuário detinha o controle de toda a máquina
 Os recursos não tinham de ser compartilhados
 Originalmente, não havia sistema operacional no computador
 O programador escrevia o código para executar o gerenciamento de 
recursos
 Sistema de controle de entrada/saída (IOCS)
 Bibliotecas de códigos pré-escritos para gerenciar dispositivos de E/S
 Precursor dos sistemas operacionais
Alocação de memória contígua em sistema monousuário
Alocação de memória contígua
em sistema monousuário
15
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Sobreposições (Overlays)
 O programa é dividido em seções lógicas
 Coloca na memória apenas as seções ativas no momento
 Apresenta sérios inconvenientes:
 Dificuldade de organizar as sobreposições a fim de usar a memória
principal de modo eficaz
 Dificulta alterações no programa
16
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
A sobreposição é uma técnica de programação que 
procura superar limitações da alocação contígua.
Estrutura de Sobreposição
17
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Proteção em um sistema monousuário
 O sistema operacional não deve ser prejudicado pelos programas
 Deve-se proteger a região de memória destinada ao SO
 O sistema não conseguirá funcionar se o SO for sobregravado
 Registrador de fronteira
 Contém o endereço em que o espaço de memória do programa inicia
 Todo acesso à memória, fora dessa fronteira, é negado
 Só pode ser definido por comandos privilegiados
18
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Proteção de memória com alocação de memória contígua em
sistema monousuário
Proteção em um sistema monousuário
19
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
O Registrador de 
Fronteira delimita a 
regíão de memória 
protegida.
Multiprogramação
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
20
 As solicitações E/S podem reter o processador por longos períodos
 Existindo mais de um programa para ser executado, o processador não ficará 
ocioso (otimização de CPU)
 Quando mais de um programa pode ser executado, mais de um 
programa requisitará espaço em memória
 A memória física poderá ser dividida (particionada)
 Partições fixas
 Partições variáveis
Multiprogramação
 O processo que não usa constantemente o processador deve cedê-lo 
a outros
 Exige que diversos processos permaneçam na memória
simultaneamente
21
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Utilização do processador em um sistema monousuário. [Nota: Em muitos
jobs monousuário, as esperas de E/S são muito mais longas em relação aos
períodos de utilização do processador indicados neste diagrama.]
Diferenças entre utilização da CPU por processos
diferentes
22
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Multiprogramação por partição fixa
 Todo processo ativo recebe um bloco de tamanho único da memória
 A CPU alterna rapidamente de um processo para o outro
 Vários registradores que delimitam a fronteira entre as regiões de 
memória oferecem proteção contra prejuízos
23
Gerenciamento de Memória Real - Prof.Ana Cristina Dantas
Multiprogramação por partição fixa com tradução e 
carregamento absolutos
Multiprogramação por partição fixa
24
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Multiprogramação por partição fixa
 Inconvenientes das partições fixas:
 Antes, as implementações usavam endereços absolutos
 Se a partição solicitada estivesse cheia, o código não conseguia carregar
 Posteriormente, isso foi solucionado pelos compiladores de realocação
 Realocação
 Capacidade de mudar os limites de memória para um programa no momento em
que ele será carregado
25
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Multiprogramação por partição fixa
26
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Desperdício de memória na multiprogramação por partição
fixa com tradução e carregamento absolutos.
Multiprogramação por partição fixa com tradução e carregamento
realocáveis
Multiprogramação por partição fixa
27
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Multiprogramação por partição fixa
 Deve-se proteger o espaço reservado a uma partição
 Restringir o processo de usuário a uma área da memória física
 Não pode ser modificado em modo usuário
 Como? Usando registradores de fronteira
28
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Registradores de Fronteira
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
29
 Base
 Determina o deslocamento de posições necessário para que a CPU possa
encontrar a região de memória
 Endereço inicial da partição na memória
 Conhecido também como limite baixo
 Limite
 Pode representar limite inferior ou superior
 Conhecido também como limite alto
Proteção da memória em sistemas de multiprogramação
de alocação contígua.
Multiprogramação por partição fixa
30
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Multiprogramação por partição fixa
 Inconvenientes das partições fixas
 Fragmentação interna
 Se processo não ocupa a partição inteira, isso desperdiça memória
31
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Fragmentação interna em um sistema de 
multiprogramação por partição fixa.
Multiprogramação por partição fixa
32
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Designações de 
partições iniciais na
programação por
partição variável.
Multiprogramação por partição variável
33
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Multiprogramação por partição variável
 Para os projetistas de sistema, as partições fixas apresentam muitas
restrições
 Existe a possibilidade de os processos ficarem muito grandes e não se 
encaixarem em nenhum lugar
 Fragmentação interna
 As partições variáveis foram desenvolvidas para substituí-las
34
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Características da partição variável
 Os jobs são posicionados no lugar em que se encaixam
 Inicialmente, nenhum espaço é desperdiçado
 Não é possível haver fragmentação interna
 As partições têm exatamente o tamanho que precisam
 Pode ocorrer fragmentação externa quando algum processo for removido
 As lacunas (espaços livres) deixadas para novos processos são muito pequenas
 Existe a possibilidade de não haver espaço livre suficiente para novos processos
35
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
“Lacunas” de memória em multiprogramação por partição
variável.
Características da partição variável
36
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Características da partição variável
 Existem várias formas de combater a fragmentação externa
 Coalescência
 Reúne blocos livres adjacentes em um único bloco grande
 Em geral isso não é suficiente para obter uma quantidade significativa de memória
 Compactação
 Às vezes é chamada coleta de lixo (que não deve ser confundida com a coleta de 
lixo nas linguagens orientadas a objeto)
 Reorganização da memória em um único bloco contíguo de espaço livre e em um 
único bloco contíguo de espaço ocupado
 Possibilita que todos espaços livres fiquem disponíveis
 A sobrecarga é significativa
37
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Coalescência de “lacunas” de memória em
multiprogramação por partição variável.
Características da partição variável
38
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Compactação de memória em multiprogramação
por partição variável.
Características da partição variável
39
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Estratégias de posicionamento de memória
 Onde posicionar os processos que estão chegando
 Estratégia do que couber primeiro (First-fit)
 O processo é posicionado na primeira lacuna de tamanho suficiente encontrada
 Sobrecarga baixa no tempo de execução
 Estratégia do que couber melhor (Best-fit)
 O processo é posicionado na lacuna que deixar o menor espaço não utilizado ao seu redor
 Maior sobrecarga no tempo de execução
 Estratégia do que couber pior (Worst-fit)
 O processo é posicionado na lacuna que deixar o maior espaço não utilizado ao seu redor
 Nesses casos, é deixada uma outra grande lacuna, o que permite que outro processo caiba
nessa lacuna
40
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Estratégias de posicionamento na memória o primeiro
que couber, o que melhor couber, o que pior couber
(Parte 1 de 3)
Estratégias de posicionamento de memória
41
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Estratégias de posicionamento na memória o primeiro que
couber, o que melhor couber, o que pior couber (Parte 2 de 3).
Estratégias de posicionamento de memória
42
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Estratégias de posicionamento na memória o primeiro
que couber, o que melhor couber, o que pior couber
(Parte 3 de 3).
Estratégias de posicionamento de memória
43
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Multiprogramação com troca
de memória (swapping)
 Não há necessidade de manter processos inativos na memória
 Troca (Swapping)
 Coloca apenas processos em execução na memória principal
 Outros são temporariamente transferidos para o armazenamento secundário
 Isso maximiza a memória disponível
 Há uma sobrecarga significativa quando do chaveamento de processos
 Melhoria: mantém diversos processos na memória ao mesmo tempo
 Menos memória disponível
 Tempos de resposta mais rápidos
44
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Multiprogramação em um sistema de troca de processos (swapping) 
no qual há somente um único processo por vez na memória principal.
Multiprogramação com troca
de memória (swapping)
45
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas
Bibliografia
 DEITEL & CHOFFNES. Sistemas Operacionais. Editora Prentice-Hall, 3ª 
Edição, 2005. ISBN: 8576050110.
 Capítulos 9: Organização e Gerenciamento da Memória Real
46
Gerenciamento de Memória Real - Prof. Ana Cristina Dantas

Outros materiais