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.
(Android 7.x and earlier) | (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).
留言