Funcionamento da memória virtual
Neste artigo iremos entender como funciona o conceito básico de memória virtual no Linux/Windows, dando uma descrição de como funciona e, posteriormente, implementando um exemplo para se ter uma idéia da velocidade na qual a memória principal pode ser preenchida caso seja executado um programa sobre si mesmo.
Introdução
Esse artigo é apenas um teste para aqueles que querem ver como funciona a memória virtual no Linux/Windows. Não me responsabilizo por quaisquer danos no seu computador, nem recomendo essa prática para atos de vandalismo.
Tanto no Linux quanto no Windows o conceito de memória virtual está presente. A memória virtual foi criada porque, obrigatoriamente, um programa necessita passar pela memória principal para ser executado, e como quase sempre não é possível ter memória RAM suficiente para executar todo o programa da memória, é necessário executar esse programa em partes.
A memória virtual é uma área de troca de dados que serve como uma extensão da memória principal, ou seja, a memória RAM. Por exemplo, se você possui 64 mb de RAM livre e quer rodar um programa que ocupa 70 mb de RAM, deverá carregar os primeiros 64 mb para rodar o início do programa e os 6 mb restantes serão armazenados na memória virtual, para depois serem copiados para a memória principal a fim de serem executados. Isso ocorre, é claro, à medida que a execução do programa for se desenrolando e o programa em questão (ou outros programas) liberarem a memória que ocupavam para o uso de outro programa. Dessa forma, temos um contínuo fluxo de dados entre o disco rígido (onde se localiza a memória virtual) e a memória RAM.
Como o disco rígido possui uma movimentação mecânica de cabeças de leitura e gravação, ele é considerado lento se comparado à dispositivos de memória, cujo acesso às informações é totalmente eletrônico. É por isso que pouca memória RAM implica em usar muita memória virtual, que por sua vez, implica em usar muita leitura/escrita no disco rígido, que por sua vez implica em lentidão geral no sistema.
Tanto no Linux quanto no Windows o conceito de memória virtual está presente. A memória virtual foi criada porque, obrigatoriamente, um programa necessita passar pela memória principal para ser executado, e como quase sempre não é possível ter memória RAM suficiente para executar todo o programa da memória, é necessário executar esse programa em partes.
A memória virtual é uma área de troca de dados que serve como uma extensão da memória principal, ou seja, a memória RAM. Por exemplo, se você possui 64 mb de RAM livre e quer rodar um programa que ocupa 70 mb de RAM, deverá carregar os primeiros 64 mb para rodar o início do programa e os 6 mb restantes serão armazenados na memória virtual, para depois serem copiados para a memória principal a fim de serem executados. Isso ocorre, é claro, à medida que a execução do programa for se desenrolando e o programa em questão (ou outros programas) liberarem a memória que ocupavam para o uso de outro programa. Dessa forma, temos um contínuo fluxo de dados entre o disco rígido (onde se localiza a memória virtual) e a memória RAM.
Como o disco rígido possui uma movimentação mecânica de cabeças de leitura e gravação, ele é considerado lento se comparado à dispositivos de memória, cujo acesso às informações é totalmente eletrônico. É por isso que pouca memória RAM implica em usar muita memória virtual, que por sua vez, implica em usar muita leitura/escrita no disco rígido, que por sua vez implica em lentidão geral no sistema.
Parabéns.