A memória virtual é um método de gerenciamento de memória, que é implementado por meio do uso de hardware e software de computador. Mostra os endereços virtuais usados ​​por programas nos endereços físicos da memória do computador.

A memória principal é representada como um espaço de endereço contínuo ou um conjunto de segmentos contínuos adjacentes. Com este blog você aprenderá o que é uma memória virtual e todas as suas características explicadas detalhadamente.

O sistema operacional gerencia os espaços de endereço virtual e mapeia a RAM para a memória virtual. O sistema operacional pode expandir esses recursos para fornecer espaço virtual para manobra que pode exceder a capacidade da memória, fornecendo, assim, mais memória do que a disponível em um computador.

Você também pode ler: Como identificar o modelo de um PC.

O que é uma memória virtual?

A memória virtual permite que você modifique os recursos de memória, torne a quantidade de RAM muito maior, de forma que o usuário, coloque o máximo de programas possível.

A “descoberta” da memória virtual tem contribuído muito para o desenvolvimento de tecnologias modernas, facilitando o trabalho tanto do programador profissional quanto do usuário comum, proporcionando o processo de resolução de problemas mais eficiente em um computador.

O que é uma memória virtual
O que é uma memória virtual

Vantagens da memória virtual

As principais vantagens da memória virtual incluem:

  • Ele libera o programador de ter que gerenciar o espaço de memória compartilhada;
  • Aumenta a segurança do uso do programa por meio da alocação de memória;
  • Ele contém a capacidade de armazenar mais memória do que a disponível fisicamente em um computador.

Propriedades da memória virtual

A memória virtual facilita a programação de aplicativos:

  • Escondendo a fragmentação da memória física;
  • Eliminando a necessidade de um programa que lida com sobreposições explicitamente;
  • Quando cada processo é executado em seu próprio espaço de endereço dedicado, não há necessidade de mover o código do programa ou acessar a memória com os endereços relativos.

Quase todas as implementações de memória virtual dividem o espaço de endereço virtual em páginas, blocos de endereço de memória virtual adjacentes. Quando uma máquina está sendo executada na memória virtual, são usados ​​métodos de organização de página e segmento de memória.

Organização da memória da página

Na organização da página, todos os recursos de memória, tanto operacionais quanto externos, são apresentados ao usuário como um todo. O usuário trabalha com o espaço de endereçamento compartilhado e não pensa se a memória é utilizada: operacional ou externa, e essa memória compartilhada é chamada de virtual (simulada).

A memória virtual é dividida em páginas que contêm um certo número fixo de células de memória. Neste caso, uma página da memória matemática não pode ser maior ou menor que as outras, todas as páginas devem ser iguais em número de células. Os tamanhos de página típicos são 256, 512, 1024, 2048 bytes ou mais (números múltiplos de 256).

Vantagens da memória virtual com organização de página

  • Ele tem capacidade de memória suficiente endereçada diretamente.
  • A quantidade de memória pode ser contada em centenas de megabytes (e até gigabytes).
  • O arquivo SWAP criado é colocado no disco e emula a RAM. Neste caso, o usuário não pensa onde será colocada a “peça” de seu programa a partir da qual acabou de trabalhar.
  • Os programas do usuário podem ser colocados em qualquer página gratuitamente[2].
  • Aumente o nível de trabalho de vários programas.
  • Com a organização da memória virtual com organização da página, o usuário tem uma oportunidade real de carregar mais programas na memória para que a máquina possa processar os programas ao mesmo tempo

Deficiências de memória virtual com organização de página

  • A principal desvantagem da memória virtual é a quantidade de tempo que a máquina gasta acessando a memória externa.
  • Extrair as informações necessárias das células de memória não é muito difícil e demorado.
  • Este não é o caso do disco: para encontrar as informações necessárias, primeiro você tem que “girar” o disco, depois encontrar a trilha necessária, na trilha para encontrar um setor, cluster, e depois ler as informações dos bits em o OP.

Organização da memória virtual da página do segmento

Este método de organização da memória virtual tem como objetivo combinar as vantagens dos métodos de gerenciamento de memória por páginas e por segmentos. Nesse sistema combinado, o espaço de endereço do usuário é dividido em vários segmentos, a critério do programador.

Cada segmento, por sua vez, é dividido em páginas de tamanho fixo igual à página da memória física. Do ponto de vista do programador, o endereço lógico neste caso consiste no número do segmento e seu deslocamento.

Cada segmento é uma sequência de endereços de zero a um determinado valor máximo. A diferença entre um segmento e uma página é que o comprimento do segmento pode variar durante sua execução. Os segmentos, como qualquer estrutura de memória virtual, podem ser colocados na RAM e na memória externa (mídia magnética).

A memória virtual com organização de segmento de página funciona como a memória virtual com organização de página: se o segmento atualmente necessário estiver ausente na RAM, se for necessário trabalhar com ele, ele é movido preliminarmente para OP.

Organizar a memória para páginas de segmento requer uma organização mais complexa de hardware e software. Organizar a memória por segmentos requer uma organização mais complexa de hardware e software.

As tabelas de página

As tabelas de página eles são usados ​​para converter endereços virtuais em endereços físicos usados ​​por hardware de processamento de instruções. Cada entrada da tabela de página verifica se a página correspondente está na RAM.

Se estiver na RAM, a entrada da tabela da página conterá o endereço de memória real onde a página está armazenada. Se houver apenas uma tabela de página, diferentes aplicativos em execução simultaneamente usarão diferentes partes do mesmo intervalo de endereço virtual.

Gerenciador de memória virtual

Esta parte do sistema operacional cria e gerencia tabelas de páginas. Se o hardware emitir um erro, o Virtual Memory Manager acessa o armazenamento secundário, retorna a página que tem o endereço virtual que causou a falha da página, atualiza as tabelas na página para refletir a localização física do endereço virtual e indica o mecanismo de tradução para reiniciar o pedido.

Quando toda a memória física já estiver em uso, o Virtual Memory Manager deve liberar as páginas no armazenamento principal para armazenar a página que foi carregada. Ele usa um dos muitos algoritmos para substituir as páginas menos usadas para liberá-las.