운영 체제는 배터리 수준을 어떻게 알 수 있습니까? 배터리와 상호

기본 OS를 제거하고 새 OS를 설치하더라도 배터리와 상호 작용할 수 있습니다. 그것에 대한 몇 가지 드라이버가 있습니까? 어떻게 작동합니까?



답변

운영 체제는 ACPI ( Advanced Configuration and Power Interface )의 일부인 내장 컨트롤러의 펌웨어
와 인터페이스 합니다.

Wikipedia는이를 다음과 같이 정의합니다.

컴퓨터에서 ACPI (Advanced Configuration and Power Interface)는 운영 체제가 컴퓨터 하드웨어 구성 요소를 검색 및 구성하고, 예를 들어 사용하지 않는 구성 요소를 절전 모드로 설정하고, 상태 모니터링을 수행하여 전원 관리를 수행하는 데 사용할 수있는 개방형 표준을 제공합니다. . 1996 년 12 월 처음 출시 된 ACPI는 APM (Advanced Power Management), 멀티 프로세서 사양 및 PnP (Plug and Play BIOS) 사양을 대체하는 것을 목표로합니다. [1] ACPI는 전원 관리 및 구성 정책을 결정하기 위해 플랫폼 별 펌웨어에 의존했던 이전 BIOS 중심 시스템과 달리 운영 체제의 제어하에 전원 관리를 제공합니다.

내부적으로 ACPI는 커널이 구문 분석하는 시스템 펌웨어 (UEFI (Unified Extensible Firmware Interface) 또는 BIOS)를 통해 제공되는 명령 목록 ( “메소드”)을 사용하여 사용 가능한 구성 요소와 해당 기능을 운영 체제 커널에 알립니다. 그런 다음 ACPI는 내장 된 최소 가상 시스템을 사용하여 원하는 작업 (예 : 하드웨어 구성 요소 초기화)을 실행합니다.

대답은 회로 또는 마이크로 칩이 마더 보드에 내장되어 있으며, 그 자체에는 컴퓨터 펌웨어 (UEFI 또는 BIOS)를 통해 일부 서비스를 제공하는 마이크로 운영 체제가 포함되어 있습니다. 전원 및 장치 관리의 여러 측면을 제어합니다.

컴퓨터 운영 체제에는 ACPI와의 인터페이스 전용 시스템 드라이버가 있습니다. ACPI가 활성화되면 전원 관리 및 장치 구성의 모든 측면을 독점적으로 제어합니다.

많은 측면에서 ACPI는 운영 체제 뒤의 운영 체제입니다. 단, 마더 보드와 함께 제공되며 사용자가 제어 할 수는 없습니다. 트로이 목마를 좋아하고 보안 위험이라고 부르는 목소리가 있습니다. 비활성화되어있을 수 있지만 일부 컴퓨터는 부팅하지 않으면 고급 전원 관리가 비활성화됩니다.

Windows에서의 사용에 대한 자세한 정보는 배터리 및 전원 서브 시스템 하드웨어 설계 기사를 참조하십시오
.


답변

다른 답변을 보완하기 위해 컴퓨터에서 실행되는 소프트웨어는 배터리 잔량을 어떻게 알 수 있습니까? 배터리를 묻습니다.

대부분의 랩탑 배터리는 호스트가 SMBus를 통해 통신 할 수있는 자체 마이크로 컨트롤러 또는 “연료 게이지”ASIC 이있는 스마트 배터리 입니다. 사람들은 몇 가지 예를 리버스 엔지니어링했습니다.

SMBus는 관리자가 직접 쿼리 할 수있는 방식으로 운영 체제에 직접 노출되거나 노출되지 않을 수 있습니다. OpenHardwareMonitor 또는 Speccy와 같은 다양한 프로그램이나 버스를 조사하여 하드웨어에 대해 알아볼 수있는 lm 센서가 있습니다.


답변

보다 일반적으로 모든 컴퓨터 칩에는 설계자와 프로그래머에게 자신이하는 일과이를 구성하는 방법을 알려주는 설명서가 있습니다. 칩의 레지스터에 직접 읽고 쓰면 이러한 칩에 대한 저수준 액세스가 가능합니다.

더 복잡한 칩에는 운영 체제 또는 다른 응용 프로그램에 대한 높은 수준의 액세스를 허용하는 ‘드라이버’라는 소프트웨어 프로그램이 제공 될 수 있습니다. 예를 들어, 스마트 폰에는 대부분의 전화 하드웨어, GPS, 가속도계, 배터리, 카메라 등에 액세스 할 수있는 API (Application Programming Interface)가 있습니다. “앱”을 작성할 때 API를 사용하여 이러한 하드웨어 장치에 액세스 할 수 있습니다 운영 체제에서와 마찬가지로 (OS는 일반적으로 ‘사용자 공간’에서 실행되는 프로그램보다 더 광범위한 액세스 권한을 갖지만)

이러한 인터페이스는 하드웨어 칩을 함수 호출 할 때 요청 된 정보로 응답 할 수 있도록 잘 정의되어 있습니다. 배터리 컨트롤러 칩은이 일반적인 인프라의 한 예일뿐입니다.

운영 체제 코드를 작성하는 사람은 칩에 대한 문서를 가져오고 칩과 통신하고 원하는 정보를 검색하기 위해 소프트웨어를 작성합니다.

따라서 다음에 외장 하드 드라이브, USB 썸 드라이브 또는 기타 장치에 대해 ‘드라이버'(또는 자동으로 수행)를로드하면 ‘후드’아래에서 발생하는 상황에 대해 조금 더 이해할 것입니다.