System Management BIOS

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
System Management BIOS
Status Published
Year started 1999
Latest version 3.2.0
May 2018
Organization Distributed Management Task Force (DMTF)
Related standards Common Information Model (CIM), Web-Based Enterprise Management (WBEM), Redfish
Domain Systems management
Abbreviation SMBIOS
Website www.dmtf.org/standards/smbios

In computing, the System Management BIOS (SMBIOS) specification defines data structures (and access methods) that can be used to read management information produced by the BIOS of a computer.[1] This eliminates the need for the operating system to probe hardware directly to discover what devices are present in the computer. The SMBIOS specification is produced by the Distributed Management Task Force (DMTF), a non-profit standards development organization. The DMTF estimates that two billion client and server systems implement SMBIOS.[2]

The DMTF released the version 3.2.0 of the specification on May 14, 2018.[3]

SMBIOS was originally known as Desktop Management BIOS (DMIBIOS), since it interacted with the Desktop Management Interface (DMI).[4]

History[edit]

Version 1 of the Desktop Management BIOS (DMIBIOS) specification was produced by Phoenix Technologies in or before 1996.[citation needed]

Version 2.0 of the Desktop Management BIOS specification was released on March 6 1996 by American Megatrends (AMI), Award Software, Dell, Intel, Phoenix Technologies, and SystemSoft Corporation. It introduced 16-bit plug-and-play functions used to access the structures from Windows 95.[5]

The last version to be published directly by vendors was 2.3 on August 12, 1998. The authors were American Megatrends, Award Software, Compaq, Dell, Hewlett-Packard, Intel, International Business Machines (IBM), Phoenix Technologies, and SystemSoft Corporation.

Circa 1999, the Distributed Management Task Force (DMTF) took ownership of the specification. The first version published by the DMTF was 2.3.1 on March 16, 1999. At approximately the same time Microsoft started to require that OEMs and BIOS vendors support the interface/data-set in order to have Microsoft certification.

Version 3.0.0, introduced in February 2015, added a 64-bit entry point, which can coexist with the previously defined 32-bit entry point.

Contents[edit]

The SMBIOS table consists in an entry point (two types are defined, 32-bit and 64-bit), and a variable number of structures that describe platform components and features. These structures are occasionally referred to as "tables" or "records" in third-party documentation.

Structure types[edit]

As of version 3.2.0, the SMBIOS specification defines the following structure types:[6][7]

Accessing SMBIOS data[edit]

From Linux[edit]

The Linux kernel contains an SMBIOS decoder, allowing systems administrators to inspect system hardware configuration and to enable or disable certain workarounds for problems with specific systems, based on the provided SMBIOS information.

The userspace command-line utility dmidecode(8) inspects this data. Information provided by this utility typically includes the system manufacturer, model name, serial number, BIOS version and asset tag, as well other details of varying level of interest and reliability, depending on the system manufacturer. The information often includes usage status for the CPU sockets, expansion slots (including AGP, PCI and ISA) and memory module slots, and the list of I/O ports (including serial, parallel and USB).[6][8][9]

From Microsoft Windows[edit]

Microsoft specifies WMI as the preferred mechanism for accessing SMBIOS information from Microsoft Windows.[10][11]

On Windows systems that support it (XP and later), some SMBIOS information can be viewed with either the WMIC utility with 'BIOS'/'MEMORYCHIP'/'BASEBOARD' and similar parameters, or by looking in the Windows Registry under HKLM\HARDWARE\DESCRIPTION\System

Various software utilities can retrieve raw SMBIOS data, including smbiosw[12] and SMBIOS Peek.[10]

From UEFI[edit]

The EFI configuration table (EFI_CONFIGURATION_TABLE) contains entries pointing to the SMBIOS 2 and/or SMBIOS 3 tables.[13]

In the UEFI Shell, the "SmbiosView" command can retrieve and display the SMBIOS data.[14][15]

Generating SMBIOS data[edit]

Table and structure creation is normally up to the system firmware/BIOS. The Platform Initialization Specification (published by the UEFI Forum) includes an SMBIOS protocol (EFI_SMBIOS_PROTOCOL) that allows components to submit SMBIOS structures for inclusion, and enables the producer to create the SMBIOS table for a platform.[16]

Platform virtualization software can also generate SMBIOS tables for use inside VMs, for instance QEMU[17].

See also[edit]

References[edit]

  1. ^ "Libsmbios Library Documentation". dell.com. 2007-04-11. Archived from the original on 2016-09-18. Retrieved 2016-02-02. 
  2. ^ DMTF press release on SMBIOS 3.2: https://www.dmtf.org/content/dmtf-releases-smbios-32
  3. ^ "System Management BIOS". dmtf.org. May 2018. Retrieved 2018-06-08. 
  4. ^ "Desktop Management BIOS Specification, Version 2.0" (PDF). uni-regensburg.de. 1996-03-06. Retrieved 2016-02-02. 
  5. ^ "Desktop Management BIOS Specification, Version 2.0" (PDF). uni-regensburg.de. 1996-03-06. Retrieved 2016-02-02. 
  6. ^ a b Ken Hess (2010-04-23). "Linux System Information Decoded". linux-mag.com. Retrieved 2016-02-02. 
  7. ^ SMBIOS Specification, version 3.2.0, May 2018, https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.2.0.pdf
  8. ^ "dmidecode". nongnu.org. Retrieved 2013-10-30. 
  9. ^ Joe Barr (2004-11-29). "dmidecode: What's it good for?". linux.com. Retrieved 2013-10-30. 
  10. ^ a b wjfrancis (2008-03-27). "SMBIOS Peek - CodeProject". Codeproject.com. Retrieved 2012-05-12. 
  11. ^ SMBIOS Support in Windows, Microsoft paper, updated April 25, 2005
  12. ^ 2/15/2005 9:27 amContributed By: Darwin Sanoy (2005-02-15). "FREE: SMBIOS Utilities for Windows and Command Line". DesktopEngineer.com. Archived from the original on 2012-12-16. Retrieved 2012-05-12. 
  13. ^ UEFI Specification, version 2.6, section 4.6
  14. ^ "smbiosview (HP UEFI System Utilities and Shell Command Mobile Help for HP ProLiant Gen9 Servers)". hp.com. 2015-09-22. Retrieved 2016-02-02. 
  15. ^ "Tianocore /edk2/ShellPkg/Library/UefiShellDebug1CommandsLib/SmbiosView". sourceforge.net. Retrieved 2015-01-27. 
  16. ^ Platform Initialization Specification, volume 5, section 6, SMBIOS Protocol
  17. ^ QEMU version 2.12.50 User Documentation, https://qemu.weilnetz.de/doc/qemu-doc.html

External links[edit]