IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques, systèmes et outils C Discussion :

Sondes (CPU, Mobo, HDD, etc) en C


Sujet :

Bibliothèques, systèmes et outils C

  1. #1
    Membre à l'essai
    Homme Profil pro
    autre
    Inscrit en
    Octobre 2018
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Octobre 2018
    Messages : 30
    Points : 21
    Points
    21
    Par défaut Sondes (CPU, Mobo, HDD, etc) en C
    Bonjour,

    existe-il une bibliothèque ou du code ASM pour accéder aux différentes sondes et autres caractéristiques des différents périphériques d'un ordinateur ?
    De préférence avec du code portable.
    C'est vaste mais je n'ai pas de restrictions sur les infos fournies.
    J'ai trouvé un bout de code (ASM) qui, par exemple, permet d'obtenir le nombre de core/thread. C'est ce genre d'infos auquel j'aimerais avoir accès.

    D'avance merci.

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 826
    Points : 218 288
    Points
    218 288
    Billets dans le blog
    117
    Par défaut
    Bonjour,

    Pour ce qui est de la portabilité du code, c'est tout de même compliqué. Le code que vous avez fonctionne avec les CPU Intel, mais peut être pas avec les CPU AMD et je suis sûr que cela ne marche pas avec les CPU ARM. Pour le nombre de cœurs, c'est aisément trouvable (et ce même dans la bibliothèque standard du C++), mais pour les températures c'est bien accessible. Bien sûr, il existe des codes assembleurs, mais encore une fois, c'est limité à tel ou tel CPU (on trouvera les informations dans la documentation officielle d'Intel, par exemple). Du côté des bibliothèques, vous pouvez utiliser lm-sensors.
    Aussi, voici d'autres exemples : https://stackoverflow.com/questions/...pu-temperature
    Pour les disques durs, il faut voir du côté des indicateurs S.M.A.R.T..

    Pour le reste, cela va être spécifique au matériel.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 136
    Points
    10 136
    Par défaut
    L'ASM ne permet pas de plus communiquer avec le hardware que le C.
    Ta question est bien trop vague ,quand tu parle d'ordinateur ,tu parle du PC ?
    Parce que oui y'a pas des façons universel pour communiquer avec du matériel , donc ça dépend de la machine cible tout simplement.

    Il faut pas oublier que si tu parle du PC , la seule façon de communiquer avec le matériel , c'est de passer par l'OS , l'OS ne te laissera jamais communiquer avec le matériel.
    Sans OS , c'est bien plus délicat, parce que beaucoup de matériel sont pas open source donc ou ne sont pas disponible en documentation ,sauf si lire les millions de ligne de code de Linux ne te fait pas peur.

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 352
    Points : 42 824
    Points
    42 824
    Par défaut
    Parce que oui y'a pas des façons universel pour communiquer avec du matériel
    Sur PC tu as l'ACPI qui permettra d'interroger les capteurs de température, d'avoir la conf matérielle, etc.

    C'est très probablement dispo sur certaines machines à base d'ARM.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  5. #5
    Membre à l'essai
    Homme Profil pro
    autre
    Inscrit en
    Octobre 2018
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Octobre 2018
    Messages : 30
    Points : 21
    Points
    21
    Par défaut
    Merci pour vos réponses.
    Ma question se poser en effet sur l'architecture PC et donc sur les couples Intel / AMD et Windows / Linux-Unix.
    Puisque des logiciels tel belarc advisor / aida64 / ... ou crystal disk info on accès à ces infos (même si se sont des logiciel essentiellement Windows), j’espérai qu'il existe une bibliothèque générique (multi OS) interrogeant l'OS qui lui ferait le travail selon l'architecture du microprocesseur. J'aurai voulu pouvoir avoir accès aux infos de la carte mère tel nombre et type de port PCIe, SATA, slot de RAM, ...

  6. #6
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 352
    Points : 42 824
    Points
    42 824
    Par défaut
    Je pense que ces logiciels utilisent les informations ACPI.

    Sous linux, tu pourras trouver plein d'infos dans /proc et /sys. Il existe une commande acpi il me semble.

    Tu peux regarder aussi du coté de la commande wmic de Windows, il y a un portage sous Linux mais je ne sais pas ce qu’il vaut. Il existe également des clients Python pour wmi.

    Cela t’éviteras de devoir réinventer la roue et d'étudier l'ACPI qui doit être super lourd.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  7. #7
    Membre à l'essai
    Homme Profil pro
    autre
    Inscrit en
    Octobre 2018
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Octobre 2018
    Messages : 30
    Points : 21
    Points
    21
    Par défaut
    je suis en effet tomber sur wmic mais je n'ai pas cherché plus avant dans cette direction car elle vient qu'avec le powershell qui n'apparait qu'en 2006 et Vista excluant toute la branche DOS, 9X et XP. De plus elle est déprécier sous Windows 10 et disparait avec Windows 11 (autant pour la compatibilité)

    Et un but non avouer, après un creux de 10 ans sans faire d'informatique, était de m'y remettre "en douceur" (doux rêve) sur un sujet qui me tenait à cœur (mais qui a-t-il la dessous ?).

    Pour information, lorsque je me suis rendu compte qu'il me faudrait faire une solution adapter pour Windows et une autre pour Linux, j'ai cherché à savoir comment les identifier.
    La seul réponse que j'ai trouver c'est de chercher la présence, pour Windows, de Win32. Pourtant le MBR /UEFI doive avoir ces informations, qui plus est l'UEFI est en C donc plus accessible.

  8. #8
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 136
    Points
    10 136
    Par défaut
    Citation Envoyé par primusG Voir le message
    Et un but non avouer, après un creux de 10 ans sans faire d'informatique, était de m'y remettre "en douceur" (doux rêve) sur un sujet qui me tenait à cœur (mais qui a-t-il la dessous ?).
    Si c'est ce qui t'intéresse , alors il faut viser à mon sens des machines bien plus simple à comprendre et à appréhender (Arduino , Raspberry Pi etc etc ).

  9. #9
    Membre à l'essai
    Homme Profil pro
    autre
    Inscrit en
    Octobre 2018
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Octobre 2018
    Messages : 30
    Points : 21
    Points
    21
    Par défaut
    je n'ai que mon portable et je pensai, à tort que la standardisation avait fait son œuvre.

Discussions similaires

  1. [12c] Generation automatique rapport utilisation CPU etc
    Par Yull Master dans le forum Administration
    Réponses: 3
    Dernier message: 06/08/2015, 13h21
  2. Documentation gratuite sur l'API Windows, COM, DCOM, OLE, etc.
    Par Community Management dans le forum Windows
    Réponses: 1
    Dernier message: 16/11/2006, 16h28
  3. [Sonde CPU]Ou placer la sonde sur le CPU
    Par Zipyz dans le forum Composants
    Réponses: 2
    Dernier message: 10/10/2006, 12h16
  4. Récupérer la quantité de ressource disponible (RAM,CPU,HDD)
    Par telecnop dans le forum Programmation et administration système
    Réponses: 11
    Dernier message: 26/10/2005, 14h23
  5. [Choix] SGDB pour Entreprise : coût, efficacité, etc.
    Par grassat dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 15/06/2002, 09h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo