SMBIOS- DMTF组织指定的规范
SMBIOS(System Management BIOS , SMBIOS) 是主板或系统制造者以标准格式显示产品管理信息所需遵循的统一规范
SMBIOS是由行业指导机构Desktop Management Task Force (DMTF)起草的开放性的技术标准;
SMBIOS(System Management BIOS)是由BIOS/UEFI在初始化系统的时候收集的关于系统信息的一组结构化的表,并且存放在内存中,
提供给操作系统使用。
https://www.dmtf.org/zh-hans 中文
smbios规范下载
https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.4.0.pdf
DMTF Specifications
https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.5.0.pdf
Work in Progress Documents
https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.6.0WIP50.pdf
Historical Documents
https://www.dmtf.org/sites/default/files/standards/documents/DSP0130.pdf
苹果公司关于smbios实现
https://opensource.apple.com/source/AppleSMBIOS/AppleSMBIOS-22/SMBIOS.h.auto.html
从 SMBIOS 2.3 版本开始,兼容 SMBIOS 的实现必须包含以下 10 个数据表结构
BIOS 信息 (Type 0) 、系统信息 (Type 1) 、系统外围或底架 (Type 3) 、处理器信息 (Type 4) 、高速缓存信息 (Type 7) 、
系统插槽(Type 9) 、物理存储阵列 (Type 16) 、存储设备 (Type 17) 、存储阵列映射地址 (Type 19) 、系统引导信息 (Type 32) 。
其它的可以根据实际需要来实现。
我的SMBIOS是2.6的,所以我以2.6定义的type如下。
TYPE 0->BIOS 信息, TYPE 1->系统信息
TYPE 2->基板(模块)信息 TYPE 3->系统外围或底架
TYPE 4->处理器信息 TYPE 5->存储控制器信息(Obsolete),TYPE 6->存储模块信息(Obseolete) TYPE 7->缓存信息
TYPE 8->端口连接器信息 TYPE 9->系统插槽
TYPE 10->板载系统信息 TYPE 11->OEM字符串
TYPE 12->系统配置信息.............................
这里我看下 TYPE 1(系统信息)
位置 名称 长度 描述
00h TYPE 号 1BYTE 结构的TYPE 号,此处是1
01h 长度 1BYTE 格式区域总长度,2.0 版为08h ,2.1-2.3.4 版为19h ,从2.4 版开始为1Bh
02h 句柄 2BYTE 指向本结构的句柄
04h 电脑制造商 1BYTE 一般为01h ,表示在字符串区域中的编号
05h 产品名称 1BYTE 在字符串区域中的编号
06h 版本号 1BYTE 在字符串区域中的编号
07h 序列号 1BYTE 在字符串区域中的编号
09h UUID 16BYTE 通用唯一标识符
18h 唤醒类型 BYTE 用来标识导致系统开电启动的事件
19h SKU 号 BYTE 在字符串区域中的编号,SKU 号通常为产品ID 或采购订单号
1Ah 产品家族 1BYTE 在字符串区域中的编号
SMBIOS specification 2.7.1 中定义了如下的结构类型:
type Description
0 BIOS Information
1 System Information
2 Baseboard (or Module) Information
3 System Enclosure or Chassis
4 Processor Information
5 Memory Controller Information (Obsolete)
6 Memory Module Information (Obsolete)
7 Cache Information
8 Port Connector Information
9 System Slots
10 On Board Devices Information
11 OEM Strings
12 System Configuration Options
13 BIOS Language Information
14 Group Associations
15 System Event Log
16 Physical Memory Array
17 Memory Device
18 32-Bit Memory Error Information
19 Memory Array Mapped Address
20 Memory Device Mapped Address
21 Built-in Pointing Device
22 Portable Battery
23 System Reset
24 Hardware Security
25 System Power Controls
26 Voltage Probe
27 Cooling Device
28 Temperature Probe
29 Electrical Current Probe
30 Out-of-Band Remote Access
31 Boot Integrity Services (BIS) Entry Point
32 System Boot Information
33 64-Bit Memory Error Information
34 Management Device
35 Management Device Component
36 Management Device Threshold Data
37 Memory Channel
38 IPMI Device Information
39 System Power Supply
40 Additional Information
41 Onboard Devices Extended Information
42 Management Controller host Interface
126 Inactive
127 End-of-Table
128-255 Available for system- and OEM- specific informatio
在Linux中,可以通过dmidecode命令查看,不同类型的SMBIOS子表通过type数值来区分
使用方法 dmidecode -t type_num,在系统里面查看smbios表的信息
查询方法:
[root@ht8 devices]#dmidecode
[root@ht8 devices]#dmidecode -t 0
[root@ht8 devices]# dmidecode -t system
type=0代表bios
[root@ht8 devices]# dmidecode -t 0 //0代表bios
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.4 present. Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: Phoenix Technologies LTD
Version: 6.00
Release Date: 09/21/2015
Address: 0xE99E0
Runtime Size: 91680 bytes
ROM Size: 64 kB
Characteristics:
ISA is supported
PCI is supported
PC Card (PCMCIA) is supported
PNP is supported
APM is supported
BIOS is upgradeable
BIOS shadowing is allowed
ESCD support is available
Boot from CD is supported
Selectable boot is supported
EDD is supported
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
CGA/mono video services are supported (int 10h)
ACPI is supported
Smart battery is supported
BIOS boot specification is supported
Function key-initiated network boot is supported
Targeted content distribution is supported
BIOS Revision: 4.6
Firmware Revision: 0.0
type=9代表系统插槽
[root@ht8 devices]# dmidecode -t 9
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.4 present. Handle 0x0198, DMI type 9, 13 bytes
System Slot Information
Designation: ISA Slot J8
Type: 16-bit ISA
Current Usage: Unknown
Length: Short
Characteristics:
5.0 V is provided Handle 0x0199, DMI type 9, 13 bytes
System Slot Information
Designation: ISA Slot J9
Type: 16-bit ISA
Current Usage: Unknown
Length: Short
Characteristics:
5.0 V is provided Handle 0x019A, DMI type 9, 13 bytes
System Slot Information
Designation: ISA Slot J10
Type: 16-bit ISA
Current Usage: Unknown
Length: Short
Characteristics:
5.0 V is provided Handle 0x019B, DMI type 9, 13 bytes
System Slot Information
Designation: PCI Slot J11
Type: 32-bit PCI
Current Usage: In Use
Length: Long
ID: 1
Characteristics:
5.0 V is provided
3.3 V is provided Handle 0x019C, DMI type 9, 13 bytes
System Slot Information
Designation: PCI Slot J12
Type: 32-bit PCI
Current Usage: Available
Length: Long
ID: 2
Characteristics:
5.0 V is provided
3.3 V is provided Handle 0x019D, DMI type 9, 13 bytes
System Slot Information
Designation: PCI Slot J13
Type: 32-bit PCI
Current Usage: In Use
Length: Long
ID: 3
Characteristics:
5.0 V is provided
3.3 V is provided Handle 0x019E, DMI type 9, 13 bytes
System Slot Information
Designation: PCI Slot J14
Type: 32-bit PCI
Current Usage: Available
Length: Long
ID: 4
Characteristics:
5.0 V is provided
3.3 V is provided
https://blog.csdn.net/zhoudaxia/article/details/5919699
SMBIOS- DMTF组织指定的规范的更多相关文章
- Atitit 常用sdk 模块 组织架构切分 规范与范例attilax总结
Atitit 常用sdk 模块 组织架构切分 规范与范例attilax总结 常用200个模块 2017/04/12 22:01 <DIR> acc 2017/04 ...
- Swagger RESTful API文档规范
*注意编写的关键词:“必须”.“不能”.“需要”.“应当”,“不得”.“应该”.“不应该”,“推荐”.“可能”和“可选的” 原文链接:http://swagger.io/specification/ ...
- 财经世界(5)国际货币基金组织,世界银行,国际清算银行(BIS)与美联储
(1)国际货币基金组织 *国际货币基金组织(International Monetary Fund,简称:IMF)是根据1944年7月在布雷顿森林会议签订的<国际货币基金协定>,于1945 ...
- SQL Server 重新组织生成索引
标签:SQL SERVER/MSSQL SERVER/数据库/DBA/索引/统计信息 概述 无论何时对基础数据执行插入.更新或删除操作,SQL Server 数据库引擎都会自动维护索引.随着时间的推移 ...
- thinkphp开发规范
1.编写目的 为了更好的提高技术部的工作效率,保证开发的有效性和合理性,并可最大程度的提高程序代码的可读性和可重复利用性,指定此规范.开发团队根据自己的实际情况,可以对本规范进行补充或裁减. ...
- PQA组织的设置与运作
文/共创力咨询资深顾问 杨学明 PQA(Process Quality Assurance)是过程质量保证的意思,有的公司也把它称为PPQA(Product Process Quality Assu ...
- PHP开发编码规范
(转载:https://blog.csdn.net/alexdream/article/details/2213313) 这些年来多从事Linux下PHP和C相关的开发,带过很多项目和团队,下面是根据 ...
- activiti5/6 系列之--Activiti与BPMN2.0规范相关节点对应关系
根据BPMN2.0规范的分类划分为以下部分: 1.启动与结束事件(event) 2.顺序流(Sequence Flow) 3.任务(Task) 4.网关(Gateway) 5.子流程(Subproce ...
- Activiti工作流与BPMN2.0规范
本章内容根据BPMN2.0规范的分类划分为以下部分: 1.启动与结束事件(event) 2.顺序流(Sequence Flow) 3.任务(Task) 4.网关(Gateway) 5.子流程(Subp ...
随机推荐
- 分享一些阅读Java相关框架源码的经验
昨天和部分网友进行了线上的交流,交流中有不少网友提到阅读源码比较难,不知道怎么上手.胖哥分享了一些个人经验,这里总结一下. 阅读源码实际上是Debug源码 其实所谓的阅读源码并不是单纯的阅读,而是调试 ...
- SQL学习日记
目录 SQL学习日记 1. 常见的数据库对象 2. DDL 定义语句 3. DML 操作语句 4. DQL 查询语句 5. DCL 控制语句 SQL学习日记 1. 常见的数据库对象 对象名 关键字 描 ...
- 基于ECS搭建云上博客(云小宝码上送祝福,免费抽iphone13任务详解)
码上送祝福,带云小宝回家 做任务免费抽iphone13,还可得阿里云新春限量手办 日期:2021.12.27-2022.1.16 云小宝地址:https://developer.aliyun.com/ ...
- 前端知识之JavaScript知识
前端之javaScript JavaScript html :展示文档内容的 css:控制文档的显示效果 js:控制文档的交互效果 是脚本语言 一种轻量级的编程语言 可插入html页面的编程代码 js ...
- 项目构建工具之maven01
Maven 是一个项目管理工具,可以对 Java 项目进行构建.依赖管理.Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目.Maven 曾是 Jakar ...
- 『忘了再学』Shell基础 — 3、echo命令的介绍与使用
目录 1.echo命令的作用 2.echo命令的基本用法 3.echo命令的-e选项用法 4.echo命令一些特殊用法 (1)输出字符带有字体颜色 (2)输出字符带有背景颜色 在讲Shell脚本之前, ...
- 项目可以怎么规范Git commit ?
通常情况下,commit message应该清晰明了,说明本次提交的目的,具体做了什么操作.但是在日常开发中,大家的commit message都比较随意,中英文混合使用的情况有时候很常见,这就导致后 ...
- linux下串口测试程序
通过简单的参数配置,执行文件+串口号+波特率 #include <stdio.h> #include <stdlib.h> #include <unistd.h> ...
- 手把手带你使用EFR32 -- 土壤湿度传感器变身第二形态,以 ZigBee 形态出击
前言 后悔,总之就是非常后悔,我当时到底是为啥才会猪油蒙心,选择了 EFR32 来学习 ZigBee 使用啊? EFR32 这玩意看性能确实不错,但是资料太少了,EmberZnet SDK 也是用得一 ...
- 什么是 ThreadLocal 变量?
ThreadLocal 是 Java 里一种特殊的变量.每个线程都有一个 ThreadLocal 就是每 个线程都拥有了自己独立的一个变量,竞争条件被彻底消除了.它是为创建代价 高昂的对象获取线程安全 ...