PDA

View Full Version : [C] CPU bios number


Unrue
28-07-2011, 18:15
Ciao a tutti,

sotto Linux e tramite il C, esistono delle funzioni che estrapolano il bios number di una CPU? So che la numerazione del sistema operativo può essere diversa da quella fisica. Ad esempio, la CPU con numero logico 0, può non corrispondere alla CPU con bios number 0.

Grazie.

pabloski
29-07-2011, 12:24
A cosa ti riferisci con cpu bios number? Al CPUID del processore? Al serial number del BIOS?

Comunque le informazioni hardware su linux si possono ottenere facendo il parsing di alcuni file in /proc e /sys, oppure tramite i comandi sysctl e dmidecode.

Infine alcune informazioni sono disponibili tramite la syscall sysconf.

Freaxxx
29-07-2011, 22:06
A cosa ti riferisci con cpu bios number? Al CPUID del processore? Al serial number del BIOS?

Comunque le informazioni hardware su linux si possono ottenere facendo il parsing di alcuni file in /proc e /sys, oppure tramite i comandi sysctl e dmidecode.

Infine alcune informazioni sono disponibili tramite la syscall sysconf.

questo se l'ACPI è installato, funzionante e avviato, e comunque dipende anche da come è configurato fstab e il kernel.

ci sono talmente tante variabili da considerare che conviene metter mano al progetto solo se hai la gestione della macchina o comunque sai se troverai o meno quel software e quella configurazione.

theking0
30-07-2011, 15:50
quello che cerchi lo puoi fare estraendo i dati che ti serve direttamente dalla memoria fisica.
Più precisamente vedi le smbios (http://en.wikipedia.org/wiki/System_Management_BIOS).

http://www.dmtf.org/standards/smbios

qualche tempo fa ho trattato questo argomento sul mio blog: questo è il link (http://thekingvalley.wordpress.com/2010/04/16/hardware-info-dump-by-memory/)

Unrue
31-07-2011, 11:19
A cosa ti riferisci con cpu bios number? Al CPUID del processore?

Si, esatto.


Comunque le informazioni hardware su linux si possono ottenere facendo il parsing di alcuni file in /proc e /sys, oppure tramite i comandi sysctl e dmidecode.

Infine alcune informazioni sono disponibili tramite la syscall sysconf

Ok, grazie per la info!

Unrue
31-07-2011, 11:20
quello che cerchi lo puoi fare estraendo i dati che ti serve direttamente dalla memoria fisica.
Più precisamente vedi le smbios (http://en.wikipedia.org/wiki/System_Management_BIOS).

http://www.dmtf.org/standards/smbios

qualche tempo fa ho trattato questo argomento sul mio blog: questo è il link (http://thekingvalley.wordpress.com/2010/04/16/hardware-info-dump-by-memory/)

Provo a dargli un'occhiata. Thanks!

gugoXX
01-08-2011, 11:01
Prova a leggere cio' che serve usando le WMI, dovrebbero esserci librerie/ service call apposite.

pabloski
01-08-2011, 12:46
Provo a dargli un'occhiata. Thanks!

Ti consiglio invece di dare un'occhiata qui http://rossano.pro.br/fatec/cursos/sistcomp/apostilas/assembly-language-en.html

Se invece non è un problema avere i dati "esplosi" ( cioè non sotto forma di ID ) allora puoi, tramite pipe, leggere l'output del comando cpuid.

Smbios contiene solo alcune informazioni sulla cpu ma non il cpuid.

Se ti serve un esempio di come riconoscere la cpu guarda il file cpudetect.c di mplayer http://code.google.com/p/mplayer-ce/source/browse/trunk/mplayer/cpudetect.c?spec=svn590&r=590

eraser
01-08-2011, 15:44
cpuid (http://en.wikipedia.org/wiki/CPUID)