Universitatea Politehnica din București Facultatea de Electronică, Telecomunicații și Tehnologia Informației Metode de extindere a duratei de viaţă a

Documente similare
Caraivan George-Alexandru Grupa 431A Interfața driver-kernel la Linux Introducere Deși pentru unii dintre noi acest lucru poate fi o supriză, cei mai

Laborator 9: Fire de execuţie Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 20 noiembrie 2011


Proiect didactic

Slide 1

Înregistrator de temperatură şi umiditate AX-DT100 Instrucţiuni de utilizare

Concepte de bază ale Tehnologiei Informației

客厅电脑 酷影Q1000

2 BAZE TEORETICE ALE REȚELELOR DE CALCULATOARE CAPITOLUL 2 BAZE TEORETICE ALE REŢELELOR DE CALCULATOARE 2.1. Necesitatea standardizării (referenţierii

FIŞA DISCIPLINEI ARHITECTURA SISTEMELOR DE CALCUL 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea POLITEHNICA din Bucureşti

Proiectarea Sistemelor Software Complexe

Gestionarea I/E

客厅电脑 酷影Q1000

Inspiron Specificaţii

INFORMATICĂ ŞI MARKETING

..MINISTERUL EDUCAŢIEI NAȚIONALE ŞI CERCETARII STIINTIFICE UNIVERSITATEA DE VEST DIN TIMIȘOARA.I CENTRUL DE DEZVOLTARE ACADEMICĂ. FIŞA DISCIPLINEI (CO

Ch

Microsoft Word - Politică de cookie-uri OK_v1.docx

Microsoft Word - Plus TV Analog Pro Stick Installation _Rom V1.3_.doc

în Tabletă convertibilă GHID DE UTILIZARE 8085 LKB001X CJB1FH002AZA

BDV-EF1100

Ghidul pentru utilizator

Ghid de Referință Explicații sumare ale operațiunilor de rutină HL-L2312D HL-L2357DW HL-L2352DW HL-L2372DN HL-L2375DW Brother recomandă să păstrați ac

Lucrarea 10

Laborator 4: Continuare Programare Orientată pe Obiecte Întocmit de: Adina Neculai Îndrumător: Asist. Drd. Gabriel Danciu 29 octombrie 2011

Ghidul pentru utilizatorul computerului Compaq Mini

10mm 50mm 10mm 10mm 10mm

Discipline aferente competenţelor Facultate: Facultatea de Electronică şi Telecomunicaţii Universitate: UNIVERSITATEA POLITEHNICA DIN TIMIȘOARA Domeni

D6300 WiFi ADSL Modem Router Installation Guide Cover

CD180 Romanian quick start guide

Interfețe și Protocoale de Comunicații Arduino-Port Paralel Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de

1

PowerPoint Presentation

Nr.înregistrare: 88 / Social Media in the Classroom Prof.Cucuianu Marița Colegiul Național,,Neagoe Basarab"Oltenița,jud.Călărași 2.Quizizz E

DCS-2330L_A1_QIG_v1.00(EU).indd

Ghid SmartTV-ro-M

S.C. SEEKTRON S.R.L. Fişă de prezentare a produsului EYECAR B1 EYECAR B1 Observer Black Box Dispozitiv inteligent pentru înregistrarea evenimentelor r

Microsoft Word - cap2.2.UNIX-NOS.doc

Laborator 3

REVISAL Versiunea: Data release: 15 martie 2016 IMPORTANT! Distribuţia curentă (v6.0.4) a aplicaţiei Revisal conţine nomenclatorul COR ISCO 08 î

XL30 Romanian quick start guide

Microsoft Word - Caiet sarcini statii de lucru - nov 2015.doc

MANUAL DE UTILIZARE TERMOSTAT DE CAMERĂ EBERLE INSTAT PLUS 3R Cod produs: I. Instrucţiuni de utilizare Manevrarea produsului (privire de ansamb

PROGRAMA DE EXAMEN

Carduri media externe Ghidul pentru utilizator

FIŞA UNITĂŢII DE CURS/MODULULUI MD-2004, CHIŞINĂU, BD. ȘTEFAN CEL MARE, 168, TEL: , TEHNOLOGII INFORMAŢIONALE APLICATE 1. Date

Fişa de date Imprimantă HP Sprocket 200 Imprimi imediat fotografii de 5 x 7,6 cm (2 x 3 inchi) de la smartphone. Haide să imprimăm această petrecere.

Microsoft Word - lab-fr_3

..MINISTERUL EDUCAŢIEI NAȚIONALE ŞI CERCETARII STIINTIFICE UNIVERSITATEA DE VEST DIN TIMIȘOARA.I CENTRUL DE DEZVOLTARE ACADEMICĂ. FIȘA DISCIPLINEI 1.

PowerPoint Presentation

PowerPoint Presentation

Modulul 1 M1-2.3 Protocoale şi servicii în reţea În acest capitol ne propunem să abordăm următoarele: Protocoalele şi aplicaţiile folosite în reţelele

Ghid utilizare aplicație PARKING BUCUREȘTI Aplicație PARKING BUCUREȘTI 1

BlackBerry Bold 9790 Smartphone Ghidul utilizatorului

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 3. Achizitionarea domeniilor web si a

FD Informatica


MANUAL DE UTILIZARE

VI. Achiziția datelor în LabVIEW

Ghid de referinţă rapidă pentru Seria ZT400™

Laborator Activities În sistemul Android activitățile reprezintă echivalentul ferestrelor din Windows, fiind clase care extind clasa Activity. Spre de

Inspiron Specificaţii (Battery)

Microsoft Word - Ansamblul software CRONIS

Prezentarea PC-ului portabil Ghidul pentru utilizator

A TANTÁRGY ADATLAPJA

Brosura A4 Lydos+Pro1 -pagini f.cdr

Paradigme de Programare

Microsoft Word draft modificare decizie 1023 apeluri abuzive final _4_.doc

MIdland CT210 manual

Microsoft Word - Sectiunea II - CAIET DE SARCINI.doc

Cursant prof. Constantin Vasilache PROIECT DE LECȚIE Clasa Data: Obiectul: Tehnologia Informației și a Comunicațiilor Nr. de ore: 1oră Tema lecţiei: A

Zeus-Zlite-Panda_RO.book

Student: Mădălina-Maria Mitricioaei Titlul proiectului: IOT Sensor Hub Rezumat

PowerPoint Presentation

PowerPoint Presentation

Constanta, Bd. Mamaia nr. 85;tel NOTĂ DE INFORMARE CU PRIVIRE LA PRELUCRAREA DATELOR CU CARACTER PERSONAL Conform R

Microsoft Word - 5_ _Eval_ ETC_master_ESI_AnI-II_completat.doc

Ghid de depanare Modelele dc5700 PC uri de birou HP Compaq

Chertif Ionuț - Andrei Prietenul meu, calculatorul CLASA a V - a, 1 ora pe săptămână ARGUMENT Transformările societăţii româneşti din ultimii ani, dez

Microsoft Word - CV Opriţoiu Flavius.doc

Pornire rapidă Powerline 1200 Model PL1200

MINISTERUL EDUCAŢIEI AL REPUBLICII MOLDOVA COORDONAT: _ J _ 2016 Nr. de înregistrare a olanului de UNIVERSITATEA DE STAT DIN MOLDOVA APROBAT: SENATUL

Microsoft Word - intro_msp430.doc

CABINET MINISTRU

Sisteme cu FPGA şi Soft Processors

Microsoft Word - RECEPTOR CD 202E

5_2012_2013_AC_PI_C_Anii_III-IV.xls

Ghid Web connect DCP-J4120DW MFC-J4420DW MFC-J4620DW MFC-J5320DW MFC-J5620DW MFC-J5720DW

Cuprins

COLEGIUL TEHNIC „VICTOR UNGUREANU” CAMPIA TURZII

User Guide

Regulile jocului Hotline Hotline este un slot video cu 5 role, 3 rânduri și 30 de linii (fixe) care conține simboluri Wild și Expanding Wild, Re-Spins

Prezentul Raport ilustrează statistici comparative privind calitatea serviciilor de acces la internet, pentru anul 2014, din perspectiva parametrilor

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 1. Google Drive, Google Calendar, WeTr

Lenovo VIBE C Ghid de utilizare V1.0 Lenovo A2020a40

FIŞA DISCIPLINEI

Microsoft Word - 2 ES RO.doc

AUTORITATEA NAȚIONALĂ DE REGLEMENTARE ÎN DOMENIUL ENERGIEI Nota de prezentare a Proiectului de Normă Tehnică privind Cerinţele tehnice de racordare la

Ghid de utilizare pentru Platforma E-Admitere intranet.inj.md

book

Transcriere:

Universitatea Politehnica din București Facultatea de Electronică, Telecomunicații și Tehnologia Informației Metode de extindere a duratei de viaţă a bateriei dispozitivelor mobile bazate pe platforma Android Profesor Coordonator: Dr. Ing. Ştefan STĂNCESCU Masterand: Marian-Alexandru TUDORAN Master: I.I.S.C București 2017

Cuprins 1. INTRODUCERE... 3 2. GESTIONAREA CONSUMULUI DE PUTERE ÎN SISTEMUL DE OPERARE LINUX... 5 2.1 GESTIONAREA AVANSATĂ A PUTERII (Advanced Power Management)... 5 2.2 CONFIGURAREA AVANSATĂ ŞI INTERFAŢA DE PUTERE (Advanced Configuration and Power Interface)... 5 2.3 SISTEME DE GESTIONARE A PUTERII... 6 2.4 STĂRI DE PUTERE ALE SISTEMULUI... 6 2.4.1 Starea de aşteptare (Standby)... 6 2.4.2 Starea de supendare (Suspend)... 6 2.4.3 Starea de hibernare (Hibernate)... 6 3. GESTIONAREA PUTERII LA ANDROID... 7 4. ARHITECTURA GESTIONĂRII CONSUMULUI LA ANDROID... 8 5. MECANISMUL WAKELOCK... 9 6. CONCLUZII... 11 2

1. INTRODUCERE În zilele de astăzi tehnologia telefoanelor mobile este în continua dezvoltare, aceasta aducând efecte pozitive în viaţa fiecărui om. Pentru a face faţă cererilor în creştere pentru astfel de dispozitive mobile, au apărut pe piaţă diverse sisteme de operare. Însă, nu toţi utilizatorii îşi pot da seama cu uşurinţă care sistem de operare este mai potrivit pentru nevoile lor. Reţelele de telefonie mobilă consumă o cantitate mare de date, în scopul de a îmbunătăţi comunicaţiile şi de a comprima acoperirea datelor. Dispozitivele mobile au un impact continuu asupra fiinţei umane, aceasta din urmă beneficiind de evoluţia rapidă a tehnologiei. În trecut, dacă se dorea trimiterea unui document important, acesta trebuia livrat fizic, însă în prezent datorită tehnologiei avansate, oamenii pot trimite documente în format electronic cu ajutorul telefoanelor mobile. Telefoanele mobile au un impact major şi în alte domenii, cum ar fi cele business. Cele mai avansate dispozitive mobile pot capta fotografii care sunt comparabile cu camerele foto, din punct de vedere al rezoluţiei. Dispozitivele mobile devin semnificative pentru marketing şi publicitate, furnizorul de servicii având o concurenţă foarte mare din punct de vedere al costurilor aplicate pentru comunicare. Totuşi, în general numărul de telefoane mobile sau de smartphone-uri este în continuă creştere, ceea ce duce la nevoia de a înlocui telefoanele publice şi telefoanele fixe din fiecare locuinţă. Gestionarea consumului dispozitivelor Android a devenit o problemă destul de importantă. Smartphone-urile şi tabletele au un consum de energie ridicat datorită componentelor hardware, iar dezvoltatorii de aplicaţii exploatează aceste componente pentru a îmbunătăţi experienţa de utilizare. Se remarcă faptul că durata de viaţă a bateriei nu se extinde, pe măsură ce cererea de energie creşte. Astfel, s-au efectuat foarte multe cercetări pentru a investiga modul în care se poate realiza reducerea consumului de energie la minimum. Gestionarea consumului de energie (PM) al calculatoarelor a evoluat încă de la introducerea conceptelor de management al puterii Advanced Power Management (APM) şi Advanced Configuration & Power Interface (ACPI). Aceste două concepte sunt folosite în general pentru calculatoare personale. Deşi sistemul de operare Android se bazează pe kernelul Linux, acesta şi-a dezvoltat propriul sistem de management al puterii. În urma unui studiu, s-a constatat faptul că 400,000 de dispozitive Android sunt activate în fiecare zi, iar gestionarea consumului reprezintă o problema majoră. Pentru un calculator de uz personal, gestionarea consumului de energie (PM) ajută la reducerea puterii consumate dar şi a cerinţelor impuse în ceea ce priveşte răcirea. Atunci când se consumă puţină putere, adică disiparea căldurii este destul de mică, stabilitatea sistemului 3

este destul de ridicată, acest lucru fiind extrem de important atunci când vine vorba de telefoane mobile. Economisirea bateriei pentru telefoanele mobile a devenit un subiect de cercetare destul de interesant în ultimii ani. În zilele de astăzi, dezvoltatorii de sisteme se confruntă cu probleme fundamentale, cum ar fi salvarea resurselor sistemului pe cât de mult posibil. Apariţia smartphone-urilor pe piaţă a facut posibilă includerea unor noi facilităţi pentru utilizatori, cum ar fi: navigarea pe internet, înregistrarea clipurilor video sau programarea întâlnirilor, facilităţi care erau disponibile doar pe calculatoarele personale. Sistemul de operare Android este derivat din sistemul de operare Linux. Principala diferenţă este reprezentată de faptul că telefoanele mobile au puterea limitată, spre deosebire de computere. Platforma Android utilizează sisteme de blocare (wakelocks) pentru a limita puterea dinamic în timp ce sistemul rulează. Această caracteristică este utilă pentru dispozitivele nefolosite şi poate oferi o economisire semnificativă a puterii pe un sistem. 4

2. GESTIONAREA CONSUMULUI DE PUTERE ÎN SISTEMUL DE OPERARE LINUX Gestionarea consumului de putere în sistemele de operare este o operaţie destul de importantă datorită cererilor în creştere existente pe piaţă. Pentru a reduce pierderile de putere, Linux pune la dispoziţie mai multe opţiuni hardware de gestionare a puterii, cum ar fi utilizarea circuitelor de tact (clock gating), scalarea de tensiune, activarea modulelor de sleep şi dezactivarea memoriei cache. Fiecare dintre aceste caracteristici au rolul de a reduce consumul de energie al sistemului în detrimentul latenţei şi/sau al performanţei. [1] 2.1 GESTIONAREA AVANSATĂ A PUTERII (Advanced Power Management) APM constă dintr-unul sau mai multe nivele de software care suportă gestionarea puterii calculatoarelor. Gestionarea avansată a puterii defineşte interfaţa independentă software-hardware între software-ul care realizează managementul puterii şi driverul sistemului de operare. Acesta ascunde detaliile hardware, permiţând prin intermediul software-urilor de nivel înalt să utilizeze APM fără a fi nevoie de cunoştinţe despre interfaţa hardware. Specificaţiile software-ului de gestionare a puterii defineşte un mediu caracterizat pe diferite nivele, în sensul că aplicaţiile, sistemele de operare, driverele dispozitivelor şi BIOS-ul APM pot lucra împreuna pentru a reduce consumul de putere. În concluzie, APM poate extinde durata de viaţă a bateriilor de sitem şi prin urmare va creşte productivitatea şi disponibilitatea sistemului. [2] 2.2 CONFIGURAREA AVANSATĂ ŞI INTERFAŢA DE PUTERE (Advanced Configuration and Power Interface) Prin intermediul ACPI se permite controlul gestionării puterii din cadrul sistemului de operare spre deosebire de APM unde gestionarea puterii este făcută la nivel de BIOS. Cu ajutorul ACPI utilizatorul poate specifica la ce moment de timp un dispozitiv (de exemplu, un monitor) se va opri din funcţionare. Dacă utilizatorul alege să specifice că doreşte un consum de putere redus atunci când bateria este scăzută, unele aplicaţii care nu sunt destul de importante vor deveni inactive. Sistemul de operare poate reduce nevoile plăci de bază şi a dispozitivelor periferice până în momentul în care acestea sunt necesare în mod deosebit. Cu ajutorul ACPI, computerul se poate opri din funcţionare şi poate intra într-o stare inactivă, totuşi fiind capabil să răspundă la un apel telefonic. În concluzie, ACPI oferă atât utilizatorului cât şi sistemului de operare posibilitatea de a adapta sistemul nevoilor personale din punct de vedere al consumului de putere. 5

2.3 SISTEME DE GESTIONARE A PUTERII În orice sistem de operare gestionarea puterii este considerată o necesitate datorită cererii foarte mari din punct de vedere al consumului. Linux are şi o altă funcţionalitate numită Sistemul de Gestionare al Puterii, prin care se realizează aducerea sistemului întro stare în care consumul este redus. În această stare, sistemul consumă energie minimă prin care se asigură un răspuns mai lent totuşi la cererile utilizatorului. Cantitatea de energie şi timpul de răspuns depind de starea în care se află sistemul. [3] 2.4 STĂRI DE PUTERE ALE SISTEMULUI Stările în care poate intra un sistem bazat pe Linux sunt dependente de paltforma de bază, şi diferă în funcţie de arhitectură şi generaţie. În general, există trei stări care se regăsesc pe majoritatea arhitecturilor şi suportă o sisteme de gestionare a puterii. Nucleul (kernelul) suportă explicit trei stări: Aşteptare (Standby), Suspendare (Suspend) şi Hibernare (Hibernate) şi oferă un mecanism de definire a unor stări noi (un port arhitectural al kernel-ului). 2.4.1 Starea de aşteptare (Standby) Starea de aşteptare foloseşte energie redusă, sistemul conservă energia prin punere procesorului într-o stare de oprire. Gestionarea puterii nu este relevantă însă răspunsul este în general mai mic de o secundă. 2.4.2 Starea de supendare (Suspend) Suspendarea este o stare numită suspendare la RAM. În această stare, toate dispozitivele sunt puse într-o stare inactivă excepţie făcând memoria principală. Memoria este pusă într-un mod de reîmprospătare propriu, prin acest lucru asigurându-se faptul că ceea ce conţine nu se va pierde. Latenţa de răspuns este mai mare faţă de modul Standby, însă timpul este destul de mic, 3-5 secunde. 2.4.3 Starea de hibernare (Hibernate) Hibernarea conservă majoritatea energiei prin oprirea întregului sistem, după salvarea stării sistemului, toate dispozitivele fiind oprite necondiţionat. Hibernarea este singura stare care poate fi folosită în absenţa oricărei platforme suport pentru gestionarea consumului. Driverul de gestionare al puterii opreşte sistemul în loc să intre într-o stare de joasă putere. Acest mecanism oferă o economisire satisfăcătoare a energiei şi poate fi folosit atunci când există părţi hardware defecte ale gestionării puterii. 6

3. GESTIONAREA PUTERII LA ANDROID Gestionarea consumului de putere la Android este dezvoltat pe baza standardului de gestionare prezent la Linux. Dispozitivele bazate pe sistemul de operare Android oferă propriul sistemul de gestionare al puterii, sistem care a fost dezvoltat pe premiza că un procesor nu ar trebui să consume energie dacă nici o aplicaţie sau serviciu necesită acest lucru. Android impune ca cererile de aplicaţii şi servicii asupra procesorului să fie făcute prin aplicaţii framework şi librării native Linux. Dacă nu sunt cereri, Android va opri procesorul. Design-ul nucleului (kernel-ului) Android se bazează pe Linux, însă nu utilizează un nucleu standard Linux. Un telefon mobil stă destul de mult timp într-o stare atunci când nu este folosit. Acest lucru sugerează faptul că procesorul de aplicaţii este inactiv, în timp ce procesorul de comunicaţii efectuează o activitate de nivel redus, fiind nevoit să rămână conectat la reţea pentru a fi capabil să primească apeluri, mesaje şi altele. Timpul petrecut în această stare este critic atunci când vine vorba de durata de viaţă a bateriei. Procesorul salvează stările sistemului în memoria RAM iar dispozitivul este pus în modul Sleep. Datorită faptului că procesorul este utilizat la capacitate maximă, Android nu suportă nici o stare de aşteptare (Standby). Aplicaţiile din spaţiul utilizatorului pot folosi clasa PowerManager pentru a controla stările de putere ale dispozitivului. În mod normal gestionarea puterii este suportată de către drivere fără intervenţii din parte utilizatorului sau nucleului. 7

4. ARHITECTURA GESTIONĂRII CONSUMULUI LA ANDROID Aplicaţiile Android sunt obligate să solicite resursele procesorului prin intermediul aplicaţiei framework şi prin librăriile native Linux. Arhitectura pe care se bazează gestionarea consumului este prezentată în figura de mai jos. Se remarcă faptul că dacă nu există o cerere, procesorul este inactiv. Un sistem de blocare ajuta sistemul prin prevenirea intrării acestuia în suspendare sau alte stări de putere joasă. [4] Există două setări pentru wake lock : - WAKE_LOCK_SUSPEND previne suspendarea întregului sistem - WAKE_LOCK_IDLE este o stare de joasă putere, care cauzează destul de des latenţe de întreruperi sau dezactivează un set de întreruperi Figură 1 Arhitectura gestionării puterii În figura de mai sus, când Aplicaţia A este executată, aceasta are nevoie de resursele procesorului. Prin urmare, aceasta trimite o cerere API-ului de gestionare al puterii (Power Management API) care îi transferă cererea (folosind interfaţa nativă Java) driverului de putere prezent în nucleul Linux. Prin managerul de putere (Power Manager) se trimite un răspuns Aplicaţiei A şi este creat wake lock-ul. În tabelul de mai jos sunt prezentate diferite stări, cea mai des utilizată fiind cea parţială (PARTIAL_WAKE_LOCK). 8

Wake lock CPU Screen Keyboard PARTIAL_WAKE_LOCK On Off Off SCREEN_DIM_WAKE_LOCK On Dim Off SCREEN_BRIGHT_WAKE_LOCK On Bright Off FULL_WAKE_LOCK On Bright Bright 5. MECANISMUL WAKELOCK Tabel 1 Diferite setări WAKE LOCK Atunci când vine vorba de Android, Wakelock este un mecanism care previne sistemul sa intre într-o stare de joasă putere. [5] Pe scurt, codul kernel poate seta un wakelock cu comenzi de genul: #include <linux/wakelock.h> wake_lock_init (struct wakelock *lock, int type, const char *name); Valoarea type va indica ce tip de wakelock se va folosi. Constanta name conţine un nume care poate fi vizualizat în /proc/wakelocks. Există două stări posibile: WAKE_LOCK_SUSPEND care previne sistemul să fie suspendat, în timp ce WAKE_LOCK_IDLE previne intrarea sistemului într-o stare inactive de joasă putere care ar putea mări timpii de răspuns. Interfaţa de programare a aplicaţiei (API) pentru obţinerea şi eliberarea acestor blocări este cea de mai jos: void wake_lock (struct wake_lock *lock); void wake_lock_timeout (struct wake_lock *lock, long timeout); void wake_unlock (struct wake_lock *lock); Există, de asemenea, şi o interfaţă utilizator-spaţiu. Alegând şi scriind un nume în /sys/power/wake_lock se stabileşte o blocare cu acel nume, care apoi poate fi scris în /sys/power/wake_unlock pentru a opri blocarea. 9

Atunci când un sistem de blocare de tipul Inactiv este în curs, sistemul nu va intra întro stare de joasă putere (idle), iar acest lucru ar trebui să facă dispozitivul să fie mai receptiv. Din acest motiv, nu trebuie să iasă din stare idle pentru a răspunde la întreruperi sau evenimente. Atunci când un este activ un sistem de blocare de tipul SUSPEND, sistemul nu va suspenda. Pentru a managementul puterii, Android oferă un serviciu pentru aplicaţiile din spaţiul utilizatorului cu ajutorul clasei PowerManager, prin care se realizează salvarea puterii şi implicit extinderea duratei de viaţă a bateriei. Paşii care se parcurg sunt următorii: - se obţine acces la PowerManager printr-o cerere realizată în urma apelării funcţiei Context.getSystemService() - se creează o blocare şi vor fi activate steagurile de management al puterii pentru ecran, pauză, etc. - se obţine acces pentru blocare - se realizeză operaţiile dorite de utilizator - sistemul iese din starea de blocare Cererile de blocare sunt realizate în layer-ul Java. Atunci când o aplicaţie android obţine acces la cerere, se înregistrează o nouă instanţă în Serviciul de Manager al Puterii (PowerManagerService), serviciu care rulează în layer-ul Java. Cererile înregistrate sunt puse într-o listă şi pot fi gestionate ulterior. Atunci când este folosită clasa PowerManager pentru a controla starea dispozitivelor, durata de viaţă a bateriei va fi afectată semnificativ. Se va crea un obiect în clasa PowerManager şi se vor putea folosi diverse metode pentru a controla starea dispozitivului din punct de vedere al consumului de putere. De exemplu: PowerManager pm = (PowerManager) getsystemservice (Context.POWER_SERVICE) PowerManager.WakeLock wl = pm.newwakelock(powermanager.screen_dim_wake_lock, My Tag ); wl.acquire(); wl.release();..ecranul va rămâne aprins în această secţiune.. 10

6. CONCLUZII În această lucrare s-au analizat principalele diferenţe dintre gestionarea puterii la dispozitivele bazate pe Android şi tehnicile prezente în sistemul de operare Linux. S-a examinat arhitectura Android pentru a se înţelege mai bine operaţia de gestionare a puterii, dar şi mecanismul wakelock. S-a observat faptul că la Android îi este permis nucleului să evite interacţiuni între procesele de suspendare şi evenimentele de activare. Mecanismul wakelock previne nucleul din procesul de suspendare al sistemului sau încearcă să oprească suspendarea în curs de desfăşurare. De asemenea, acestea îi oferă un standard direct nucleului prin care se ia decizia oportunistă de suspendare a sistemului. Fiecare obiect wakelock conţine câmpuri în care este stocată informaţia statistică, cum ar fi numărul activărilor wakelock, timpul total de activare sau timpul maxim cât mecanismul a fost activ continuu, oricând a fost activat sau dezactivat. Metoda de gestionare a puterii la Android s-a dovedit a fi ineficientă atunci când vine vorba de suspendarea sistemului deoarece porneşte acest proces din spaţiul nucleului, practic preia controlul unei interfeţe care a fost atribuită pentru procesele din spaţiul utilizatorilor, fiind nevoie să interacţioneze cu nucleul într-un mod neobişnuit. 11

Bibliografie 1. H. Hartig, M. Hohmuth, and P. A. Barns. System integration for the android operating system. Proceedings of CollaborationCom., pp. 73 88 (2010) 2. M. Stemm and Y. H. Katz. Measuring and reducing energy consumption of network interfaces in hand-held devices. 13th ACM Symposium Operating Systems principles, pp. 102 107 (1997) 3. S. Salas and E. Hille, Introduction to Android Internals, John Wiley and Sons, New York (2007) 4. http://www.cs.uwc.ac.za/~mmotlhabi/apm2.pdf 5. https://developer.android.com/reference/android/os/powermanager.html 12