Diferença entre memória virtual e cache

No mundo dos computadores, a memória define o limite sobre o qual baseamos se podemos executar esse programa ou não. Se você teve a infelicidade de ter experimentado o DOS, conhece o bane do limite de 640k de memória. Atualmente, a memória parece quase infinita e ninguém recebe realmente as mensagens de "memória insuficiente" do ano passado. Como eles conseguiram isso?

A resposta para isso é um procedimento de gerenciamento de memória muito inteligente. Ao colocar algumas partes que devem estar na memória dentro do seu disco rígido, elas podem aumentar a capacidade de memória de um computador muito além do que está instalado; isso é chamado de memória virtual. Então, digamos que seu computador tenha apenas 1 GB de memória e você inicie alguns programas cujo consumo total de memória é de cerca de 1,5 GB. Sem memória virtual, você não tem permissão para fazer isso. Porém, com a memória virtual, o sistema operacional atribui uma parte do disco rígido como parte da memória e mantém os dados lá. Portanto, no exemplo acima, digamos que a memória virtual também seja de 1 GB. 1 GB de memória real + 1 GB de memória virtual = 2 GB de memória do sistema. Dessa forma, mesmo que sua memória seja limitada, você ainda poderá usar aplicativos extensos de memória.

Há uma desvantagem na memória virtual. Ler dados de um disco rígido é substancialmente mais lento que ler da memória. Portanto, quanto mais informações armazenadas no disco rígido, mais lento o sistema fica, tornando-o lento.

A memória cache, por outro lado, não estende a quantidade de memória que você possui, apenas diminui a quantidade de tempo necessária para acessar os dados. Para que você possa entender o conceito facilmente, digamos que o processador seja um aluno fazendo um relatório. Sempre que ele precisa de dados, ele vai para a estante de livros (a estante é a memória e os livros são os dados) e pega um livro e o traz de volta à sua cadeira. Ele lê e depois o devolve à estante de livros antes de continuar com seu relatório. Se você fosse o aluno, seria realmente demorado se você tivesse que se levantar e pegar um livro toda vez que precisar de alguns dados. Praticamente um aluno pegava alguns livros da estante e o colocava sobre a mesa. Para que, se ele precisar de informações contidas no livro que ele usou recentemente, esteja ao alcance de suas mãos e ele não precise ficar de pé e caminhar para obtê-las.

Nesta metáfora, a tabela é a nossa memória cache. Sempre que o processador usa dados, coloca os dados mais recentes usados ​​na memória cache para acesso rápido, caso seja necessário novamente. Porém, a memória cache é muito limitada, assim como uma tabela com espaço limitado; portanto, os dados que não foram acessados ​​por mais tempo são retornados à memória para liberar o cache para dados mais recentes..

Saiba mais sobre cache e memória virtual.