Energy Efficient OS fo Android Powered Smart DevicesPresentation Transcript
Android shipments reached 136 millionunits in Quarter 3, 2012, which accounts for75% of the 181.1 million shipments duringthe quarter. Most of the Android powered device got a3.5”-5” screen, 3G connectivity, Wi-fi, Bluetooth, 1GHz or higher processor, GPSand more, which powered by 1500 MAhbattery.
We want to increase the battery life of thesmart devices but not to loose theperformance. Android is based on Linux kernel, we havegot the opportunity to modify the kernel, sowe choose this platform.
Operating System› Linux Mint for Compiling Source Tools› Bash script› Google’s updater script› SQLite database engine
Kernel governor and I/O schedulerbenchmark. init.d tweak GPS.conf tweak Build.prof tweak Odex and Deodex Rom zRAM swap and zipalign. SQLite auto sync off.
Since Android/Linux is multitaskingcapable, CPU needs to share its cycles tomore than one running task. This is a job forCPU governor. Governors are especially important in smartphones and tablets because they have a largeimpact on the apparent fluidity of theinterface and the battery life of the deviceover one time charge.
Different governors have differentparameters. Ideally, a governor will have-› Sampling rate› Threshold Various tweak can be placed, and thegovernor gives different batteryperformance with due to various I/Oschedulers.
Kernel controls the disk access using I/Oscheduler. Purpose of I/O scheduler:› Minimize hard disk seek latency.› Prioritize I/O requests from processes.› Allocate disk bandwidth for running processes.› Guarantee that certain requests will be servedbefore a deadline.
Android boot-up process consists of thefollowing steps-› At first the bootloader runs.› Kernel boots and load various kernel objects(.kofiles) and prepare the hardware.› User space programs are invoked. This is thestage where the init.d script runs. Also variousapps and daemons are started to prepare theRom.
Most of the custom kernel supports init.dscript. init.d script are to be placed inside/system/etc/init.d directory (or/etc/init.d which is a symbolic link to/system/etc/init.d) Order of executing init.d scripts are in theincreasing order of ASCII values thatcorresponds to their names.
build.prop is a properties file of androidoperating system. Battery performance can be improved bychanging build.prop properties like-› Touch response› 3G speed up› Net speed tweak› GPU rendering› Wi-Fi signal tweak
GPS.conf twaek Advertisement block SQLite auto synchronization off Odex and Deodex Zipalign zRAM swap