시스템 매니지먼트 바이오스

컴퓨팅에서 시스템 매니지먼트 바이오스(System Management BIOS, SMBIOS) 사양은 컴퓨터의 바이오스가 생성한 관리 정보를 읽는 데 사용될 수 있는 자료 구조 (및 접근 방식)를 정의한다. 이를 통해 운영체제가 컴퓨터에 어떤 장치가 있는지 파악하기 위해 하드웨어를 직접 조사할 필요가 없어진다. SMBIOS 사양은 비영리 표준 개발 기구인 디스트리뷰티드 매니지먼트 태스크 포스 (DMTF)에 의해 작성된다. DMTF는 20억 대의 클라이언트 및 서버 시스템이 SMBIOS를 구현하는 것으로 추정한다.DMTF press release on SMBIOS 3.2: https://www.dmtf.org/content/dmtf-releases-smbios-32

SMBIOS는 원래 데스크톱 매니지먼트 인터페이스(DMI)와 상호 작용했기 때문에 데스크톱 매니지먼트 바이오스(DMIBIOS)로 알려졌다.

DMTF는 2024년 5월 24일에 사양 버전 3.7.1을 발표했다.

역사
데스크톱 매니지먼트 바이오스 (DMIBIOS) 사양의 버전 1은 1996년 또는 그 이전에 피닉스 테크놀로지스(Phoenix Technologies)에 의해 제작되었다.

데스크톱 매니지먼트 바이오스 사양 버전 2.0은 1996년 3월 6일 아메리칸 메가트렌즈 (AMI), 어워드 소프트웨어, 델, 인텔, 피닉스 테크놀로지스, 그리고 시스템소프트 코퍼레이션(SystemSoft Corporation)에 의해 출시되었다. 이 버전은 윈도우 95에서 구조에 접근하는 데 사용되는 16비트 플러그 앤 플레이 기능을 도입했다.

제조업체에 의해 직접 출판된 마지막 버전은 1998년 8월 12일의 2.3 버전이었다. 저자는 아메리칸 메가트렌즈, 어워드 소프트웨어, 컴팩, 델, 휴렛 팩커드, 인텔, 인터내셔널 비즈니스 머신스 (IBM), 피닉스 테크놀로지스, 그리고 시스템소프트 코퍼레이션이었다.

1999년 즈음, 디스트리뷰티드 매니지먼트 태스크 포스 (DMTF)가 사양의 소유권을 가져갔다. DMTF가 발표한 첫 버전은 1999년 3월 16일의 2.3.1이었다. 거의 동시에 마이크로소프트는 OEM 및 바이오스 공급업체가 마이크로소프트의 제품 인증을 받기 위해 인터페이스/데이터 세트를 지원하도록 요구하기 시작했다.

2015년 2월에 도입된 버전 3.0.0은 이전에 정의된 32비트 진입점과 공존할 수 있는 64비트 진입점을 추가했다.

버전 3.4.0은 2020년 8월에 출시되었다.DMTF Releases SMBIOS 3.4

버전 3.5.0은 2021년 9월에 출시되었다.DMTF Releases SMBIOS 3.5

버전 3.6.0은 2022년 6월에 출시되었다.DMTF Releases SMBIOS 3.6

버전 3.7.0은 2023년 7월에 출시되었다.DMTF Releases SMBIOS 3.7

버전 3.8.0은 2024년 8월에 출시되었다.

내용
SMBIOS 테이블은 진입점(32비트와 64비트 두 가지 유형이 정의됨)과 플랫폼 구성 요소 및 기능을 설명하는 가변 수의 구조로 구성된다. 이러한 구조는 타사 문서에서 간혹 "테이블" 또는 "레코드"라고 불린다.

