Diferença entre memória virtual e cache no sistema operacional

Autor: Laura McKinney
Data De Criação: 2 Abril 2021
Data De Atualização: 5 Poderia 2024
Anonim
Diferença entre memória virtual e cache no sistema operacional - Tecnologia
Diferença entre memória virtual e cache no sistema operacional - Tecnologia

Contente


A memória é um dispositivo de hardware usado para armazenar as informações temporariamente ou permanentemente. Neste artigo, discuti as diferenças entre a memória virtual e a cache. UMA Memória cache é uma memória de alta velocidade usada para reduzir o tempo de acesso aos dados. Em outras mãos, Memória virtual não é exatamente uma memória física, é uma técnica que estende a capacidade da memória principal além do seu limite.

A principal diferença entre a memória virtual e a memória cache é que um memória virtual permite que um usuário execute programas maiores que a memória principal, enquanto que, memória cache permite o acesso mais rápido aos dados que foram usados ​​recentemente. Discutiremos mais algumas diferenças com a ajuda do gráfico de comparação mostrado abaixo.


  1. Gráfico de comparação
  2. Definição
  3. Principais diferenças
  4. Conclusão

Gráfico de comparação

Base para ComparaçãoMemória virtualMemória em cache
BasicA memória virtual amplia a capacidade da memória principal do usuário.A memória cache aumenta a velocidade de acesso aos dados da CPU.
NaturezaMemória virtual é técnica.A memória cache é uma unidade de armazenamento.
Função A memória virtual permite a execução do programa que é maior que a memória principal.A memória cache armazena as cópias dos dados originais que foram usados ​​recentemente.
Gerenciamento de memóriaA memória virtual é gerenciada pelo sistema operacional.A memória cache é totalmente gerenciada pelo hardware.
Tamanho A memória virtual é muito maior que a memória em cache.A memória cache tem tamanho limitado.
MapeamentoA memória virtual requer estruturas de mapeamento para mapear o endereço virtual para o endereço físico.Nenhuma estrutura de mapeamento é necessária como tal em uma memória cache.


Definição de Memória Virtual

Memória virtual não é exatamente uma memória física de um computador, é uma técnica que permite a execução de um grande programa que pode não estar completamente colocado na memória principal. Permite ao programador executar programas maiores que a memória principal.

Agora vamos entender como funciona a memória virtual? O programa possui seu endereço de memória virtual, que é dividido em várias Páginas. A memória principal também é dividida em várias Páginas. Agora, como podemos ver, o endereço virtual de um programa é maior que a memória principal disponível. Portanto, o mapa da memória é usado para mapear o endereço virtual para a memória principal.

As páginas 0, 1, 2 são mapeadas na memória principal e a memória principal é preenchida. Agora, quando a página 3 da memória virtual pede espaço na memória principal, a página mais antiga colocada, isto é, a página 0, é transferida para o disco rígido e evacua o local da página 3, na memória principal e o processo continua. Caso a página 0 seja novamente necessária, a página mais antiga colocada naquele momento é transferida para o disco rígido, substituindo a página 0.

Se os dois programas precisarem dos mesmos dados, colocados na memória principal, a unidade de mapeamento de memória permitirá que ambos compartilhem o mesmo espaço de endereço na memória principal, onde dados compartilhados está armazenado. Isto faz partilha de arquivos fácil.

Os benefícios da memória virtual são:

  • Os programas não são mais limitados pelo limite da memória principal.
  • A memória virtual aumenta o grau de multiprogramação.
  • Aumenta a utilização da CPU.
  • A menos unidade de E / S exigirá carregar ou trocar programas na memória.

Mas existe um recua memória virtual, colocar mais páginas de um programa no disco rígido lento abaixo o desempenho pois o acesso aos dados do disco rígido leva mais tempo em comparação ao acesso aos dados da memória principal.

Definição de memória cache

Diferente da memória virtual, Cache é um dispositivo de armazenamento implementado no processador em si. Ele carrega as cópias dos dados originais que foram acessados ​​recentemente. Os dados originais podem ser colocados na memória principal ou em uma memória secundária. A memória cache prende a velocidade de acesso aos dados, mas como? Vamos entender

Podemos dizer que a velocidade de acesso da CPU é limitado à velocidade de acesso de memória principal. Sempre que um programa deve ser executado pelo processador, ele o busca na memória principal. E se uma cópia do programa já está presente no cache implementado no processador. O processo seria capaz de acessar esses dados mais rapidamente, o que resultará em uma execução mais rápida.

  1. Memória virtual estende a capacidade da memória principal praticamente para o usuário. No entanto, a memória cache torna o acesso aos dados Mais rápido para CPU.
  2. Cache é uma memória unidade de armazenamento enquanto que a memória virtual é uma técnica.
  3. A memória virtual permite as execuções do programa que maior memória principal. Por outro lado, a memória cache armazena o cópias dos dados originais usados ​​recentemente.
  4. O gerenciamento de memória virtual é feito pelo sistema operacional. Por outro lado, o gerenciamento de memória cache é feito pelo hardware.
  5. A memória virtual está longe maior do que a memória em cache em tamanho.
  6. A técnica de memória virtual requer o estruturas de mapeamento mapear o endereço virtual para o endereço físico, enquanto a memória cache não requer quaisquer estruturas de mapeamento.

Conclusão:

A memória virtual é uma técnica para expandir a capacidade da memória principal virtualmente para os usuários. A memória cache é uma unidade de armazenamento que armazena os dados acessados ​​recentemente, o que permite à CPU acessá-los mais rapidamente.