Comment détecter la vitesse du processeur et H.D.D rpm en Objective-C ou python
-
29-09-2019 - |
Question
Je suis nouveau à c objectif, pour une raison universitaire, je dois lire la vitesse du processeur et H.D.D rpm
Quelle est la façon la plus simple d'accéder à certains réglages du système en Objective-C ou python
Je peux choisir entre Objective-C et Python pour ce projet.
La solution
Cela peut obtenir la vitesse du processeur signalé pour Windows 2000 et par la lecture du registre en utilisant python:
import _winreg
key = _winreg.OpenKey(
_winreg.HKEY_LOCAL_MACHINE,
r"HARDWARE\DESCRIPTION\System\CentralProcessor\0")
value, type = _winreg.QueryValueEx(key, "~MHz")
print 'CPU speed is:', value
Je ne sais pas comment le faire pour d'autres systèmes d'exploitation, ni comment obtenir les vitesses de rotation du disque dur si.
Autres conseils
Je pense que vous devez utiliser un module C ++ avec Python pour détecter la vitesse du processeur ou RPM d'un disque dur. Calculer l'utilisation totale du processeur pourrait vous aider ici
Je ne sais rien au sujet Obj-C, ne pouvait donc pas vous dire s'il est possible avec cette langue!
Vérification de la vitesse du processeur n'est pas vraiment une chose Objective C, il est une chose du système d'exploitation. Sur OS X (et je suppose iOS) que vous voulez regarder sysctlbyname (3) et la propriété hw.cpufrequency, quelque chose comme:
int hz;
size_t hz_size = sizeof(hz);
int rc = sysctlbyname("hw.cpufrequency", &hz, &hz_size, NULL, 0);
if (0 == rc) {
fprintf(stderr, "Clockspeed is %d hz\n", hz);
}
Je ne sais pas une bonne façon d'obtenir le RPM d'un lecteur de disque, mais je ne sais d'une mauvaise façon. Parse la sortie de system_profiler, l'info est là (comme "taux de rotation"):
Hitachi HTS543232L9SA02: Capacity: 320.07 GB (320,072,933,376 bytes) Model: Hitachi HTS543232L9SA02 Revision: FB4AC50F Serial Number: (omitted) Native Command Queuing: Yes Queue Depth: 32 Removable Media: No Detachable Drive: No BSD Name: disk0 Rotational Rate: 5400 Medium Type: Rotational Partition Map Type: GPT (GUID Partition Table) S.M.A.R.T. status: Verified Volumes: Macintosh HD: Capacity: 319.73 GB (319,728,959,488 bytes) Available: 12.4 GB (12,397,940,736 bytes) Writable: Yes File System: Journaled HFS+ BSD Name: disk0s2 Mount Point: /
Il y a probablement une meilleure abstraction à utiliser, je ne sais pas juste.