如何在Linux系统中获取WMI的处理器ID?

问题描述

我需要在Linux系统中获得get-wmiobject win32_processor | select-object -property processorId的结果。 为此,我首先需要了解WMI从何处获取结果。 到目前为止,我的理解是,在这种情况下,get-wmiobject win32_processor的作用就像是汇编程序指令cpuID的包装。

来自docs

ProcessorId 数据类型:字符串 访问类型:只读 限定符:MappingStrings(“ SMBIOS |类型4 |处理器信息|处理器ID”) 描述处理器功能的处理器信息。对于x86类cpu,字段格式取决于cpuID指令的处理器支持。如果支持该指令,则该属性包含2(两个)DWORD格式的值。第一个是偏移量08h-0Bh,它是输入EAX设置为1时cpuID指令返回的EAX值。第二个是偏移量0Ch-0Fh,它是指令返回的EDX值。该属性只有前两个字节有效,并且包含cpu复位时DX寄存器的内容-所有其他字节均设置为0(零),并且内容均为DWORD格式。

  1. 返回“偏移量”是什么意思?这2个DWORD是否返回cpu支持的所有活动标志(true)/功能的位表示?您能提供一个计算一个例子吗?

  2. 最终,要在linux系统中获得相同的数据,我需要为cpuID调用编写包装器,然后“解析”在正确的cpu寄存器中返回的数据?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)