UNIVERSITATEA POLITEHNICA DIN BUCUREȘTI FACULTATEA DE ELECTRONICĂ, TELECOMUNICAȚII ȘI TEHNOLOGIA INFORMAȚIEI Principiile funcționării sistemului de power management ACPI în sistemul de operare Linux Prof. Coordonator: Masterand: Dr. Ing. Ștefan STĂNCESCU Ing. Cotofana Valeriu Robert 08.02.2017 București, România
Cuprins Sistemul de power management Principiile funcționării sistemului de power management Caracteristicile interfeței ACPI în Linux Concluzii Bibliografie Q&A
Sisteme de power management O dată cu evoluția sistemelor de calcul s-a luat decizia de a se trece de la interfața APM care era parte din chipset-ul BIOS, la interfața ACPI care interacționează cu sistemul de operare și poate să descrie mult mai pe larg caracteristica de putere a unei componente hardware.
Sisteme de power management Interfața ACPI (Advanced Configuration Power Interface) permite sistemelor de operare să configureze eficient platforma hardware pe care S.O rulează si se ocupă de task-uri de management al energiei. Aceste task-uri erau îndeplinite de către BIOS, cu precădere in timpul utilizarii sistemelor de operare Windows 95/98 pentru că era singura componentă programată cu un firmware specific de management al puterii.
Sisteme de power management Acest lucru a permis producătorilor să elibereze update-uri ori de câte ori reușeau să îmbunătățească schema de consum de energie a componentei. Forțând sistemul de operare să se ocupe de gestiunea puterii într-un sistem de calcul s-au dezvoltat în prealabil schemele inteligente de consum redus de energie.
Principiile funcționării sistemului de power management ACPI (Advanced Configuration and Power Interface) pune sistemul de operare Linux în controlul configurației și al management-ului de energie al întregului sistem. Sistemul de operare, platforma hardware și BIOS-ul lucrează în comun dar evoluează separat, adică sunt 3 entități diferite.
Principiile funcționării sistemului de power management ACPI este un set de specificații utilizate în industrie care tratează eficient consumul de energie în calculatoare și device-uri mobile și specifică modul în care BIOS-ul, sistemul de operare și componentele periferice comunică între ele consumul de putere. ACPI este o componentă foarte importantă într-un sistem de calcul.
Principiile funcționării sistemului de power management Management de memorie, sincronizare, scheduling, I/O. OSL translateaza cererile S.O în apeluri native către interfața ACPI. Aspecte fundamentale ale specificațiilor ACPI. Include: interpretorul AML, management-ul ACPI, tabele ACPI, gestionarea evenimentelor.
Caracteristicile interfeței ACPI în Linux Proces care ruleaza in background Livreaza evenimentele ACPI (daemon) Se pot citi fișiere cu informații despre starea sistemului sau se pot schimba stările Ex:/proc/acpi/info /proc/acpi/sleep Tabel de descriptori ai sistemului RSDT, RSDP, DSDT, OSPM
Caracteristicile interfeței ACPI în Linux Tabelele ACPI sunt de tipuri diferite și au scopuri diferite: RSDT(Root System Description Table): tabel cu pointeri către alte tabele. Adresa RSDT este dată de RSDP (Root System Description Pointer) care se găsește în EBDA (Extended Bios Data Area) sau în spațiul de memorie BIOS. DSDT(Differentiated System Description Table): tabel cu descriptori de sistem. Adresa DSDT este dată de RSDT și conține metode de descriere a puterii pentru fiecare componentă. DSDT este scris într-un limbaj specific numit AML (ACPI Machine Language)
Caracteristicile interfeței ACPI în Linux
Caracteristicile interfeței ACPI în Linux Evenimente / întreruperi: Toate întreruperile ACPI sunt tratate în registrul SCI (System Control Interrupt). Handler-ul de întreruperi al kernel-ului demultiplexează evenimentele / întreruperile. În diverse situații handler-ul de evenimente poate să le trimită către o aplicație cum ar fi acpid prin /proc/acpi/events
Caracteristicile interfeței ACPI în Linux Exemplu: controlul temperaturii sistemului de calcul Încarcă modelul termic Dacă temp. depășește punctul critic se transmite un eveniment general GPE Evenimentul cauzează o întrerupere în registrul SCI Când S.O primește întreruperea handler-ul identifică metoda de control corespunzătoare evenimentului GPE După identificare handler-ul execută instrucțiuni AML
Concluzii Dezvoltarea interfeței ACPI a permis producătorilor să elibereze update-uri ori de câte ori reușeau să imbunătățească schema de consum de energie a componentei. Forțând sistemul de operare să se ocupe de gestiunea energiei într-un sistem de calcul s-au dezvoltat în prealabil schemele inteligente de consum redus de energie. S-a observat că nu există o protecție a tabelelor DSDT și nu există o politică de securitate bine stabilită. Nici unitatea de procesare centrală, nici chipset-ul BIOS nu sunt capabile să detecteze un posibil atac asupra tabelelor DSDT.
Bibliografie [1] A. Leonard Brown - The State of ACPI in the Linux Kernel - https://landley.net/kdocs/ols/2004/ols2004v1-pages-121-132.pdf accesat la data: 07.01.2017 [2] Bill Fletcher – SFO15-TR9: ACPI, PSCI and UEFI to boot - http://www.slideshare.net/linaroorg/sfo15tr9-psci-acpi-and-uefi-to-boot accesat la data: 20.12.2016 [3] Len Brown ,Anil Keshavamurthy, David Shaohua, Li Robert Moore, Venkatesh Pallipadi, Luming Yu – ACPI in Linux - https://www.kernel.org/doc/ols/2005/ols2005v1-pages-59-76.pdf accesat la data: 10.12.2016 [4] Thomas Renninger - ACPI BIOS Guideline for Linux - https://lwn.net/Articles/291498/ accesat la data: 13.12.2016 [5] Lo¨ıc Duflot, Olivier Levillain, and Benjamin Morin - ACPI: Design Principles and Concerns https://www.ssi.gouv.fr/uploads/IMG/pdf/article_acpi.pdf accesat la data: 09.12.2016 Fig. 1 : http://www.slideshare.net/jserv/power-management-from-linux-kernel-to-android Fig. 2 : http://www.cnx-software.com/2015/04/28/intel-atom-z3735f-mini-pc-power-consumption-in-android/ Fig. 3 : https://www.kernel.org/doc/ols/2005/ols2005v1-pages-59-76.pdf Fig. 4 : https://landley.net/kdocs/ols/2004/ols2004v1-pages-121-132.pdf Fig. 5 : http://images.cio.de/images/computerwoche/bdb/342027/840x473.jpg Fig. 6 : https://acpica.org/sites/acpica/files/ACPI-Introduction.pdf
Q&A