![]() |
Linux Vs Windows |
Microsoft
Windows
Vocês sabem como o Windows utiliza a memória do
computador?
A memória RAM é indispensável em qualquer computador, quanto mais memória instalada na máquina, melhor será seu desempenho. Porém não basta ter muita RAM disponível em seu computador. O que torna a RAM realmente útil é a capacidade de uso que o Sistema Operacional faz dela. Isso significa que o Windows deve ser capaz de prever quais dados devem ser priorizados ou esquecidos de acordo com o contexto de uso da máquina.
Memória Física Vs Memória Virtual
Resumidamente, o Windows trabalha com dois tipos de memória. O primeiro deles é a memória principal, também chamada de física. Ela é a quantidade de RAM instalada em sua máquina, os pentes de memória em si, ou seja, o hardwares propriamente dito. Já a memória conhecida como virtual é uma espécie de memória auxiliar, usada pelo computador em alguns casos especiais. Essa memória é nada mais do que um arquivo hospedado no disco rígido da máquina, e o Windows usa esse arquivo como se ele fosse uma extensão da memória principal.
O Gerenciamento de Memória
Cada vez mais, os programadores necessitam de mais memória e mais programas rodando simultaneamente para poderem tratar cada vez mais informações, para atender suas necessidades. Apesar de muitas pessoas duvidarem, o Windows é bem eficiente quanto ao gerenciamento de memória. Superficialmente, podemos dizer que ele "sabe", por exemplo, o que deve ser enviado para a memória física e o que deve ser armazenado na virtual. Ao carregar na memória todos os softwares necessários para o bom funcionamento do sistema, o Windows respeita algumas regras.
A memória física recebe aquilo que o Windows considera essencial, como o próprio sistema operacional e as aplicações que o usuário estiver usando no momento. O restante, ou seja, aquilo que o Windows acredita que não será usado tão urgentemente, fica na memória virtual. Em outras palavras, a memória virtual é um recurso essencial para o armazenamento de dados que não estão em uso, mas que devem ser recuperados com velocidade quando necessário. Essa memória também é usada pelo sistema quando se esgota, por completo, o espaço disponível na memória física. Nesse caso, a memória virtual acaba sendo uma extensão da memória principal. A memória virtual fica armazenada em um arquivo no disco rígido da máquina, o processo de leitura e escrita de dados no HD do computador é muito mais lento do que o equivalente em memória RAM.
Basicamente, isso explica por que o desempenho do computador melhora quando instalamos mais memória RAM. Quanto mais memória física disponível, menos provável é o uso extensivo da memória virtual.
Linux
O gerenciamento de memória é o que torna o sistema operacional mais rápido e funcional. Assim como o Windows, o Linux possui dois sistemas de gerenciamento de memória, a memória física, que cuida da alocação e liberação de blocos de memória, e a memória virtual, que tem o papel de "enganar" os processos, informando que há memória suficiente quando não há. Esta técnica pode melhorar a performance do sistema operacional. O Linux é um sistema multiprocessos e multiusuários, então devemos ter um controle rígido sobre a memória, para que um processo não sobreponha os recursos (memória) utilizados pelo outro.
As Principais Características da Memória
O gerenciamento de memória no Linux é realizado com o auxílio de circuitos de hardware presentes nos microprocessadores. Esses circuitos permitem que o gerenciamento de memória seja mais eficiente e seguro, evitando erros causados por software no acesso à memória.
O acesso à memória física não acontece direto do software. No software especificamos o endereço lógico, que consiste do segmento e de um offset representando a distância entre o endereço que desejamos acessar e o início do segmento. O endereço lógico é compilado por uma unidade de segmentação, que o transforma em um endereço virtual. Este endereço virtual é representado por um inteiro de 32 bits, e portanto, pode endereçar até 4GB, do endereço 0x00000000 até 0xffffffff. O endereço virtual é transmitido a uma unidade de paginação, que é responsável por associar o endereço virtual ao físico, representado por inteiros não negativos de 32 ou 36 bits. O endereço resultante é utilizado para acessar um dado presente na memória dos chips.
Através deste processo de acesso à memória, podemos perceber que o Linux utiliza um modelo de segmentação com paginação. Em sistemas com multiprocessadores, a memória é compartilhada entre todas as CPUs. Assim, para evitar que diferentes CPUs acessem a memória o mesmo tempo, existe um circuito de hardware utilizado para a proteção da memória, conhecido como "Memory Arbiter", que é inserido entre o barramento e todo chip de memória, e possui a finalidade de garantir o acesso exclusivo à memória nas operações de leitura e escrita.
Além do acesso exclusivo à região de memória compartilhada, o Linux dispõe de mecanismos para prevenir a invasão de processos no espaço do kernel.
Gostei deste blog! Me ajudou muito!
ResponderExcluirMuito obrigado!
Excluir