구조 유형
버전 3.3.0 기준으로, SMBIOS 사양은 다음 구조 유형을 정의한다.SMBIOS Specification, version 3.3.0, Sep 2019, https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.3.0.pdf

 유형 설명 0 BIOS 정보 1 시스템 정보 2 베이스보드 (또는 모듈) 정보 3 시스템 인클로저 또는 섀시 4 프로세서 정보 5 메모리 컨트롤러 정보 (더 이상 사용되지 않음) 6 메모리 모듈 정보 (더 이상 사용되지 않음) 7 캐시 정보 8 포트 커넥터 정보 9 시스템 슬롯 10 온보드 장치 정보 11 OEM 문자열 12 시스템 구성 옵션 13 BIOS 언어 정보 14 그룹 연결 15 시스템 이벤트 로그 16 물리적 메모리 어레이 17 메모리 장치 18 32비트 메모리 오류 정보 19 메모리 어레이 매핑 주소 20 메모리 장치 매핑 주소 21 내장 포인팅 장치 22 휴대용 배터리 23 시스템 재설정 24 하드웨어 보안 25 시스템 전원 제어 26 전압 프로브 27 냉각 장치 28 온도 프로브 29 전기 전류 프로브 30 대역 외 원격 접근 31 부팅 무결성 서비스 (BIS) 진입점 32 시스템 부팅 정보 33 64비트 메모리 오류 정보 34 관리 장치 35 관리 장치 구성 요소 36 관리 장치 임계값 데이터 37 메모리 채널 38 IPMI 장치 정보 39 시스템 전원 공급 장치 40 추가 정보 41 온보드 장치 확장 정보 42 관리 컨트롤러 호스트 인터페이스 43 TPM 장치 44 프로세서 추가 정보 126 비활성 127 테이블 끝 128–255 시스템 및 OEM 특정 정보를 위해 사용 가능 129 인텔 ASF 130 인텔 AMT 131 인텔 매니지먼트 엔진

SMBIOS 데이터 접근
EFI 구성 테이블 (EFI_CONFIGURATION_TABLE)은 SMBIOS 2 및 SMBIOS 3 테이블을 가리키는 항목을 포함한다.UEFI Specification, version 2.6, section 4.6 플랫폼 및 운영체제에 따라 데이터를 접근하는 여러 가지 방법이 있다.

UEFI에서
UEFI 셸에서  명령을 사용하여 SMBIOS 데이터를 검색하고 표시할 수 있다. 보통 시스템 펌웨어 설정으로 들어가 부팅 옵션으로 셸을 선택하여 (DVD 드라이브나 하드 드라이브 대신) UEFI 셸에 진입할 수 있다.

유닉스에서
리눅스, FreeBSD 등에서는 dmidecode 유틸리티를 사용할 수 있다.

윈도우에서
마이크로소프트는 마이크로소프트 윈도우에서 SMBIOS 정보에 접근하기 위한 선호 메커니즘으로 WMI를 지정한다.SMBIOS Support in Windows, Microsoft paper, updated April 25, 2005

이를 지원하는 윈도우 시스템 (XP 이후)에서는 WMIC 유틸리티를 'BIOS'/'MEMORYCHIP'/'BASEBOARD' 등과 유사한 매개변수와 함께 사용하거나, 윈도우 레지스트리의 HKLM\HARDWARE\DESCRIPTION\System에서 찾아 일부 SMBIOS 정보를 볼 수 있다.

FirmwareTablesView 및 AIDA64를 포함한 다양한 소프트웨어 유틸리티가 원시 SMBIOS 데이터를 검색할 수 있다.

SMBIOS 데이터 생성
테이블 및 구조 생성은 일반적으로 시스템 펌웨어/BIOS에 달려 있다. UEFI 플랫폼 이니셜라이제이션(Platform Initialization, PI) 사양에는 구성 요소가 SMBIOS 구조를 포함하도록 제출하고, 프로듀서가 플랫폼용 SMBIOS 테이블을 생성할 수 있도록 하는 SMBIOS 프로토콜 (EFI_SMBIOS_PROTOCOL)이 포함되어 있다.Platform Initialization Specification, volume 5, section 6, SMBIOS Protocol

플랫폼 가상화 소프트웨어는 예를 들어 QEMU와 같이 VM 내부에서 사용할 SMBIOS 테이블을 생성할 수도 있다.QEMU version 2.12.50 User Documentation, https://qemu.weilnetz.de/doc/qemu-doc.html 

SMBIOS 데이터가 제대로 생성 및 채워지지 않으면 시스템이 예상치 않게 작동할 수 있다. 예를 들어, 섀시 정보 | 유형 = 태블릿이라고 광고하는 미니 PC는 리눅스를 사용할 때 예상치 않게 작동할 수 있다. 그놈과 같은 데스크톱 관리자는 존재하지 않는 배터리를 모니터링하고 배터리 잔량이 임계값 미만으로 떨어지면 화면 및 네트워크 인터페이스를 종료하려고 시도할 것이다. 또한, 섀시 정보 | 제조업체가 올바르게 채워지지 않으면 올바르지 않은 유형 = 태블릿 문제에 대한 해결 방법이 적용될 수 없다.

 같이 보기 
 웹 기반 엔터프라이즈 관리 (WBEM)

 각주 

 외부 링크 

 SMBIOS Demystified, 2006년 8월 1일, Kiran Sanjeeva 저

분류:바이오스
분류:DMTF 표준
분류:컴퓨터 하드웨어 표준