Udostępnij przez


Acpi.sys (sterownik WINDOWS ACPI)

Sterownik Windows Advanced Configuration and Power Interface (ACPI), Acpi.sys, jest składnikiem skrzynki odbiorczej systemu operacyjnego Windows. Obowiązki Acpi.sys obejmują obsługę zarządzania energią i wyliczania urządzeń Plug and Play (PnP). Na platformach sprzętowych z systemem BIOS ACPIHAL powoduje załadowanie Acpi.sys podczas uruchamiania systemu u podstawy drzewa urządzeń. Acpi.sys działa jako interfejs między systemem operacyjnym a systemem BIOS ACPI. Acpi.sys jest przezroczysta dla innych sterowników w drzewie urządzeń.

Inne zadania wykonywane przez Acpi.sys na określonej platformie sprzętowej mogą obejmować przeprogramowanie zasobów dla portu COM lub włączenie kontrolera USB na potrzeby wznawiania systemu.

Urządzenia ACPI

Dostawca platformy sprzętowej określa hierarchię przestrzeni nazw ACPI w systemie BIOS ACPI w celu opisania topologii sprzętowej platformy. Aby uzyskać więcej informacji, zobacz hierarchia przestrzeni nazw ACPI.

Dla każdego urządzenia opisanego w hierarchii przestrzeni nazw ACPI, sterownik ACPI systemu Windows Acpi.sys, tworzy albo obiekt filtrujący urządzenia (filtr DO), albo obiekt urządzenia fizycznego (PDO). Jeśli urządzenie jest zintegrowane z tablicą systemową, Acpi.sys tworzy obiekt urządzenia filtru, reprezentujący filtr magistrali ACPI i dołącza go do stosu urządzenia bezpośrednio nad sterownikiem magistrali (PDO). W przypadku innych urządzeń opisanych w przestrzeni nazw ACPI, ale nie na płycie głównej, Acpi.sys tworzy PDO. Acpi.sys zapewnia funkcje zarządzania energią i PnP dla stosu urządzeń przy użyciu tych obiektów urządzeń. Aby uzyskać więcej informacji, zobacz Device stacks for an ACPI device (Stosy urządzeń dla urządzenia ACPI).

Urządzenie, dla którego Acpi.sys tworzy obiekt urządzenia, jest nazywane urządzeniem ACPI. Zestaw urządzeń ACPI różni się od jednej platformy sprzętowej do następnej i zależy od SYSTEMU BIOS ACPI i konfiguracji płyty głównej. Acpi.sys ładuje filtr magistrali ACPI tylko dla urządzenia opisanego w przestrzeni nazw ACPI i które jest trwale połączone z platformą sprzętową (zazwyczaj to urządzenie jest zintegrowane z rdzeniem krzemu lub lutowane do płyty głównej). Nie wszystkie urządzenia płyty głównej mają filtr magistrali ACPI.

Wszystkie funkcje ACPI są przejrzyste dla sterowników wyższego poziomu. Sterowniki te nie muszą zakładać obecności ani braku filtru ACPI w danym stosie urządzenia.

Acpi.sys i BIOS ACPI obsługują podstawowe funkcje urządzenia ACPI. Aby zwiększyć funkcjonalność urządzenia ACPI, dostawca urządzenia może dostarczyć sterownik funkcji WDM. Aby uzyskać więcej informacji, zobacz Operacje sterownika funkcji urządzenia ACPI.

Urządzenie ACPI jest określane przez blok definicji w tabelach opisu systemu w systemie ACPI BIOS. Blok definicji urządzenia określa między innymi region operacji, który jest ciągły blok pamięci urządzenia używany do uzyskiwania dostępu do danych urządzenia. Tylko Acpi.sys modyfikuje dane w regionie operacji. Sterownik funkcji urządzenia może odczytywać dane w regionie operacji, ale nie może modyfikować danych. Po wywołaniu program obsługi regionu operacji przesyła bajty w regionie operacji do i z buforu danych w Acpi.sys. Połączona operacja sterownika funkcji i Acpi.sys jest specyficzna dla urządzenia i jest definiowana w systemie BIOS ACPI przez dostawcę sprzętu. Ogólnie rzecz biorąc, sterownik funkcji i Acpi.sys uzyskują dostęp do określonych obszarów w regionie operacji w celu wykonywania operacji specyficznych dla urządzenia i pobierania informacji. Aby uzyskać więcej informacji, zobacz Obsługa regionu operacji.

Metody sterowania ACPI

Metody sterowania ACPI to obiekty oprogramowania, które deklarują i definiują proste operacje do wykonywania zapytań i konfigurowania urządzeń ACPI. Metody sterujące są przechowywane w systemie BIOS ACPI i są kodowane w formacie kodu bajtowego o nazwie ACPI machine language (AML). Metody sterowania urządzenia są ładowane z oprogramowania układowego systemu do przestrzeni nazw ACPI urządzenia w pamięci i interpretowane przez sterownik ACPI systemu Windows, Acpi.sys.

Aby wywołać metodę sterowania, sterownik trybu jądra dla urządzenia ACPI inicjuje żądanie IRP_MJ_DEVICE_CONTROL , które jest obsługiwane przez Acpi.sys. W przypadku sterowników załadowanych na wyliczonych urządzeniach ACPI Acpi.sys zawsze implementuje obiekt urządzenia fizycznego (PDO) w stosie sterowników. Aby uzyskać więcej informacji, zobacz Ocena metod kontroli ACPI.

Specyfikacja ACPI

Zaawansowana konfiguracja i specyfikacja interfejsu zasilania (specyfikacja ACPI 6.4) jest dostępna w witrynie ujednoliconego forum ujednoliconego interfejsu oprogramowania układowego.

Poprawka 5.0 specyfikacji ACPI wprowadza zestaw funkcji do obsługi komputerów przenośnych o niskiej mocy, które są oparte na układach układowych (SoC) i które implementują połączony model zasilania rezerwowego . Począwszy od systemu Windows 8, sterownik Windows ACPI, Acpi.sys, obsługuje nowe funkcje w specyfikacji ACPI 5.0. Aby uzyskać więcej informacji, zobacz Przewodnik projektowania interfejsu ACPI systemu Windows dla platform SoC.

Debugowanie ACPI

Integratorzy systemów i deweloperzy sterowników urządzeń ACPI mogą debugować kod AML za pomocą debugera amLI firmy Microsoft. Ponieważ język AML jest językiem interpretowanym, debugowanie AML wymaga specjalnych narzędzi programowych.

Aby uzyskać więcej informacji na temat debugera AMLI, zobacz debugowanie ACPI.

Kompilator języka źródłowego MICROSOFT ACPI (ASL)

Aby uzyskać informacje na temat kompilowania języka źródłowego ACPI (ASL) do języka maszynowego ACPI (AML), zobacz Kompilator ASL firmy Microsoft.

Wersja 5.0 kompilatora microsoft ASL obsługuje funkcje specyfikacji ACPI 5.0.

Kompilator ASL jest dystrybuowany za pomocą zestawu sterowników systemu Windows (WDK).

Kompilator ASL (asl.exe) znajduje się w Tools\<build>\<architecture>\ACPIVerify folderze zainstalowanego zestawu WDK, na przykład C:\Program Files (x86)\Windows Kits\10\Tools\10.0.22631.0\x64.