Definição – o que significa memória virtual (VM)?
A memória virtual (VM) é um recurso desenvolvido para o kernel de um sistema operacional (SO) que simula a memória principal adicional, como RAM (memória de acesso aleatório) ou armazenamento em disco. Essa técnica envolve a manipulação e gerenciamento de memória, permitindo o carregamento e a execução de programas maiores ou de vários programas simultaneamente. Ele também permite que cada programa opere como se tivesse memória infinita e geralmente é considerado mais econômico do que comprar RAM adicional.
A memória virtual permite que o software use memória adicional, utilizando a unidade de disco rígido (HDD) como armazenamento temporário. A maioria das unidades de processamento central (CPUs) fornecem unidades de gerenciamento de memória (MMUs) que suportam memória virtual. O MMU suporta as “tabelas de páginas” que são usadas para transformar os endereços “real” e “virtual” localizados na memória e no HDD.
Um sistema operacional que usa memória virtual libera espaço ao transferir dados do HDD que não são necessários imediatamente. Quando os dados são necessários, eles são copiados de volta para o HDD. Quando toda a RAM está sendo usada, o VM troca os dados para o HDD e depois volta novamente. Assim, o VM permite uma memória total do sistema maior; no entanto, a escrita de código complicada é necessária.
Definirtec explica a memória virtual (VM)
Nas décadas de 1940 e 1950, antes do VM, grandes programas implementavam lógica para gerenciar o armazenamento primário e secundário. O processo foi chamado de sobreposição. Quando um programa era maior do que o armazenamento em memória, o procedimento permitia que partes do programa que não eram usadas continuamente fossem tratadas como uma sobreposição. Cada sobreposição individual sobrescreveria a sobreposição atual na memória. A programação para sobreposição era extensa. Um dos principais motivos para a criação de VM não foi para memória primária adicional, mas para facilidade de programação. Em 1969, a eficácia da memória virtual foi percebida; e foi amplamente implementado.
A VM literalmente tenta usar mais RAM, ou memória de armazenamento em disco, do que realmente existe. Este processo permite que a CPU lide com programas maiores e múltiplos simultaneamente. VM é um sistema operacional (SO) comum e um programa de hardware que utiliza um HDD armazenando e controlando temporariamente a memória. O processo de manipulação e gerenciamento de memória permite que cada aplicativo funcione como se tivesse uma memória quase infinita. O armazenamento de memória temporária é gerenciado por uma unidade de gerenciamento de memória (MMU), também conhecida como “unidade de gerenciamento de memória paginada” (PMMU).
A memória “real” é dividida em pequenas seções chamadas “páginas”. As páginas têm geralmente 4 kilobytes de tamanho. Quando toda a memória RAM ou disco é usada, qualquer página não usada é gravada na memória virtual no que é chamado de arquivo de troca. Quando o arquivo de troca é necessário, ele é então traduzido de volta para a memória “real”, um processo chamado troca de página.
Uma das poucas desvantagens de usar VM é que pode haver troca de página excessiva, especialmente se um usuário tiver vários aplicativos abertos. Isso pode fazer com que os programas fiquem drasticamente lentos, pois a CPU gasta muito tempo gravando no HDD. A redução significativa no desempenho é chamada de thrashing.