الحصول على وحدة المعالجة المركزية أو الرقم التسلسلي للوحة الأم؟

StackOverflow https://stackoverflow.com/questions/4216009

سؤال

أحاول الحصول على CPU serial أو motherboard serial استخدام C أو Python لأغراض الترخيص. هل هو ممكن؟

أنا استخدم Linux.

هل كانت مفيدة؟

المحلول

تحتاج إلى استخدام تعليمات وحدة المعالجة المركزية.

وحدة المعالجة المركزية

لدى معظم المترجمين C بعض الدعم للتجميع المضمّن ، لكنك ستحتاج إلى معرفة ما تفعله.

نصائح أخرى

تحت Linux ، يمكنك استخدام "LSHW -QUIET -XML" وتحليل إخراجها. ستجد الكثير من معلومات النظام هنا: CPUID ومعرف اللوحة الأم وأكثر من ذلك بكثير.

يمكنك الحصول على وحدة المعالجة المركزية. ربما يمكن أن يساعدك أمر Linux "DmideCode". يمكنك تنفيذ هذا الأمر ، أو تحميل الكود المصدري لـ "dmidecode". التالي هو إخراج "معالج DMIDECODE -T":

>dmidecode -t processor
# dmidecode 2.7
SMBIOS 2.2 present.

Handle 0x0004, DMI type 4, 32 bytes.
Processor Information
        Socket Designation: Socket 478
        Type: Central Processor
        Family: Pentium 4
        Manufacturer: Intel
        ID: 27 0F 00 00 FF FB EB BF
        Signature: Type 0, Family 15, Model 2, Stepping 7
        Flags:
                FPU (Floating-point unit on-chip)
                VME (Virtual mode extension)
                DE (Debugging extension)
                PSE (Page size extension)
                TSC (Time stamp counter)
                MSR (Model specific registers)
                PAE (Physical address extension)
                MCE (Machine check exception)
                CX8 (CMPXCHG8 instruction supported)
                APIC (On-chip APIC hardware supported)
                SEP (Fast system call)
                MTRR (Memory type range registers)
                PGE (Page global enable)
                MCA (Machine check architecture)
                CMOV (Conditional move instruction supported)
                PAT (Page attribute table)
                PSE-36 (36-bit page size extension)
                CLFSH (CLFLUSH instruction supported)
                DS (Debug store)
                ACPI (ACPI supported)
                MMX (MMX technology supported)
                FXSR (Fast floating-point save and restore)
                SSE (Streaming SIMD extensions)
                SSE2 (Streaming SIMD extensions 2)
                SS (Self-snoop)
                HTT (Hyper-threading technology)
                TM (Thermal monitor supported)
                PBE (Pending break enabled)
        Version: Intel(R) Pentium(R) 4 CPU
        Voltage: 1.5 V
        External Clock: 133 MHz
        Max Speed: 3066 MHz
        Current Speed: 2800 MHz
        Status: Populated, Enabled
        Upgrade: ZIF Socket
        L1 Cache Handle: 0x0008
        L2 Cache Handle: 0x0009
        L3 Cache Handle: No L3 Cache

في Linux ، يمكن العثور على معلومات اللوحة الأم تحت/SYS/CLASS/DMI على سبيل المثال

$ sudo grep '' /sys/class/dmi/id/board_*
/sys/class/dmi/id/board_asset_tag:
/sys/class/dmi/id/board_name:30AD
/sys/class/dmi/id/board_serial:
/sys/class/dmi/id/board_vendor:Hewlett-Packard
/sys/class/dmi/id/board_version:KBC Version 56.34

... ولكن لا توفر جميع اللوحات الأم الرقم التسلسلي من خلال DMI ... كما ترون هنا.

لم تعد وحدات المعالجة المركزية تحصل على رقم تسلسلي وكان الأمر كذلك لفترة من الوقت الآن. بالنسبة إلى وحدة المعالجة المركزية - إنها فريدة من نوعها لكل نموذج وحدة المعالجة المركزية ، وبالتالي فهي لا تساعد في الترخيص.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top