2.4 Energy Efficient Mobile Platforms
2.4.4 Power Management at Operating System Level
With the increasing demand on low energy consumption for mobile devices and not only, Operating Systems (OS) have included power saving features as built-in compo- nents during the system design process. A power manager should be provided by the OS as a mediator between hardware and applications for the purpose of prolonging battery life or reducing the overall system energy footprint.
Microsoft’s Windows operating systems have built-in power management features such as system stand by and system component deactivation on idle even from early versions. However, the latest OS from Microsoft, Windows 7 and Windows 8, embed some advanced energy efficiency features.
Windows 7 improves idle efficiency by reducing or even eliminating system back- ground activity. Where periodic activity cannot be avoided due for example to I/O polling requirements Windows 7 implements a timer coalescing feature. This feature allows the OS to synchronize various background activities and to execute them at the same time. This technique keeps the processor idle for longer periods of time. More- over, Windows 7 defers non-critical background activity when the system is running on battery and also allows services to be started only when specific events occur as
opposed to being stated when the system starts.
Latest processor power management (PPM) technologies are also supported by Windows 7 via device driver support. The PPM technologies allow the OS to choose the right processor performance state (power consumption modes) according to the load, and then scale the performance of the system as necessary.
Windows 7 also enables low power modes of various devices such as Adaptive Display Brightness, Smart Network Power, Bluetooth and Low Power Audio.
Windows 8 has been developed to accommodate the growing popularity of mo- bile computing. Consequently it bring several advanced power management features. These include Metro style application model, idle hygiene, and a new runtime device power-management framework.
Metro style application model suspend background applications in order to save battery power. Idle hygiene increases the time of idle states. Power Engine Plug-In (PEP) is device dependant and increases the idling system time.
Linux-base OS distributions are an increasingly popular option for both full scale personal computers such as Desktop PCs or Laptop PC as well as mobile devices. Based on the design specifications, Linux power management techniques are divided into active and static power management [101].
Active power management refers to techniques used to reduce energy consumption while the system (processor) is in use. Static power management refers to energy sav- ing by entering suspend or low power modes supported by processor, such as standby and sleep modes.
There are two CPU power management frameworks ”cpufreq” and ”cpuidle” sup- porter by Linux. The ”cpufreq” framework allows the CPU clock speed to be adjusted and the ”cpuidle” framework allows the processor to go into a sleep mode when the CPU is idle.
The ”pm-qos” framework provides power management in the context of quality of service requirements. This allows subsystem,applications and drivers to register their performance requirements.
IEEE 802.11 MAC layer support the ”pm-qos” framework and has the ability to bring the wireless interface into sleep mode for a certain amount of time when no traffic is detected. The access points support this by buffering their frames while the interfaces are in a low power mode.
Android is an open source mobile device operating system developed by Google. It is based on Linux kernel but with more functionality added. Its power management takes a more aggressive manner to conserve energy than standard Linux Power Man- agement (PM). A core power driver is added to the Linux kernel in order to assist the PM controlled peripherals including screen display and backlight, keyboard backlight and button backlight [102]. It adopts the idea of wake locks used by applications to request CPU resources, and the CPU is shut down if no active wake lock is detected indicating no service/applications are requesting processing power.
Symbian, as an open OS, has a built in power management in its kernel as well. The power manager will shut down the peripherals that are not in use to conserve energy. Another feature of Symbian OS is that it uses less memory which leads to less energy consumption. The operating system is based on symmetric multiprocessing (SMP), which provides power management through varying the CPU performance by frequency scaling or by switching CPU cores off when not being used. Power Saving Mode (PSM) is introduced in Symbian 3 to further assist prolonging battery life. Processes running on the device can switch to PSM according to their own logic. Moreover, a set of services are disabled when PSM is turned on including Bluetooth, WLAN scanning, display settings, tactile feedback, vibration, 3G/2G, keypad tones, audio feedback.
digital assistant (PDA) and has been extended later for Smartphones. It basically sup- ports three operations modes: running mode, doze mode and sleep mode. The power manager is event driven, and running mode is entered to process any user event. Once the last event is finished, the device enters doze mode. While in doze mode, no op- erations are performed but the system interacts with the user. Sleep mode is initiated either when the device stays inactive for a predefined interval or when the ”off” but- ton is pressed by the user. During this stage, the system shows off status while the real-time clock and interrupt generation circuitry are still running in the background.
The Apple OS (iOS) is derived from Mac OS X to suit the requirements of mobile devices. It is designed only for Apple hardware products. Due to security reasons, only a limited set of system frameworks and applications have access to the kernel, and a device-level class instance is obtained through the application layer to provide interface to battery information. The power management of iOS is a generic energy conservation mechanism and depends significantly on individual applications. How- ever, it supports the basic function of switching off hardware subsystems which are not in use in order to save energy.
BlackBerry OS is an operating system developed by Research In Motion (RIM) and utilized by BlackBerry products only. It provides an interface which allows appli- cations to capture power status notifications. Similar to iOS, it prohibits direct access to kernel-level power management. However, some client-side add-ons are provided to assist power management. For example, BatteryStatus is a history-based tool to predict battery life in terms of remaining usage time. In the latest version of BlackBerry OS, a battery saving mode is introduced to allow users to configure at what battery level the high efficiency operation mode should be triggered in order to prolong battery life.
Table 2.5 presents an overview of the power management features implemented in mobile OS distributions.
Table 2.5: Energy saving technologies at OS level.
Company License Power Management
Overview
Windows 7 Microsoft Proprietary Idle Efficiency, Timer Co- alescing, Processor Power Management, Device Low Power Modes. Windows 8 Microsoft Proprietary Metro Style Applications,
Idle Hygiene, Power En- gine Plug-In.
Windows Phone Microsoft Proprietary Eight different states pro- vided: On, BacklightOff, ScreenOff, UserIdle, Unattended, Resuming, Suspended, Off.
Linux Linux Comunity Open source CPU clock speed adjust- ment and QoS support. Low power state
Android Google Open source Core power driver added to control peripherals. Wake locks used for request and release of CPU resource.
Symbian Symbian Founda- tion
Open source Peripherals controlled by power manager. Process- based power saving mode introduced. CPU perfor- mance adjusted by SMP.
Company License Power Management Overview
Palm OS ACCESS Systems
Americas
Proprietary Three modes supported: running, doze, sleep.
iOS Apple Proprietary Hardware management
through kernel. Switch- ing of power saving mode by third party allowed. BlackBerry OS RIM Proprietary Hardware management
through kernel. Power management add-on provided.