安卓内核定制与启动序列详解
1. 驱动管理
自 Linux 2.6.x 版本起,开发者可将内核部分编译为独立模块,在运行时注入核心以添加新功能。这种方式灵活自由,无需重启系统或重建整个内核,在 PC、嵌入式设备(如路由器、智能电视、UDOO 板)中广泛应用。
不过,安卓不采用模块化方式,所有必需功能都构建在单个二进制内核文件中。近年来,Wi-Fi 功能逻辑也倾向于集成到内核中,而非在启动时从独立模块加载。
添加新驱动到安卓内核最实用的方法是使用 menuconfig 并将功能构建为内核的核心部分。
2. CPU 频率调整
2.1 超频
现代 CPU 可根据需求调整时钟频率以平衡性能和功耗。超频是通过软件提高 CPU 工作时钟频率,以获得高于设计的性能。但这很危险,因为使用未经测试的频率可能导致设备自动重启甚至损坏 CPU。
2.2 降频
降频利用 CPU 频率缩放功能,根据 CPU 负载等设计缩放策略以提高效率。例如,设备空闲或睡眠时降低频率,高负载时提高到最大。对于多核架构的智能手机 CPU,还可在不需要时停用核心。但降频也有风险,频率过低可能导致设备无响应或冻结。
2.3 调速器概述
Linux 内核使用调速器管理 CPU 缩放,有预建调速器,也可自定义。以下是部分常见调速器:
| 调速器名称 | 功能描述 |
| — | — |
| performance | 使 CPU 始终保持最高频率,牺牲电池寿命换取高性能 |
| ondemand | 根据 CPU 负载动态调整频率 | <