Come può un computer / OS indicare quale tipo di RAM è nella macchina?

Come può Mac OS X indicare quale tipo di RAM è nella macchina? Per esempio stavo lavorando a uno che aveva DDR3 RAM @ 1600MHz e pensavo che non fosse ansible conoscere la RAM senza aprire fisicamente il caso e guardarla. Come può essere fatto su altri sisthemes?

I bastoni RAM dispongono di un piccolo chip su di essi denominato Serial Presence Detect , che contiene informazioni quali capacità, tempistiche preferite, produttore e anche un numero di serie.

Le informazioni SPD sono accessibili da OSes utilizzando il bus i2c (che comprende anche le cose come sensori di temperatura). Penso che puoi leggere direttamente i SPD da Linux utilizzando varie utilità i2c.

Questa image dall'articolo di Wikipedia ha una buona image: e

Su Windows:

 wmic memoryChip get /? 

Ti darà varie informazioni di RAM che puoi chiedere a destra dal prompt dei comandi.

Per esempio,

 wmic memorychip get serialnumber 

Fornisce il numero di serie. Puoi anche utilizzare Speed , Model volte, Manufacturer e altro ancora.

WMI è il metodo Windows per la query dei dati SMBIOS . Apple, Linux, Windows e chiunque altro che desideri eseguire la maggior parte degli hardware ha bisogno di supportre SMBIOS a un certo livello, per diverse ragioni.

È ansible utilizzare SMBIOS (ad esempio tramite WMI o WMIC in Windows) per raccogliere anche informazioni sul disco fisso, informazioni sulla networking (è una scheda 10/100 o 10/100/1000).

Per farlo un passo più avanti, each produttore ha un codice per indirizzi MAC su NIC. RAM ha anche un codice produttore. Quindi tutto quello che devi fare per get il loro codice, ad esempio i miei 2 x 2GB in questo porttile sono 830B, è build un database per i produttori (830B potrebbe essere una marca e poi riesaminare troppo!) E anche quali templates significano cosa. Così funziona la CPUz credo – le query di base e un database veramente completo e attuale.

La velocità e il tipo di memory vengono negoziati con il bios e possono essere letti dal sistema operativo.

C'è un ottimo sito web che ti dà un livello più profondo di comprensione su queste cose a http://www.computermemoryupgrade.net/index1.html

Ma è ansible capire facilmente quali tipi e velocità avete senza aprire il coperchio tramite:

Apple -> Informazioni su questo Mac -> Ulteriori informazioni -> Rapporto del sistema

Apri Hardware -> Memoria

Dovresti vedere each bastone di RAM incluso Dimensione, Tipo e Velocità (e per divertimento, Stato per assicurarsi che sia ok)

Rapporto del sistema con la memoria

Su molte distribuzioni Linux (ad esempio Debian), è ansible utilizzare il listener hardware di lshw

 sudo lshw |grep DDR description: SODIMM DDR3 Synchronous 1067 MHz (0.9 ns) description: SODIMM DDR3 Synchronous 1067 MHz (0.9 ns) 

Suppongo che RAM, come qualsiasi altro hardware, riporti la sua descrizione e le sue capacità al sistema operativo. Se Linux può farlo, non vedo alcun motivo per cui OSX non può.

Se la tua distribuzione non ha installato lshw, puoi installarlo utilizzando il tuo gestore di pacchetti, ad esempio

 aptitude install lshw 

oppure scaricarlo dal sito web del progetto.

Su Mac OS X eseguito dal terminal:

 $ system_profiler SPMemoryDataType 

Il bastone RAM memorizza la sua tempistica, velocità e tipo su un piccolo chip sul bastone. Come il tuo computer sa come veloce eseguire la RAM senza corrompere i dati? Stesso chip. Apple sceglie semplicemente di visualizzare anche questi dati.

Per completare la risposta di ultrasawblade, su Linux, per decodificare i dati SPD, è ansible utilizzare lo script perl decode-dimms dagli strumenti i2c :

 sudo modprobe -a i2c-i801 eeprom decode-dimms 

Oppure per la forma HTML di fantasia:

 decode-dimms -f | w3m -T text/html 

(w3m essere un browser basato sul text / pager). O naturalmente:

 decode-dimms -f > dimms.html xdg-open dimms.html 

Speccy è un software per Windows che vi dirà molte cose sul tuo computer, tra cui tipo / size RAM / slot totali / slot disponibili.