Native Daemons and Libraries
Native daemons in this layer include init, healthd, logd, and storaged. These daemons interact directly with the kernel or other interfaces and don't depend on a userspace-based HAL implementation.
Native libraries in this layer include libc, liblog, libutils, libbinder, and libselinux. These Native libraries interact directly with the kernel or other interfaces and don't depend on a userspace-based HAL implementation.
Native Daemons:
Live in the same layer as the Linux kernel: They interact directly with the kernel or other low-level interfaces for essential functionalities.
Examples:
init: Responsible for system startup, initializing processes, and bringing up the Android framework.healthd: Monitors system health and logs any issues.logd: Handles system logging, collecting and storing messages from various parts of the system.storaged: Manages storage devices like flash memory and SD cards.
Don't rely on HAL (Hardware Abstraction Layer): They operate at a lower level, independent of userspace HAL implementations.
Native Libraries:
Also reside in the same layer as the kernel: These libraries provide core functionalities for the system, directly interacting with the kernel or other low-level interfaces.
Examples:
libc: The C standard library, offering essential functions for memory management, input/output, and string manipulation.liblog: Provides logging functions used by other system components.libutils: Collection of utility functions commonly used by the Android system.libbinder: Inter-Process Communication (IPC) mechanism for communication between various system services.libselinux: Provides Security-Enhanced Linux (SELinux) functionalities for access control.
Independent of userspace HAL: Similar to daemons, they operate at a lower level, independent of userspace HAL implementations.
Last updated