Home Tutoriais Linux Redes
Vestibular Frases Currículo Escreva-me!

Memória Virtual

    A memória virtual é o que existe de mais importante em sistemas muliprogramação, multiusuário. Consiste na divisão de um programa em uma série de pedaços, sendo que estes pedaços ficam gravados no disco e a partir de então quando o sistema solicitar que cada pedaço seja processado, este é transportado para a memória principal e então processado. Este transporte é feito a nível de microprogramação e estou querendo explicar apenas os princípios básicos do tratamento de um sistema operacional com memória virtual. A cada transporte de partes do programa o sistema se encarrega de atualizar as cópias que estão na memória secundária através de uma tabela denominada tabela de paginação pois, as partes do programa são tratados como páginas, estas páginas possuem tamanhos fixos e iguais.
 

    É a separação entre os conceitos de espaço de endereçamento e posições de memória. É a definição de mapeamento do espaço de endereçamento nos endereços de meória real.
    Procedimento de paginação em um computador de 16 bits com memória de 4k:
  1. O programa superior à capacidade de memória é gravado parcialmente na memória principal e outra parte na memória secundária;
  2. As palavras correspondentes àquelas superiores a 4096 seriam localizadas na memória secundária;
  3. Estas palavras seriam carregadas para a memória principal;
  4. O mapa de endereços é mudado para mapear os endereços superiores nas posiçoes de 0 a 4095;
  5. A execução do programa continuaria como se nada tivesse acontecido.
    O mapa de memória relaciona endereços virtuais (memória secundária) a endereços físicos (memória principal).
    Na memória virtua temos a cópia de um programa completo na memória secundária e suas partes são transportadas para a memória principal como já foi dito. Os tamanhos de páginas variam de 512 a 4096 conforme o sistema operacional mas, o tamanho será sempre uma potência de 2. É através de uma tabela de páginas que está no nível de microprogramação que o sistema operacional "sabe" onde encontrar a página solicitada para execução. Nesta tabela temos a localização da página (principal ou secundária), como setor ou trilha caso esteja na memória secundária, caso contrário, o endereço da página na memória principal. A tabela é descrita abaixo:
 


bit (0 ou 1)
M. Secundária
M. Principal

    Na primeira coluna temos um bit de indicação em que quando o valor for 0 então a página solicitada está na memória secundária, caso contrário está na memória principal. A segunda coluna possui 8 bits que irá indicar a posição, setor, trilha em que está a página. Na terceira coluna de 3 bits indica a posição na memória principal.
 
 

® [email protected]



Hosted by www.Geocities.ws

1