Menu
Entrar

Registre-se

Índice

Home

Quem sou

Produtos

Prestação de Serviços

Notícias

Apostilas Especias

Vídeo Aulas(BETA)

Downloads

Fórum

Busca

Contato


Fórum

PC CONGELA DO NADA
(18/06/2010 00:39hs)

Deixe suas dúvidas aqui.
(11/03/2010 17:13hs)

sem video
(26/02/2010 15:56hs)

Usb
(10/02/2010 07:27hs)

O que eu preciso como tecnico?
(25/11/2009 21:17hs)

Software
(25/11/2009 21:04hs)


(24/11/2009 17:32hs)

ShadowUser realmente protege o pc?
(17/06/2009 04:39hs)

Avatar
(10/06/2009 14:39hs)

Coluna
(21/11/2008 08:24hs)


Suporte Online

Enquete

Ver resultados

Serviços
Velocímetro

Meu IP


Vírus + recentes
vírus mais recentes


(c) Sophos PLC,

Super Tags

computador Computadores
Conserto
dica dicas
disco rígido HD
Informação Informática
internet Linux
Macetes
manutenção
micro micros PC
Placa vídeo rede
server 2000 2003 2008
técnico Truques
Velox
Vista XP Windows



 
Imprimir
Entenda como o mecanismo da Memória Virtual é implementado no sistema, através dos conceitos de paginação de memória e cache de disco.

A cada ano que passa, as tecnologias utilizadas no mundo da computação se desenvolvem cada vez mais,  fazendo com que os aplicativos exijam cada vez mais recursos do sistema. Consequentemente, a quantidade de memória requisitada também aumenta na mesma proporção.

Em grande parte dos computadores, a quantidade de memória RAM instalada por padrão não dá conta de rodar  sozinha os mais importantes aplicativos ( navegador, suíte de criação,  comunicadores instantâneos)  ao mesmo tempo. Por esse e outros motivos, o mecanismo de Memória Virtual foi desenvolvido, visando compartilhar a RAM de maneira eficiente entre os programas. Logo, sua importância para a computação é inegável, principalmente por aproveitar ao máximo o uso da RAM.

Neste artigo, vamos focar no modo como esse mecanismo da Memória Virtual funciona na atualidade. Apesar dos vários exemplos simplificados durante o texto, o assunto de modo geral é um pouco mais complexo que o normal, exigindo uma atenção extra durante a leitura. Antes de falar sobre a memória virtual em si, é importante rever alguns conceitos relacionados ao modo como os programas são armazenados na memória.

Como os programas são armazenados na memória física?

Ao contrário do que muitas pessoas pensam, os programas ficam divididos em vários pequenos pedaços na memória física e não de forma contínua. Por exemplo, a tabela abaixo demonstra um exemplo de como os aplicativos Firefox, Skype e Photoshop poderiam estar presentes em uma memória RAM de 8 posições:

Como é possível observar, as posições são ocupadas da seguinte forma:

                   
Apesar da memória ser dividida em pequenos pedaços, cada programa é enganado pelo sistema operacional, pensando que a memória é contínua e exclusiva só para ele. Isso acontece por causa do mecanismo  de Memória Virtual, que consiste em criar tabelas que relacionam posições virtuais e reais da RAM para um mesmo aplicativo. Por exemplo, o layout de memória(muito simplificado) que o Firefox enxerga seria algo como o mostrado abaixo:


Olhando a tabela acima, o Firefox enxerga a memória de forma contínua (posições de 0 a 2) ,  enquanto a RAM trabalha de forma dividida em pequenos pedaços.  Como é possível notar, a ordem dos dados não precisa ser a mesma, visto que a posição virtual 1 corresponde à real 4, e a posição virtual 2 corresponde à real 2.


Memória Virtual e Paginação

A memória virtual foi um dos  mecanismos mais interessantes criados até hoje no mundo da computação, fazendo com que programas compartilhem a RAM do sistema, pensando que possuem toda a memória disponível para uso próprio. Esse conceito engloba e utiliza vários outros menores, como cache de disco, paginação e tabela de páginas, os quais estão explicados logo abaixo:

Limitação da Memória Física e o Uso de cache de disco

Sem o uso da memória virtual e da cache  de disco, seria comum o fato da RAM acabar muito rápido, pois os aplicativos necessitariam mais espaço do que o disponível. Por exemplo, suponha um computador com 512 de RAM rodando o Windows Vista e o Firefox.  Por padrão, o Vista sozinho já ocupa aproximadamente 500 MB e o Firefox  100 MB.  Fazendo os cálculos, é possível perceber que os dois aplicativos juntos já estouram a quantidade de RAM  total (600 > 512). A solução mais natural é o uso da cache de disco, deixando armazenado na memória principal somente os trechos mais importantes do programa, enquanto que o resto do aplicativo fica no próprio disco HD( também chamado de memória secundária ). 

Por exemplo, suponha que dois arquivos do Microsoft Word (aa.doc e bb.doc) estejam abertos ao mesmo tempo,  mas que somente o aa.doc esteja sendo editado no momento. Se você pensar um pouco, poderá observar que o documento que não está sendo editado (bb.doc) não precisa estar na memória principal a todo momento. Simplificando bastante, é mais ou menos isso que acontece, o documento editado (aa.doc) fica armazenado na RAM e o não editado (bb.doc) na cache do disco.

Para tornar mais eficiente seu gerenciamento, os dados são armazenados na memória em blocos, os quais são chamados Páginas de Memória.  Logo, continuando com o mesmo exemplo, a página de memória que contem os dados do documento aa.doc ficaria na RAM, enquanto que a página do bb.doc estaria somente no disco. Cada documento pode ter uma ou mais páginas de memória, o que implica no fato de que um mesmo aplicativo possui muitas delas ao mesmo tempo.



