Android: Architecture

Android: Architecture




  • Application framework
  • The application framework is used most often by application developers.
  • Binder IPC
  • The Binder Inter-Process Communication (IPC) mechanism allows the application framework to cross process boundaries and call into the Android system services code.
  • System services
  • Functionality exposed by application framework APIs communicates with system services to access the underlying hardware. Android includes two groups of services: system (such as Window Manager and Notification Manager) and media (services involved in playing and recording media).
  • Hardware abstraction layer (HAL)
  • A HAL defines a standard interface for hardware vendors to implement. HAL implementations are packaged into modules and loaded by the Android system at the appropriate time. For details, see Hardware Abstraction Layer (HAL).
  • Linux kernel
  • Android uses a version of the Linux kernel with a few special additions such as :
    • Low Memory Killer
    • a memory management system that is more aggressive in preserving memory
    • wake locks
    • a PowerManager system service
    • the Binder IPC driver
    • others

HAL interface definition language (HIDL)


Android 8.0 re-architected the Android OS framework (in a project known as Treble).
In this new architecture, the HAL interface definition language (HIDL, pronounced "hide-l") specifies the interface between a HAL and its users.

HIDL separates the vendor implementation from the Android OS framework via a new vendor interface. Vendors or SOC makers build HALs once and place them in a /vendor partition on the device; the framework, in its own partition, can then be replaced with an over-the-air (OTA) update without recompiling the HALs.
The difference between the legacy Android architecture and the current, HIDL-based architecture is in the use of the vendor interface.

Legacy Android update environment
(Android 7.x and earlier)
Current Android update environment
(Android 8.0 and higher)

To ensure forward compatibility of vendor implementations, the vendor interface is validated by the Vendor Test Suite (VTS), which is analogous to the Compatibility Test Suite (CTS).



留言

熱門文章