TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Gerenciamento De Memoria

Exames: Gerenciamento De Memoria. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  15/10/2013  •  1.457 Palavras (6 Páginas)  •  529 Visualizações

Página 1 de 6

GERENCIAMENTO DE MEMÓRIA

1 GERENCIAMENTO DE MEMÓRIA NO LINUX

O gerenciamento de memória é o que torna o sistema operacional mais rápido e funcional. Assim como o Windows, o Linux possui dois sistemas de gerenciamento de memória, a memória física, que cuida da alocação e liberação de blocos de memória, e a memória virtual, que tem o papel de "enganar" os processos, informando que há memória suficiente quando não há. O Linux é um sistema multiprocessos e multiusuários, então devemos ter um controle rígido sobre a memória, para que um processo não sobreponha os recursos (memória) utilizados pelo outro.

O gerenciamento de memória no Linux é realizado com o auxílio de circuitos de hardware presentes nos microprocessadores. Esses circuitos permitem que o gerenciamento de memória seja mais eficiente e seguro, evitando erros causados por software no acesso à memória.

O acesso à memória física não acontece direto do software. No software especificamos o endereço lógico, que consiste do segmento e de um offset representando a distância entre o endereço que desejamos acessar e o início do segmento. O endereço lógico é compilado por uma unidade de segmentação, que o transforma em um endereço virtual.

O Linux utiliza grande parte dos MBytes livres da memória como cache de disco (porções da memória RAM usadas por arquivos e bibliotecas lidos do HD que têm uma maior probabilidade de serem acessados, uma espécie de Prefetch, o que melhora o desempenho do sistema). Conforme mais memória é requisitada, o sistema passa a abrir mão do cache de disco e passa a mover arquivos e bibliotecas não usadas há algum tempo da memória RAM para a memória virtual ou swap, liberando memória física para os aplicativos.

O Linux possui algoritmos refinados que administram o uso de memória SWAP somente quando necessário. Um endereço virtual é dividido em 5 campos: diretório de páginas (PGD), diretório superior de páginas (PUD), diretório intermediário de páginas (PMD), tabela de páginas (PTE) e deslocamento (offset). A tradução de endereços virtuais para físicos é chamado de TLB (Translation Look-aside Buffers).

Existem basicamente quatro momentos em que o sistema operacional trata de paginação. Tais momentos e os respectivos tratamentos estão descritos a seguir:

1.1 Criação do processo

Determina o tamanho do processo

Cria a tabela de página

1.2 Quando processo ganha CPU

Reseta MMU para novo processso

Limpa TLB

1.3 Interrupção de falta de página

Identifica qual é o endereço lógico causador da falta

Escolhe página a ser substituida

Carrega página requisitada para memória

Completa a instrução de máquina

1.4 Quando processo termina

Desaloca tabela de página e páginas na memória e na área de swaping

O swapping é uma técnica aplicada à gerência de memória para programas que esperam por memória livre para serem executados. Nesta situação, o sistema escolhe um processo residente, que é transferido da memória principal para a memória secundária (swap out), geralmente disco. Posteriormente, o processo é carregado de volta da memória secundária para a memória principal (swap in) e pode continuar sua execução como se nada tivesse ocorrido.

O compartilhamento de memória permite aos processos de trabalhar sob um espaço de endereçamento comum em memória virtual. Para que a técnica de swapping seja implementada, é essencial que o sistema ofereça um loader que implemente a relocação dinâmica de programas.

2 GERENCIAMENTO DE MEMÓRIA NO WINDOWS

A memória solicitada pelos programas é fornecida sob demanda. O Windows trabalha com dois tipos de memória. O primeiro deles é a memória principal, também chamada de física. Ela é a quantidade de RAM instalada em sua máquina, os pentes de memória em si. Já a memória conhecida como virtual é uma espécie de memória auxiliar, usada pelo computador em alguns casos especiais. Essa memória é nada mais do que um arquivo hospedado no disco rígido da máquina, e o Windows usa esse arquivo como se ele fosse uma extensão da memória principal.

A memória física recebe aquilo que o Windows considera essencial, como o próprio sistema operacional e as aplicações que o usuário estiver usando no momento. O restante, ou seja, aquilo que o Windows acredita que não será usado tão urgentemente, fica na memória virtual. Endereços de memória virtual automaticamente são convertidos para endereços de (memória RAM) reais pelo hardware. Apenas a partes centrais do kernel do sistema operacional ignoram a conversão de endereços e usam endereços de memória real diretamente.

Memória virtual é sempre que está sendo usada, mesmo quando a memória necessária para todos os processos em execução não exceda o volume de memória RAM instalada no sistema.

A memória virtual combina a RAM do computador com espaço temporário no disco rígido. Quando a RAM fica insuficiente, a memória virtual move os dados da RAM para um espaço chamado arquivo de paginação (pagefile.sys).

Quanto mais RAM um computador tem, mais rápido ele irá executar os programas. Se a falta de RAM estiver diminuindo o desempenho do computador, é possível que você fique tentado a aumentar a memória virtual para compensar. Entretanto, como o computador pode ler dados da RAM com muito mais rapidez do que de um disco rígido, a melhor solução é adicionar RAM.

O arquivo pagefile.sys é utilizado também para uso interno do sistema, como as informações de despejo de memória.

Técnicas de paginação

Para que a utilização da memória

...

Baixar como (para membros premium)  txt (9.8 Kb)  
Continuar por mais 5 páginas »
Disponível apenas no TrabalhosGratuitos.com