Odpowiedzi:
System operacyjny łączy się z oprogramowaniem wbudowanym kontrolera, który jest częścią interfejsu Advanced Configuration and Power Interface (ACPI).
Wikipedia definiuje to jako:
W komputerze zaawansowany interfejs konfiguracji i zasilania (ACPI) zapewnia otwarty standard, za pomocą którego systemy operacyjne mogą wykrywać i konfigurować komponenty sprzętowe komputera, zarządzać energią poprzez (na przykład) uśpienie nieużywanych komponentów oraz monitorowanie stanu . Po raz pierwszy wydany w grudniu 1996 r., ACPI ma na celu zastąpienie Advanced Power Management (APM), specyfikacji MultiProcessor i specyfikacji Plug and Play BIOS (PnP). [1] ACPI przejmuje zarządzanie energią pod kontrolą systemu operacyjnego, w przeciwieństwie do poprzedniego systemu skoncentrowanego na BIOS-ie, który opierał się na oprogramowaniu układowym specyficznym dla platformy, aby określić zasady zarządzania energią i konfiguracji.
ACPI wewnętrznie reklamuje dostępne komponenty i ich funkcje w jądrze systemu operacyjnego za pomocą list instrukcji („metod”) dostarczanych przez oprogramowanie układowe systemu (Unified Extensible Firmware Interface (UEFI) lub BIOS), które jądro analizuje. ACPI wykonuje następnie pożądane operacje (takie jak inicjowanie komponentów sprzętowych) przy użyciu wbudowanej minimalnej maszyny wirtualnej.
Odpowiedź brzmi: obwód lub mikroukład jest wbudowany w płytę główną, która sama zawiera mikro system operacyjny, który udostępnia niektóre usługi za pośrednictwem oprogramowania układowego komputera - UEFI lub BIOS. Kontroluje wiele aspektów zarządzania energią i urządzeniami.
System operacyjny komputera ma sterownik systemowy dedykowany do interfejsu z ACPI. Po aktywacji ACPI przejmuje wyłączną kontrolę nad wszystkimi aspektami zarządzania energią i konfiguracji urządzenia.
W wielu aspektach ACPI jest systemem operacyjnym za twoim systemem operacyjnym, z tym wyjątkiem, że pochodzi z płyty głównej i nie jest pod twoją kontrolą. Pojawiły się głosy porównujące go do konia trojańskiego i nazywające go zagrożeniem bezpieczeństwa. Może być wyłączony, ale niektóre komputery mogą się bez niego uruchomić, a zaawansowane zarządzanie energią jest w każdym przypadku również wyłączone.
Aby uzyskać więcej informacji na temat jego zastosowania w systemie Windows, zobacz artykuł Projekt baterii i podsystemu zasilania .
Jako uzupełnienie drugiej odpowiedzi, w jaki sposób oprogramowanie działające na komputerze wie, jaki jest poziom naładowania baterii? Pyta o baterię.
Większość baterii laptopów to inteligentne baterie, które mają własny mikrokontroler lub układ ASIC „wskaźnika poziomu paliwa”, z którym host może komunikować się za pośrednictwem SMBus. Ludzie poddali inżynierii wstecznej kilka przykładów.
SMBus może, ale nie musi, być narażony bezpośrednio na system operacyjny w sposób, który pozwala administratorowi na bezpośrednie zapytanie. Istnieją różne programy, takie jak OpenHardwareMonitor lub Speccy lub czujniki lm, które mogą przesłuchiwać magistralę w celu uzyskania informacji o sprzęcie.
Mówiąc bardziej ogólnie, wszystkie układy komputerowe mają dokumentację, która mówi projektantom i programistom, co robią i jak je skonfigurować. Dostęp do tych układów na niskim poziomie można uzyskać poprzez odczyt i zapis bezpośrednio w rejestrach układu.
Bardziej skomplikowane układy scalone mogą być dostarczane z programem zwanym „sterownikiem”, który umożliwia dostęp na wysokim poziomie do systemu operacyjnego lub nawet innych aplikacji. Twój smartfon ma na przykład interfejs programowania aplikacji (API), który umożliwia dostęp do dużej części sprzętu, GPS, akcelerometru, baterii, aparatu itp. Podczas pisania „aplikacji” można uzyskać dostęp do tych urządzeń za pomocą interfejsu API tak jak system operacyjny (chociaż system operacyjny ma zwykle szerszy dostęp niż program działający w „przestrzeni użytkownika”).
Interfejsy te są bardzo dobrze zdefiniowane, więc kiedy wywołasz funkcję do układu sprzętowego, odpowie on żądanymi informacjami. Układ kontrolera baterii to tylko jeden przykład takiej ogólnej infrastruktury.
Ktokolwiek pisze kod systemu operacyjnego, otrzymuje dokumentację mikroukładu i pisze oprogramowanie do komunikowania się z mikroukładem i wyszukiwania potrzebnych informacji.
Więc następnym razem, gdy załadujesz „sterownik” (lub zostanie to zrobione automatycznie) dla zewnętrznego dysku twardego, napędu USB lub czegoś innego, zrozumiesz nieco więcej o tym, jak to się dzieje „pod maską”.