No exemplo acima, com a página do bb.doc somente no disco, a RAM fica livre para armazenar dados mais importantes de outros programas no espaço 3. Este é o conceito de cache de disco, utilizado na implementação da memória virtual. 

Sistema de paginação de memória

Até o exato momento, vimos os principais conceitos sobre memória virtual:

  • A memória física é compartilhada por vários aplicativos ao mesmo tempo;
  • Cada programa enxerga uma versão virtual própria da memória, não correspondendo ao modo real; 
  • Os programas não podem ser carregados de maneira completa na RAM, portanto, é necessário armazenar parte deles na memória primária e outra parte na secundária, através do mecanismo de páginas.

Depois de apresentados os conceitos acima, a paginação de memória é nada mais que a junção de todos eles.  Neste mecanismo, cada programa possui uma tabela de páginas, a qual informa a posição exata de um página de memória qualquer ( na RAM ou no Disco). Em outras palavras, a tabela de páginas é a memória virtual que o programa enxerga. Para entender esses conceitos de forma mais palpável, vamos elaborar um exemplo bastante simplificado de sua organização.

Suponha que 8 arquivos estejam abertos no Word, possuindo os seguintes nomes: aa.doc, bb.doc, cc.doc, dd.doc, ee.doc, ff.doc, gg.doc e hh.doc.   Além disso, suponha também que cada um dos documentos possui uma página de memória específica, com o mesmo nome do arquivos.  Por motivos de simplificação, vamos usar uma RAM que armazena  8 páginas.

Continuando, as páginas aa.doc, ee.doc e gg.doc estão na memória, enquanto que as demais estão no disco. Logo, o mecanismo de paginação e Memória Virtual pode ser organizado da seguinte maneira:        



Na tabela acima, podemos observar que as páginas do Word estão dividindo espaço na RAM com outras pertencentes a aplicativos como o Skype e o Firefox. A maioria dos sistemas operacionais reserva espaço no disco para efetuar a cache de disco durante a sua própria inicialização. Normalmente esta é uma região especial, não compartilhada com os demais arquivos armazenados no HD.  No Windows, é possível reservar este espaço em qualquer partição já existente. Já no Linux, é necessário criar uma partição especial, chamada de Swap.
                             
Substituição de páginas na memória

Finalizando esta matéria, vamos falar sobre o mecanismo de substituição de páginas. Quando um programa necessita trabalhar com uma página que não está na RAM, acontece o que chamamos de Falta de Página. Deste modo, ele procura um espaço livre e passa a utilizá-lo. Caso toda a RAM esteja lotada, é necessário efetuar a famosa troca de páginas, que faz com que a nova página saia do disco e vá para memória, do mesmo modo que alguma outra presente lá saia da memória e volte para o disco. Existem vários métodos de escolher qual página será expurgada de lá, entre os mais usados, está o que determina que o conjunto de dados que está há mais tempo sem ser acessado deve dar lugar. 

Consequentemente, as tabelas de ambos os programas envolvidos na operação ( uma única tabela se as páginas forem do mesmo aplicativo), devem ser atualizadas coma as novas posições de memória das páginas. Este processo é realizado milhares de vezes por segundo, por vários programas ao mesmo tempo.

Pequenos travamentos em aplicativos

Sabe quando você está rodando algum aplicativo ou jogo pesado e pequenos travamentos ocorrem constantemente? Existem muitas possibilidades que o problema seja ocasionado por “Thrashing”, ou seja, muitas páginas de memória precisam ser substituídas na mesma hora, confundindo o sistema e travando momentaneamente o aplicativo. Uma das principais maneiras de resolver este problema é adicionar mais memória RAM ao computador.


Crédito: Baixaki
Não deixe de conferir todas as nossas dicas. Registre-se

Imprimir

Comentários[27]

 
Agenda

Dicas e Macetes

Manutenção de PCs: A BÍBLIA
(9/08/2009 20:05hs)

A evolução das placas de vídeo
(7/07/2009 11:54hs)

Computadores podem ter vírus mesmo que o antivírus não encontre nada?
(2/07/2009 08:02hs)

Manutenção de PCs: erros típicos de montagem
(21/06/2009 02:45hs)

Será que o seu computador precisa de mais memória RAM?
(21/06/2009 02:30hs)

Resetar o computador várias vezes seguidas estraga a máquina?
(21/06/2009 02:03hs)

Quer comprar um notebook? Pesquise
(21/06/2009 01:36hs)

Não deixe seu computador perder rendimento
(21/06/2009 01:19hs)

Comparação com os principais antispywares. Veja quem se saiu melhor!
(14/06/2009 07:32hs)

O que é memória RAM?
(8/06/2009 04:38hs)

Como funciona a Memória Virtual?
(8/06/2009 04:30hs)

Como gerenciar a Memória Virtual no Windows Vista?
(8/06/2009 04:21hs)

ver mais...


Últimas Notícias

Adobe entrega pacote de segurança com correções na próxima semana
(8/06/2009 04:58hs)

Microsoft lança Vista SP2; versão em português ainda não saiu
(8/06/2009 04:56hs)

Bing já o segundo em buscas com apenas uma semana de vida
(8/06/2009 04:49hs)

Mozilla adia em uma semana versão de testes do Firefox 3.5
(8/06/2009 04:45hs)


Clima

Visitantes Online: 6 : 588
Usuarios Online: 0
 Todos os direitos à JGCabral
 
Creative Commons License