Portanto, sou um programador e não sou um completo idiota, então sei exatamente por que você não pode acessar a memória onde não pode ter ponteiros. Mas nunca tentei isso e acho que nunca, porque parece um grande desperdício de dinheiro / tempo.
Só estou me perguntando se existem ferramentas que me permitam acessar meu himem (você acha que já teríamos contornado esse problema agora).
Respostas:
Se você possui um processador com a Extensão de Endereço Físico (que você provavelmente possui ) e o sistema operacional correto ( por exemplo, não uma versão para consumidor do Windows, ele usa PAE, mas está limitado a 4 GB ), a memória pode ser mapeada e usada normalmente. Caso contrário, a memória simplesmente não será endereçada, o sistema operacional informará que você possui quantos chips forem grandes, mas eles não serão adicionados à quantidade de memória que você pode acessar.
fonte
As coisas funcionariam bem, já que 4 GB é o limite para um processador de 32 bits. Este artigo é mais detalhado e mostra que você pode instalar e usar muito mais que 4 GB em um sistema operacional de 32 bits.
fonte
Suponho que, tecnicamente, se o sistema operacional fosse bem projetado, você poderia usar mais de 4 GB. Não há razão para pensar que um sistema operacional com capacidade de memória virtual não possa usar endereços virtuais de 32 bits com endereços reais de 64 bits.
fonte
Depende do sistema operacional de 32 bits que você quer dizer!
É claro que nos sistemas operacionais modernos, você pode conectar o máximo que sua placa-mãe pode suportar sem problemas (embora você não consiga usar tudo), mas esse nem sempre foi o caso, pelo menos no Windows:
http://answers.google.com/answers/threadview/id/333688.html
fonte
A primeira coisa a entender é que os sistemas modernos de computador usam memória virtual. Você pode ter endereços virtuais de 32 bits para aplicativos enquanto tiver endereços físicos maiores que 32 bits.
A segunda coisa a entender é que o espaço de endereçamento físico é usado para várias coisas, mais significativamente os periféricos principais de memória ram e memória mapeada. As placas gráficas em particular geralmente têm grandes regiões mapeadas de memória. O resultado é que, se você tiver apenas 4 GB de espaço de endereço físico utilizável, poderá acabar com significativamente menos de 4 GB de RAM utilizável. Aproximadamente 3,5 GB utilizáveis são típicos, mas eu vi sistemas em que era tão baixo quanto 2,5 GB.
Em um PC para suportar mais de 4 GB de espaço físico de endereço, um mecanismo chamado PAE é usado. Para que isso funcione, várias coisas são necessárias.
As CPUs suportam o PAE há muito tempo, isso não é um problema.
Muitos chipsets mais antigos estavam limitados a 4 GB de espaço de endereço físico. Os chipsets Intel para laptops IIRC obtiveram suporte para mais de 4 GB de espaço de endereço com a geração "Santa Rosa" em 2007. Não tenho certeza sobre os chipsets para desktop, mas espero que seja na mesma época. Os chipsets da estação de trabalho / servidor obviamente receberam suporte muito mais cedo.
BIOSs vulneráveis geralmente o suportam se o chipset suportar. Não me surpreenderia se houver algumas exceções.
OS é espinhoso. O Linux e o Windows suportam o PAE há muito tempo. Infelizmente, desde que o Windows XP service pack 2 MS limitou artificialmente o espaço de endereço físico a 4 GB. Eles alegam que fizeram isso por causa de motoristas de buggy, os cínicos suspeitam que o fizeram para forçar as pessoas a comprar edições de servidor.
No Windows XP, isso é feito no kernel e basicamente não pode ser desfeito. No entanto, em versões posteriores, pode ser ignorado com alguns pequenos hacks no kernel. Veja https://wj32.org/wp/ para obter detalhes.
fonte