Escolar Documentos
Profissional Documentos
Cultura Documentos
APRESENTAÇÃO
Você sabia que os problemas relacionados à memória impactam diretamente na performance das
aplicações utilizadas pelos usuários? O gerenciador de memória do sistema operacional tem
como função manter o controle de quais partes da memória estão em uso e quais não estão,
alocando memória aos processos, quando necessário, e liberando-a quando os processos forem
encerrados. Além disso, o gerenciador de memória coordena a troca de processos entre a
memória e o disco (quando a memória principal não é suficiente).
Bons estudos.
DESAFIO
INFOGRÁFICO
A técnica de swapping com partições variáveis permite que, a cada instante de tempo, a
memória possa alocar e desalocar processos cujos tamanhos são diferentes. O número e o
tamanho das partições na memória variam conforme os processos são alocados/desalocados.
Introdução
Quando um processo é executado num computador, ele precisa de tempo
de CPU, mas precisa também de memória. Quando os processos são
executados, precisam ocupar espaço na memória para que o computador
possa ler e carregá-los rapidamente. No entanto, em comparação com
nossos discos rígidos, a memória volátil é pequena. Então, para nos dar
mais memória do que temos fisicamente, usamos algo chamado memória
virtual. Trata-se de uma combinação de espaço no disco rígido e na RAM,
que funciona como a memória que os processos podem usar. Quando
executamos um processo, pegamos os dados do programa em partes
que chamamos de páginas. Armazenamos essas páginas na memória
virtual. Se quisermos ler e executar essas páginas, elas devem ser enviadas
para a memória física, ou RAM.
Este é apenas um dos conceitos que temos sobre gerenciamento
de memória em sistemas operacionais. É importante o conhecimento
desses processos para entender como o sistema operacional realiza a
abstração das complexidades.
Neste capítulo, você vai conhecer outros conceitos sobre geren-
ciamento de memória e, ao final, vai definir a hierarquia de armazena-
mento de um computador; vai identificar os modos de gerenciamento
de memória e suas características e vai reconhecer o funcionamento da
memória virtual.
2 Gerência de memória
Hierarquia de armazenamento
A hierarquia de memória organiza o armazenamento do computador com
base no tempo de resposta. Como o tempo de resposta está relacionado à
complexidade e à capacidade, os níveis também podem ser diferenciados por
suas tecnologias de desempenho e controle. A hierarquia de memória afeta
o desempenho no projeto de arquitetura do computador, nas previsões de
algoritmo e nas construções de programação de nível inferior, que envolvem
a localidade de referência (TANENBAUM; BOS, 2014).
O design para alto desempenho requer considerar as restrições da hierarquia
de memória, ou seja, o tamanho e os recursos de cada componente. Cada
um dos vários componentes pode ser visto como parte de uma hierarquia de
memórias (m1, m2, ..., mn) em que cada membro mi é tipicamente menor e
mais rápido que o próximo maior membro mi + 1 da hierarquia. Para limitar
a espera por níveis mais altos, um nível mais baixo responderá preenchendo
um buffer e, em seguida, sinalizando para ativar a transferência.
Existem quatro níveis principais de armazenamento.
Registra-
dores
da CPU
Cache
Nível 1
Nível 2 Áreas de
armazenamento
RAM temporário
Memória Memória
física virtual
Tipos de dispositivos de armazenamento
Armaze- Áreas de
ROM/ Discos namento Disco armazenamento
BIOS removíveis rede/ rígido permanente
internet
Fontes de entrada
Scanner/
câmera/
Mídia microfone/ Fontes Outras
Teclado Mouse removível vídeo remotas fontes
Swapping
Alocação de memória
Fragmentação
Paginação
Segmentação
Memória virtual
A memória virtual (virtual storage) é uma técnica de gerenciamento de memória
que fornece uma “abstração idealizada dos recursos de armazenamento que
estão realmente disponíveis em uma determinada máquina” que “cria a ilusão,
para os usuários, de uma memória muito grande (principal)”.
Usando uma combinação de hardware e software, o sistema operacional
do computador mapeia endereços de memória usados por um programa, cha-
mados endereços virtuais, em endereços físicos na memória do computador. O
armazenamento principal, conforme visto por um processo ou tarefa, aparece
como um espaço de endereço contíguo ou uma coleção de segmentos contíguos.
O sistema operacional gerencia espaços de endereço virtual e a atribuição
de memória real à memória virtual. O hardware de tradução de endereços
na CPU, geralmente chamado de unidade de gerenciamento de memória ou
MMU, converte automaticamente os endereços virtuais em endereços físicos.
O software dentro do sistema operacional pode estender esses recursos para
fornecer um espaço de endereço virtual que pode exceder a capacidade da
10 Gerência de memória
memória real e, portanto, fazer referência a mais memória do que a que está
fisicamente presente no computador.
Os principais benefícios da memória virtual incluem liberar os aplicativos
de ter que gerenciar um espaço de memória compartilhada, aumentar a segu-
rança devido ao isolamento de memória e ser capaz de conceitualmente usar
mais memória do que pode estar fisicamente disponível se usada a técnica
de paginação.
usados para
a tomada de decisão de substituir a página no espaço de
endereço físico. Ao fim, a tabela de páginas será atualizada de acordo e
o sinal será enviado para a CPU, para continuar a execução do programa,
e colocará o processo de volta ao estado pronto.
Tempo de serviço de falha de página — o tempo gasto para atender a
falha de página é chamado de tempo de serviço de falha de página. O
tempo de serviço de falha de página inclui o tempo gasto para executar
todas as seis etapas acima.
No Linux (Ubuntu), você consegue verificar como está o uso de memória do compu-
tador por meio do System Monitor (Figura 3).
Note os indicadores do meio da tela, onde temos as informações Memory and Swap
History. Trata-se de como está o consumo de memória RAM e também do uso do swap.
Nesta imagem, você pode verificar que, dos 7.4 GiB disponíveis, estamos utilizando
6.8 GiB. Como o uso da memória está quase no limite, o sistema operacional gerencia
a troca (swapping) de alguns itens para a partição swap. No caso desse computador,
temos uma partição de 22 GiB reservada para swapping. Logo, o sistema operacional
já moveu alguns itens, totalizando 8,7 GiB de uso no swap.
Gerência de memória 13
DURTE, D. O que é memória virtual. Pura Info, 22 nov. 2012. Disponível em: <https://
www.purainfo.com.br/artigos/o-que-e-memoria-virtual/>. Acesso em: 9 dez. 2018.
TANENBAUM, A. S.; BOS, H. Modern operating system. London: Pearson Education, 2014.
Leituras recomendadas
ARPACI-DUSSEAU, R. H.; ARPACI-DUSSEAU, A. C. Operating systems: three easy pieces.
Dusseau Books, 2014.
GERALDI, L. M. A. Elucidando os sistemas operacionais: um estudo sobre seus conceitos.
Clube de Autores, 2009.
SILBERSCHATZ, A.; GALVIN, P. B.; GAGNE, G. Operating system concepts. New Jersey:
Wiley, 2013.
SILBERSCHATZ, A.; GALVIN, P. B.; GAGNE, G. Sistemas operacionais com Java. 7. ed. São
Paulo: Elsevier Brasil, 2008.
TANENBAUM, A. S. Sistemas operacionais modernos. São Paulo: Pearson Education do
Brasil, 2009.
Conteúdo:
DICA DO PROFESSOR
O vídeo seguinte apresenta o funcionamento da memória virtual, bem como mostra um exemplo
de configuração da memória virtual no sistema operacional Windows.
EXERCÍCIOS
A) Essa técnica consiste em ter somente um processo na memória durante toda sua execução.
C) É uma técnica utilizada para dividir o disco em partições fixas que funcionam como
memória RAM.
D) É uma técnica que aloca 50% do espaço do disco rígido para simular memória RAM.
E) É uma técnica utilizada para simular memória RAM no disco rígido, aumentando a
capacidade de memória do computador.
A) ls -la.
B) Quota.
C) Netstat.
D) Cat/proc/meminfo.
E) Kill.
A) Desfragmentador de disco.
B) Scandisk.
C) Gerenciador de Tarefas.
D) Painel de controle.
E) Barra de tarefas.
NA PRÁTICA
SAIBA MAIS
Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do
professor:
Gerência de Memória