كيفية اكتشاف سرعة وحدة المعالجة المركزية و RPM HDD في Objective-C أو Python
-
29-09-2019 - |
سؤال
أنا جديد في Objective-C ، لسبب أكاديمي ، أحتاج إلى قراءة سرعة وحدة المعالجة المركزية و RPM HDD
ما هي أبسط طريقة للوصول إلى بعض إعدادات النظام في Objective-C أو Python
يمكنني الاختيار بين Objective-C و Python لهذا المشروع.
المحلول
يمكن أن يحصل هذا على سرعة وحدة المعالجة المركزية المبلغ عنها لنظام التشغيل Windows 2000 وما فوق من خلال قراءة السجل باستخدام 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
لا أعرف كيفية القيام بذلك لأنظمة التشغيل الأخرى ، ولا كيفية الحصول على RPMs HDD.
نصائح أخرى
أعتقد أنه سيتعين عليك استخدام وحدة C ++ مع Python للكشف عن سرعة وحدة المعالجة المركزية أو دورة في الدقيقة من محرك الأقراص الثابتة. حساب إجمالي استخدام وحدة المعالجة المركزية يمكن أن تساعدك هنا
لا أعرف أي شيء عن OBJ-C ، لذلك لم أستطع إخبارك إذا كان ذلك ممكنًا بهذه اللغة!
إن التحقق من سرعة وحدة المعالجة المركزية ليس شيئًا موضوعيًا ، إنه أمر نظام التشغيل. على OS X (وأفترض iOS) تريد أن تنظر إلى sysctlbyname (3) وخاصية HW.Cpufrequency ، شيء مثل:
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);
}
لا أعرف طريقة جيدة للحصول على RPM من محرك الأقراص ، لكنني أعرف طريقة سيئة. تحليل إخراج system_profiler ، المعلومات موجودة (كـ "معدل دوران"):
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: /
من المحتمل أن يكون هناك تجريد أفضل للاستخدام ، لا أعرف ذلك.