Há tantas coisas que um computador moderno faz que simplesmente não damos valor, mas às vezes é divertido espiar por baixo do capô e ver como tudo funciona. Hoje estamos investigando como exatamente o seu computador sabe que tipo e quantidade de RAM você instalou.
A sessão de perguntas e respostas de hoje chega até nós como cortesia do SuperUser - uma subdivisão do Stack Exchange, um grupo de sites de perguntas e respostas voltado para a comunidade
A questão
O leitor SuperUser Celeritas quer saber como seu computador pode detectar instantaneamente que tipo de RAM está dentro:
Como o Mac OS X pode saber que tipo de RAM está na máquina? Por exemplo, eu estava trabalhando em um que tinha RAM DDR3 a 1600 MHz e pensei que não seria possível conhecer a RAM sem abrir fisicamente o gabinete e olhar para ele. Como isso pode ser feito em outros sistemas?
Obviamente, é muito útil para o sistema operacional saber a que tipo de RAM ele tem acesso, mas por qual mecanismo ele determina essas informações?
As respostas
O colaborador do SuperUser UltraSawBlade oferece a seguinte explicação:
Sticks de RAM têm um pequeno chip chamado de Detecção de presença serial , que contém informações como capacidade, horários preferenciais, fabricante e até mesmo um número de série.
As informações do SPD podem ser acessadas por sistemas operacionais usando o barramento i2c (que também inclui itens como sensores de temperatura). Acho que você pode ler diretamente os SPDs do Linux usando vários utilitários i2c.
Esta imagem do artigo da Wikipedia tem uma boa foto [seen above].
Outros colaboradores oferecem maneiras de o usuário final acessar as informações da i2c por conta própria. AthomSfere escreve:
No Windows:
wmic memoryChip get /?Fornece várias informações de RAM que você pode solicitar diretamente no prompt de comando.
Por exemplo,
wmic memorychip get serialnumberFornece o número de série. Você também pode usar
Rapidez,Modeloas vezes,Fabricantee mais.WMI é o método do Windows para consultar SMBIOS dados. Apple, Linux, Windows e qualquer outra pessoa que queira rodar na maioria dos hardwares feitos precisa suportar SMBIOS em algum nível, por diferentes razões.
Você pode usar SMBIOS (por exemplo, através de WMI ou WMIC no Windows) para também coletar informações do disco rígido, informações de rede (é uma placa 10/100 ou 10/100/1000?).
Para dar um passo adiante, cada fabricante tem um código para endereços MAC em NICs. RAM também possui um código do fabricante. Portanto, tudo que você precisa fazer para obter o código deles, por exemplo, meus 2 x2GB neste laptop são 830B, é construir um banco de dados para os fabricantes (830B pode ser uma marca e revendido também!) E também o significado dos modelos. É assim que CPUz funciona, eu acredito - consultas básicas e um banco de dados realmente completo e atual.
Para obter mais exemplos de como acessar essas informações em máquinas Windows, Linux e OS X, verifique todos os respostas do contribuidor aqui .
Tem algo a acrescentar à explicação? Soe fora nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui .