Mobile Operating System Architecture Roadmap
Hardware, Kernel, Drivers, System Services, Runtime, Frameworks, and Apps
Part 1: Mobile OS Architecture Model
Chapter 1: Mobile OS and Desktop OS Shared Foundations, Different Constraints
- 1.1 操作系统共同基础:进程、内存、文件、网络、设备与安全(把桌面与手机共享的 OS 资源抽象整理成进程隔离、地址空间、文件访问、网络连接、设备控制和安全策略)
- 1.2 桌面系统的开放资源模型(说明桌面系统中窗口、多任务、文件系统、外设和后台进程如何给应用更大的资源访问自由度)
- 1.3 手机系统的受控资源模型(拆解手机系统如何通过权限、沙箱、生命周期、系统服务和分发渠道收束应用能力)
- 1.4 Power、Thermal、Privacy、Sensor、Connectivity 约束(把电量、温度、隐私、传感器和连接状态作为移动 OS 调度、授权和降级的横切约束)
- 1.5 App Lifecycle 与系统资源策略(连接前台、后台、挂起、缓存、杀进程、恢复路径和系统资源回收策略)
- 1.6 安装、签名、沙箱与应用分发边界(说明安装包、证书、签名校验、应用身份、沙箱容器和商店分发共同形成信任入口)
- 1.7 用户可见体验背后的系统控制面(把权限弹窗、通知送达、后台保活、掉帧、发热和耗电映射到系统策略执行点)
Chapter 2: The Core System Chain Hardware, Kernel, Driver, Service, Framework, App
- 2.1 Hardware Capability 作为系统能力源头(从 SoC、传感器、相机、屏幕、网络和安全芯片出发,说明硬件能力如何成为系统可分配资源)
- 2.2 Kernel Resource Ownership:CPU、Memory、Device、Interrupt、Power(定位内核对 CPU 时间、内存、设备、中断、电源状态和权限边界的底层所有权)
- 2.3 Driver Layer 与硬件控制接口(说明 driver 如何把寄存器、队列、中断、DMA、buffer 和 firmware 协议包装成内核可调用接口)
- 2.4 Hardware Abstraction 与 Vendor Boundary(连接 HAL、DriverKit、firmware、device tree、vendor service 和平台更新边界)
- 2.5 System Service 作为能力代理层(说明 system service 如何持有资源状态、执行权限检查、协调并发访问并向 framework 返回结果)
- 2.6 Framework API 作为公开能力表面(把相机、定位、音频、通知、网络、传感器等能力呈现为应用可调用 API 和回调模型)
- 2.7 App Request Path 与 System Return Path(用一次 App 请求串起 API 调用、IPC、服务处理、驱动访问、硬件结果和错误返回)
- 2.8 Android 链路:Framework、Binder、System Service、HAL、Linux Kernel(把 Android 能力调用拆成 framework manager、Binder、system_server/native service、HAL、driver 和 kernel path)
- 2.9 Apple 链路:Framework、XPC / Daemon、XNU、Driver Framework(把 Apple 能力调用拆成 public framework、XPC、daemon、entitlement、XNU 和 DriverKit/IOKit 边界)
Chapter 3: Hardware Capability Mediation and System Control
- 3.1 硬件能力与系统能力的分离(区分硬件真实能力、系统开放能力、应用可见 API 和用户授权状态)
- 3.2 Device-Level Access 与 Capability-Based Access(比较直接设备访问和按能力授权访问在安全、稳定性、审计和兼容性上的差异)
- 3.3 设备所有权、并发访问与资源仲裁(说明相机、麦克风、蓝牙、定位、音频路由等资源如何处理独占、共享、抢占和排队)
- 3.4 System Boundary 上的权限执行点(定位 framework、system service、daemon、kernel、driver 中实际执行权限或 entitlement 检查的位置)
- 3.5 App Code 与 Hardware Control 的故障隔离(说明应用崩溃、权限错误、服务重启、driver 故障和硬件超时如何被分层隔离)
- 3.6 电源、温控与后台硬件访问控制(连接后台访问、持续传感器、定位、相机、网络和唤醒源在功耗策略下的降级路径)
- 3.7 Sensor Privacy 与用户可见授权(把 camera、microphone、location、motion、Bluetooth 等传感器权限映射到用户提示、指示器和撤销行为)
- 3.8 Driver Stability 与平台更新约束(说明 driver ABI、vendor boundary、firmware 版本、系统 OTA 和长期维护如何影响平台稳定性)
Chapter 4: Mobile Platform Constraint Model
- 4.1 Battery Budget 与全系统功耗模型(把 CPU、GPU、modem、display、camera、sensor 和 background work 放入同一电量预算)
- 4.2 Thermal Envelope 与 Performance Throttling(说明热限制如何触发降频、帧率调整、相机降级、充电限速和后台任务收缩)
- 4.3 传感器常驻能力与持续环境感知(连接 step counter、motion、location、always-on processor 和低功耗采样策略)
- 4.4 隐私敏感硬件:Camera、Microphone、Location、Photos、Bluetooth(按用户授权、系统指示器、后台限制、数据暴露面和撤销路径拆解敏感能力)
- 4.5 Cellular / Wi-Fi 连接与 Power Policy(说明蜂窝、Wi-Fi、漫游、弱网、数据节省和后台传输如何影响连接策略)
- 4.6 Background Work、Wakeup 与系统调度限制(整理 alarm、job、push、wake lock、BGTask 和系统唤醒预算的关系)
- 4.7 Hardware、Service、App 之间的策略协调(说明硬件状态、服务所有权、应用生命周期和用户设置如何共同决定一次能力调用的结果)
Chapter 5: Hardware Boundary, System Boundary, Runtime Boundary, App Boundary
- 5.1 Hardware Boundary:Device、Driver、Firmware、Kernel Interface(定位设备寄存器、firmware、driver API、kernel object 和硬件错误信号之间的边界)
- 5.2 Vendor Boundary:HAL、Driver Framework、Firmware、Board Support(说明 SoC vendor、OEM、HAL、DriverKit、board support 和系统镜像之间的责任切分)
- 5.3 System Boundary:Service Process、Daemon、IPC、Capability Mediation(把系统服务进程、daemon、IPC、权限检查、资源所有权和失败隔离放入同一边界)
- 5.4 Runtime Boundary:App Process、Loader、VM、Native Code(说明 ART、Zygote、dyld、Swift/Objective-C runtime、native library 和 ABI 如何决定应用执行环境)
- 5.5 App Boundary:Sandbox、Permission、Container、Identity(连接应用身份、UID/entitlement、容器目录、数据访问和跨 App 隔离)
- 5.6 Android Boundary Map:Linux Kernel、HAL、Binder、system_server、App Sandbox(用 Android 分层图定位能力请求经过的 kernel、HAL、Binder、system_server 和 app sandbox)
- 5.7 Apple Boundary Map:XNU、IOKit / DriverKit、XPC、Daemon、Entitlement、Sandbox(用 Apple 分层图定位 framework、XPC、daemon、entitlement、XNU 和 driver framework 的边界)
Chapter 6: Kernel, Operating System, and Mobile Platform
- 6.1 Kernel:资源管理器与硬件控制层(说明 kernel 管理调度、内存、设备、文件、网络、电源和最高权限边界)
- 6.2 Operating System:Kernel、Services、Runtime、Frameworks、System Policy(把 OS 看作 kernel、system service、runtime、framework、policy 的组合系统)
- 6.3 Mobile Platform:OS、App Model、Distribution、Signature、Store、Ecosystem Rules(说明移动平台把 OS 能力、应用模型、签名、商店规则和生态政策合成开发者边界)
- 6.4 Android:基于 Linux Kernel 的移动平台(定位 Linux kernel、AOSP framework、HAL、Binder、ART、GMS/OEM 扩展在 Android 中的角色)
- 6.5 iOS:基于 Darwin / XNU 的移动平台(定位 Darwin/XNU、framework、daemon、entitlement、sandbox、App Store policy 在 iOS 中的角色)
- 6.6 Public API Surface 与 Internal System Architecture(区分公开 API、系统服务、私有 daemon、driver 和硬件路径在可见性上的差别)
- 6.7 Platform Behavior 作为多层策略叠加结果(把权限提示、后台限制、启动速度、相机能力、通知行为看作多层策略共同输出)
Chapter 7: Android Above Linux and Apple Above XNU
- 7.1 Kernel Lineage 与 Platform Architecture(比较 Linux 和 XNU 的内核来源如何被移动平台上层重新包装成不同系统架构)
- 7.2 Android Above Linux:HAL、Binder、ART、system_server、Framework API(说明 Android 在 Linux 之上通过 HAL、Binder、ART 和 system_server 构建移动平台能力)
- 7.3 Apple Above XNU:launchd、XPC、Frameworks、Entitlements、Sandbox、System Daemons(说明 Apple 在 XNU 之上通过 launchd、XPC、framework、entitlement 和 daemon 组织平台能力)
- 7.4 Runtime Layer 与 Service Layer 的平台身份(比较 ART/Zygote 与 dyld/Swift/Objective-C runtime,以及 system_server 与 Apple daemons 的平台角色)
- 7.5 Hardware Abstraction 与厂商适配策略(连接 Android vendor/HAL/Treble 与 Apple 垂直整合 driver framework 的适配方式)
- 7.6 Security Policy 与 Distribution Policy 的平台级设计(比较 Android permission/SELinux/signature 与 Apple entitlement/sandbox/code signing/App Store policy)
- 7.7 用户可见行为来自非 Kernel 层(把权限体验、通知策略、后台限制、相机能力和系统 UI 行为映射到 kernel 之上的平台层)
Chapter 8: Capability Path as the Reading Model
- 8.1 Capability Path 优先于平台名词(用能力路径阅读移动 OS:先找 App 意图、API 入口、服务所有者、策略检查和返回结果)
- 8.2 App API 到 System Service 的调用路径(追踪 framework manager、IPC handle、service method、caller identity 和错误返回)
- 8.3 System Service 到 Hardware Boundary 的控制路径(追踪 system service 如何访问 HAL、daemon、driver、kernel object、firmware 或硬件 buffer)
- 8.4 Runtime Behavior 到 Process / Memory Policy 的映射(把启动、暂停、恢复、杀进程、GC、内存压力映射到 runtime 和 kernel 策略)
- 8.5 Permission Prompt 到 Security Enforcement Point 的映射(把用户提示、授权记录、运行时检查、service 拒绝和用户可见失败串成闭环)
- 8.6 Frame、Touch、Audio、Camera、Network 请求的系统 Pipeline(用五类高频能力展示从应用行为到硬件/服务结果的完整路径)
- 8.7 Android 与 Apple 的共同架构角色映射(用同一组角色比较 framework、IPC、service、runtime、kernel、driver 和硬件边界)
Part 2: Smartphone Hardware Platform
Chapter 9: Mobile SoC Component Map
- 9.1 SoC 作为手机硬件平台核心(把 CPU、GPU、NPU、ISP、modem、memory controller、security engine 和 I/O controller 放入同一芯片能力图)
- 9.2 CPU、GPU、NPU、ISP、Modem 的职责划分(区分通用计算、图形渲染、AI 推理、图像信号处理、蜂窝通信和专用硬件加速任务)
- 9.3 Memory、Storage、Sensor 与主计算单元的连接关系(连接 DRAM、flash、sensor hub、DMA、bus、cache 和 compute unit 的数据通路)
- 9.4 硬件能力与系统能力的映射入口(说明硬件能力如何经 firmware、driver、HAL/daemon、system service 和 framework 暴露给应用)
- 9.5 SoC 集成度对功耗、延迟和系统架构的影响(把片上集成、共享内存、专用单元和低功耗岛关联到延迟、带宽和续航)
- 9.6 Android / Apple 平台对 SoC 能力的不同封装方式(比较 Android 多厂商 HAL/vendor 边界与 Apple 垂直整合硬件/系统协同)
Chapter 10: SoC Integration and Mobile Hardware Topology
- 10.1 Mobile SoC 的集成拓扑(整理 compute cluster、media block、display block、radio block、security block 和 low-power block 的片上位置)
- 10.2 CPU Cluster、GPU、NPU、ISP、Modem 的片上关系(说明各计算单元如何共享内存、总线、功耗预算、thermal envelope 和调度策略)
- 10.3 内存控制器、总线、缓存与数据路径(追踪 camera frame、GPU texture、video buffer、AI tensor 如何穿过内存控制器和互连结构)
- 10.4 外设控制器与硬件访问入口(定位 I2C、SPI、USB、PCIe、display interface、camera interface、audio codec 等外设入口)
- 10.5 Firmware、Driver、Kernel 对硬件拓扑的识别(说明 boot config、device tree/ACPI-like description、driver probe 和 firmware handshake 如何建立硬件地图)
- 10.6 硬件拓扑对系统服务设计的影响(连接硬件共享、队列深度、buffer ownership、功耗域和服务层资源仲裁)
Chapter 11: CPU Core Topology and Scheduling Pressure
- 11.1 Performance Core 与 Efficiency Core 的角色划分(说明大核、小核、能效核如何分担交互、后台、媒体、系统服务和短时突发任务)
- 11.2 CPU Cluster、频率、功耗与热约束(连接 DVFS、cluster frequency、thermal throttling、battery current 和系统响应速度)
- 11.3 Scheduler 对前台响应和后台任务的资源分配(把 UI thread、render thread、Binder/XPC callback、background job 和 daemon 放入调度优先级模型)
- 11.4 线程迁移、优先级与交互流畅度(说明线程迁移、priority boost、QoS、nice/priority、affinity 和 frame deadline 的关系)
- 11.5 Android Linux Scheduler 与移动场景调度压力(定位 CFS/EAS、cgroup、uclamp、foreground/background group 和 vendor 调度策略)
- 11.6 Apple Silicon Core Topology 与系统调度策略(用 QoS、workqueue、thermal state、performance/efficiency core 说明 Apple 平台调度边界)
Chapter 12: GPU, Display Engine, Hardware Composer, and Frame Output
- 12.1 GPU 在手机系统中的渲染职责(说明 GPU 负责应用绘制、纹理处理、shader 执行、离屏渲染和部分合成工作)
- 12.2 Display Engine 与屏幕输出链路(追踪 framebuffer/layer 进入 display engine、timing controller、panel 和刷新率控制的路径)
- 12.3 Hardware Composer / Display Controller 的合成角色(比较 GPU composition、overlay plane、hardware composer、WindowServer/Core Animation 合成责任)
- 12.4 Frame Buffer、Surface、Layer 与显示数据结构(连接 Surface、BufferQueue、CALayer、drawable、swapchain、framebuffer 和 fence)
- 12.5 GPU 渲染、系统合成与最终扫描输出(用一帧从 App draw 到 VSync、composition、present、scanout 的路径解释掉帧来源)
- 12.6 图形硬件能力对 Graphics Pipeline 的约束(把带宽、tile-based rendering、overlay 数量、HDR、刷新率和功耗预算映射到系统图形策略)
Chapter 13: NPU and Specialized Compute Units
- 13.1 NPU 与专用计算单元的系统位置(定位 NPU、DSP、ISP、secure processor、sensor hub 在 SoC 中承担的专用任务)
- 13.2 AI Inference、Image Processing、Signal Processing 的硬件分工(区分神经网络推理、图像 pipeline、音频/传感器信号处理和低功耗常驻计算)
- 13.3 CPU / GPU / NPU 的任务边界(比较灵活性、吞吐、延迟、内存访问、功耗和模型支持范围)
- 13.4 Driver、Runtime、Framework 对专用硬件的封装(连接 NNAPI/Core ML/Metal Performance Shaders、vendor runtime、driver queue 和 buffer exchange)
- 13.5 隐私、功耗与本地推理的系统意义(说明本地推理如何降低云端传输、延迟和隐私暴露,同时受模型大小和电量约束)
- 13.6 专用计算单元对现代手机平台的影响(把影像增强、语音识别、实时翻译、相册搜索和系统智能功能放入硬件能力演进)
Chapter 14: ISP, Camera Sensor, Lens, and Imaging Hardware
- 14.1 Camera Sensor、Lens、ISP 的硬件链路(从镜头、sensor、MIPI/CSI、ISP、memory buffer 到 preview/capture 输出建立相机数据路径)
- 14.2 Exposure、Focus、White Balance 与图像采集控制(说明 3A 控制如何通过 sensor、lens actuator、ISP stats 和算法闭环影响画面)
- 14.3 ISP Pipeline:Raw Data、Demosaic、Noise Reduction、HDR、Tone Mapping(拆解 RAW 到 YUV/JPEG/HEIF 的处理阶段和每阶段的画质责任)
- 14.4 Camera Buffer、Preview、Capture 的数据路径(连接 capture request、buffer queue、preview surface、still capture、video encoder 和 metadata)
- 14.5 硬件图像能力与 Camera Service / Framework 的关系(说明硬件 level、stream combination、HAL capability 和 framework API 如何限制应用可用能力)
- 14.6 手机厂商影像差异的硬件基础(把 sensor 尺寸、镜头、OIS、ISP、NPU、算法调参和多摄组合关联到成像差异)
Chapter 15: Memory, Flash Storage, and Mobile IO Characteristics
- 15.1 Mobile DRAM 与系统内存压力(说明应用、system service、graphics buffer、camera buffer、page cache 和 kernel memory 共同争用 DRAM)
- 15.2 Flash Storage、UFS / NVMe 与持久化 I/O(连接随机读写、顺序吞吐、fsync、journal、wear leveling 和 app 数据持久化)
- 15.3 Memory Bandwidth 对图形、相机、视频和 AI 的影响(把 framebuffer、texture、camera RAW、video frame、tensor buffer 的吞吐需求放入统一带宽预算)
- 15.4 I/O Latency、App Startup 与系统响应(说明冷启动、动态库加载、资源读取、数据库打开和缓存命中如何影响响应)
- 15.5 Page Cache、Swap、Compression 与移动内存策略(整理页缓存、压缩内存、swap/zram、low memory killer 和进程回收之间的关系)
- 15.6 存储寿命、加密和数据保护边界(连接 flash 写入寿命、文件加密、keybag/keystore、备份恢复和用户数据保护)
Chapter 16: Peripheral Devices Display, Touch, Audio, Camera, and Haptics
- 16.1 Display Panel、Refresh Rate、Brightness 与系统控制(说明 panel、刷新率、亮度、HDR、PWM/调光和系统显示策略如何影响用户体验)
- 16.2 Touch Controller 与输入事件采集(追踪触摸采样、固件过滤、中断、input driver、event queue 和 UI 线程接收)
- 16.3 Microphone、Speaker、Codec 与 Audio Route(连接音频输入输出设备、codec、DSP、route policy、focus 和延迟控制)
- 16.4 Camera Module、Sensor、Lens、OIS 与硬件封装(说明相机模组如何把 sensor、lens、OIS、flash、calibration 和 ISP 入口组合成系统能力)
- 16.5 Haptic Engine、Vibration Motor 与反馈系统(说明触觉硬件如何接收系统 pattern、强度、时长和交互反馈策略)
- 16.6 外设能力进入 System Service 的通用路径(用 display、touch、audio、camera、haptic 归纳外设到 driver、service、framework、app 的共同路径)
Chapter 17: Wireless Hardware Wi-Fi, Bluetooth, NFC, GPS, Cellular Modem
- 17.1 Wi-Fi / Bluetooth Combo Chip 与系统通信链路(说明无线芯片、firmware、driver、network stack、Bluetooth stack 和系统设置之间的协作)
- 17.2 NFC Controller、Secure Element 与支付边界(连接 NFC controller、secure element、wallet、token、支付认证和近场通信权限)
- 17.3 GPS / GNSS、辅助定位与 Location Stack(整理 GNSS、Wi-Fi、cellular、Bluetooth beacon、sensor fusion 和 location service 的融合路径)
- 17.4 Cellular Modem、SIM / eSIM 与基带边界(说明 modem、baseband firmware、SIM/eSIM、carrier policy、APN、IMS 和系统网络服务的边界)
- 17.5 无线硬件的权限、功耗与后台策略(把扫描、连接、定位、蓝牙广播、后台网络和数据节省映射到功耗/隐私策略)
- 17.6 Wireless Capability 对系统服务和 App 行为的影响(说明弱网、漫游、飞行模式、权限撤销、后台限制如何改变应用可见行为)
Chapter 18: Battery, Charging, Thermal Sensors, and Power Hardware
- 18.1 Battery Gauge、Charging IC 与电源监测(说明电量计、充电芯片、电池健康、充电状态和系统电源服务如何形成电量事实)
- 18.2 Power Management IC 与系统供电路径(连接 PMIC、电压轨、power domain、clock gating、sleep state 和 wakeup source)
- 18.3 Thermal Sensor 与温度采样(说明电池、SoC、modem、camera、skin temperature 等温度点如何进入 thermal policy)
- 18.4 CPU / GPU / Modem / Camera 的功耗热点(比较交互负载、游戏、5G、视频录制、夜景拍摄和持续定位的功耗形态)
- 18.5 Charging、Thermal Throttling 与系统策略联动(说明快充、温升、降频、亮度限制、相机/游戏降级和后台任务调整的联动)
- 18.6 Power Hardware 对 Background、Notification、Network 的约束(把后台任务、通知唤醒、网络传输、定位扫描和 push delivery 放入电源硬件预算)
Part 3: Boot Chain and System Startup
Chapter 19: Power-On Sequence and Boot Entry
- 19.1 Power-On Reset 与 SoC 启动入口(从按下电源、PMIC 供电、reset vector 到 SoC 开始执行首段代码建立启动入口)
- 19.2 Boot ROM 作为硬件信任起点(说明 Boot ROM 的不可变代码、密钥材料、签名校验入口和硬件 root of trust)
- 19.3 Early Firmware 与硬件初始化(连接 DRAM training、storage init、display init、security engine、clock/power domain 和早期设备状态)
- 19.4 Boot Device、Boot Mode 与启动介质选择(说明 eMMC/UFS/NVMe、recovery、fastboot/DFU、normal boot 的选择条件)
- 19.5 Normal Boot、Recovery Mode、Fastboot / DFU 的路径分流(比较正常启动、恢复环境、刷机模式和设备维护模式的控制权路径)
- 19.6 从硬件复位到 Kernel Entry 的控制权转移(追踪 bootloader 准备 kernel image、ramdisk、设备描述、启动参数和安全状态后进入内核)
- 19.7 启动链路中的安全边界和故障边界(定位签名失败、分区损坏、rollback 状态、firmware 错误和 kernel panic 的处理阶段)
Chapter 20: Boot ROM, Bootloader, Firmware, Kernel Image, Verified Boot
- 20.1 Boot ROM、Primary Bootloader、Secondary Bootloader 的职责划分(区分硬件固定入口、早期平台初始化、镜像加载、校验和系统模式选择)
- 20.2 Firmware 初始化:DRAM、Storage、Display、Security Engine(说明固件如何让内存、存储、显示、安全模块和外设达到可交接状态)
- 20.3 Kernel Image、Ramdisk、Device Tree / Boot Config(连接 kernel image、initramfs/ramdisk、device tree、bootconfig 和启动参数)
- 20.4 Verified Boot 的签名校验与完整性校验(说明 bootloader 如何验证镜像来源、hash、signature、certificate 和 rollback index)
- 20.5 VBMeta、dm-verity 与分区验证路径(追踪 vbmeta、hashtree、dm-verity、system/vendor/product 分区在启动与运行期的完整性保护)
- 20.6 Bootloader Lock State 与系统信任状态(说明锁定/解锁状态如何影响启动警告、镜像接受范围、数据保护和平台信任)
- 20.7 Kernel Handoff:启动参数、硬件描述与安全状态传递(整理 bootloader 传给 kernel 的命令行、设备描述、内存地图、安全状态和 verified boot 结果)
Chapter 21: Secure Boot and Trust Chain
- 21.1 Root of Trust 与不可变启动代码(定位硬件 root key、Boot ROM、熔丝/安全存储和首个可信校验点)
- 21.2 Chain of Trust 的逐级验证模型(说明每一级启动组件如何验证下一级组件并传递信任状态)
- 21.3 Code Signature、Hash、Certificate 与 Key Hierarchy(拆解 hash、签名、公钥证书、证书链、rollback counter 和密钥轮换)
- 21.4 Bootloader、Kernel、Firmware、Baseband 的可信边界(说明不同镜像各自的签名主体、更新路径、权限范围和失败后果)
- 21.5 Android Verified Boot 的信任链模型(连接 AVB、vbmeta、partition digest、rollback index、device state 和 verified boot result)
- 21.6 Apple Secure Boot 的签名链模型(用 Boot ROM、iBoot、kernelcache、SEP/firmware 和 Apple 签名体系描述公开可知信任路径)
- 21.7 Secure Boot 与设备物理控制权之间的关系(说明物理访问、解锁 bootloader、恢复模式、数据擦除和用户数据保护之间的关系)
Chapter 22: Signature Verification and System Integrity
- 22.1 Signature Verification 作为启动期完整性入口(说明签名验证如何把镜像来源、内容完整性和平台信任绑定到启动流程)
- 22.2 System Image、Vendor Image、Boot Image 的完整性保护(比较 boot、system、vendor、product、recovery 等镜像在校验和挂载阶段的保护方式)
- 22.3 Firmware 与 Baseband 软件的签名约束(说明 modem、Wi-Fi、camera、touch、secure processor firmware 的签名与更新边界)
- 22.4 Kernel Extension / Driver 载入的信任检查(连接内核模块、驱动扩展、DriverKit/IOKit、签名要求和平台加载策略)
- 22.5 Rollback Index 与旧版本系统回滚限制(说明版本计数、anti-rollback、分区版本和安全补丁级别如何控制降级风险)
- 22.6 Tamper Detection 与启动失败处理(整理校验失败、分区篡改、锁状态异常、恢复环境和用户提示之间的路径)
- 22.7 System Integrity 与用户数据保护的关系(连接系统完整性、文件加密密钥、用户解锁、secure enclave/keystore 和数据可用性)
Chapter 23: System Partitions, Recovery, OTA Update, Rollback Protection
- 23.1 手机系统分区模型:boot、system、vendor、recovery、data(说明 boot、system、vendor、product、recovery、userdata 等分区的职责和挂载时机)
- 23.2 Android A/B Slot 与无缝 OTA 更新(追踪 inactive slot 写入、校验、切换、首次启动确认和失败回退)
- 23.3 Recovery Environment 与系统修复入口(定位 recovery、fastboot/DFU、restore、factory reset、日志收集和系统修复路径)
- 23.4 Vendor Partition 与设备适配边界(连接 vendor image、HAL、firmware、device-specific config、Treble/VINTF 和系统升级兼容性)
- 23.5 Verified Partition 与 dm-verity 数据路径(说明 hashtree、block verification、read-time integrity check 和篡改检测)
- 23.6 Rollback Protection 与版本状态管理(整理 rollback index、slot metadata、security patch level 和镜像版本之间的关系)
- 23.7 OTA 更新中的签名、校验、切换与回退策略(把下载、签名验证、分区写入、重启切换、健康检查和回退策略串成更新闭环)
Chapter 24: Android Startup Path Bootloader, Kernel, init, Zygote, system_server
- 24.1 Bootloader 到 Linux Kernel 的控制权交接(说明 bootloader 传递 kernel image、ramdisk、cmdline、device tree 和 verified boot state)
- 24.2 Kernel Init、Driver Probe 与 early userspace(追踪内核初始化、驱动探测、文件系统挂载、uevent 和 early init)
- 24.3 Android init、init.rc 与系统服务启动脚本(说明 init 解析 rc、启动 daemon、设置属性、挂载分区和管理 service lifecycle)
- 24.4 SELinux Policy、Property Service 与启动期权限环境(连接 SELinux policy load、property context、service context 和启动期访问控制)
- 24.5 Zygote 启动、Class Preload 与 Runtime 准备(说明 Zygote、ART、class preload、zygote socket 和应用进程 fork 模型)
- 24.6 system_server 启动与核心 System Service 注册(追踪 system_server 创建、AMS/PMS/WMS 等服务启动、ServiceManager 注册和 ready 信号)
- 24.7 从 system_server 到 Launcher 的系统可用路径(把 system ready、启动 Launcher、显示首屏和用户可交互状态串成 Android 可用路径)
Chapter 25: Apple Startup Path Secure Boot, XNU, launchd, System Services
- 25.1 Boot ROM、iBoot 与 Apple Secure Boot Chain(用公开材料描述 Boot ROM、iBoot、签名镜像和 Apple 硬件信任链)
- 25.2 iBoot 到 XNU Kernel 的控制权转移(说明 kernelcache、device tree、boot args、secure state 和早期硬件状态如何交给 XNU)
- 25.3 XNU 初始化:Mach、BSD Layer、IOKit(整理 Mach task/thread/port、BSD 进程/文件/网络和 IOKit 设备模型的启动职责)
- 25.4 launchd 作为用户态服务根进程(说明 launchd 如何启动 daemon、管理服务生命周期并成为用户态服务树根)
- 25.5 System Daemon 启动与 Framework Backend 准备(连接系统 daemon、XPC service、framework frontend 和用户会话能力准备)
- 25.6 Entitlement、Sandbox 与系统服务访问环境(说明 entitlement、sandbox profile、code signing 和服务访问权限如何在启动后生效)
- 25.7 从内核启动到 SpringBoard / 用户界面的路径(把 XNU、launchd、daemon、WindowServer/BackBoard/SpringBoard 和用户交互界面串成可用路径)
Chapter 26: Startup Security and Platform Trust Establishment
- 26.1 启动过程中的 Trust Establishment(说明硬件 root、签名验证、分区完整性、锁状态和用户数据密钥如何建立平台信任)
- 26.2 Secure Boot、Verified Boot 与运行时安全的衔接(连接启动期校验结果、SELinux/sandbox、key store、code signing 和运行时访问控制)
- 26.3 Device Lock State、User Trust 与 Developer Mode(比较锁定状态、开发者模式、调试能力、刷机权限和用户数据保护)
- 26.4 Recovery、Restore、Update 与平台控制权(说明恢复、重装、OTA、DFU/fastboot、factory reset 如何改变设备控制权和系统状态)
- 26.5 启动链路对 App 安装、签名和沙箱的影响(连接平台信任、签名政策、应用身份、沙箱创建和运行时权限)
- 26.6 启动安全与硬件安全模块的协作(说明 secure enclave/TEE/keystore、rollback counter、device key 和用户解锁状态的协作)
- 26.7 从 Boot Trust 到 Platform Trust 的完整模型(把硬件信任、镜像校验、系统策略、应用身份和用户数据保护合成完整信任模型)
Part 4: Mobile Kernel Foundations
Chapter 27: Kernel Responsibilities in a Mobile Platform
- 27.1 Kernel 作为硬件资源仲裁层(说明 kernel 如何在应用、系统服务、驱动和硬件之间持有最终资源控制权)
- 27.2 CPU、Memory、Device、Interrupt、Power 的统一管理(把调度、内存、设备节点、中断、DMA、电源状态和 wakeup source 放入统一内核职责)
- 27.3 User Space 与 Kernel Space 的权限边界(定位系统调用、trap、driver ioctl、Mach message、Binder driver 和内核地址空间边界)
- 27.4 App Process 与 System Service 对 Kernel 能力的依赖(说明应用进程和系统服务如何通过文件描述符、port、socket、binder handle 和 kernel object 使用内核能力)
- 27.5 Driver、File System、Network Stack 与系统能力出口(连接 driver、VFS、network stack、power subsystem 和 security hook 到上层系统服务)
- 27.6 Android Linux Kernel 的移动平台角色(说明 Android kernel 在 Binder、wakelock/power、SELinux、cgroup、scheduler 和 vendor driver 中的移动扩展位置)
- 27.7 Apple XNU 的移动平台角色(说明 XNU 的 Mach、BSD、IOKit、power management 和 sandbox enforcement 在 Apple 平台中的角色)
Chapter 28: Process, Thread, Scheduler, Foreground Responsiveness
- 28.1 Process 作为 App 与 System Service 的执行容器(说明应用、system_server、daemon、extension 和 service process 如何被内核调度与隔离)
- 28.2 Thread、Kernel Thread 与用户态线程模型(区分 UI thread、render thread、worker thread、binder/xpc callback、kernel thread 和 interrupt context)
- 28.3 Scheduler 与 CPU 时间片分配(整理 runnable queue、priority/QoS、cgroup、CPU affinity、time slice 和 preemption)
- 28.4 Foreground Responsiveness 与交互线程优先级(连接 input event、UI update、frame deadline、priority boost 和前台进程策略)
- 28.5 Background Task、Cached Process 与调度降级(说明后台任务、缓存进程、低优先级队列、CPU 限制和系统回收策略)
- 28.6 多核调度、大小核拓扑与移动功耗约束(把大核/小核、thermal state、battery current、EAS/QoS 和任务迁移放入调度模型)
- 28.7 调度策略对 Jank、ANR、卡顿和发热的影响(用主线程阻塞、CPU 饱和、binder wait、thermal throttle 和调度延迟解释用户可见问题)
Chapter 29: Virtual Memory, Physical Memory, OOM, Memory Pressure
- 29.1 Virtual Memory 与 App 地址空间隔离(说明每个进程如何获得独立虚拟地址空间、映射共享库、堆、栈和匿名内存)
- 29.2 Page Table、Mapping、Permission 与内存访问控制(连接页表、page fault、mmap、copy-on-write、read/write/execute 权限和内存保护)
- 29.3 Physical Memory、Page Cache 与系统内存池(整理物理页、page cache、kernel slab、graphics/camera buffer 和文件缓存的竞争关系)
- 29.4 Memory Pressure 与 App 生命周期策略(把内存压力信号、前后台状态、缓存进程和服务优先级映射到系统回收决策)
- 29.5 OOM、Low Memory Killer 与进程回收机制(说明 Android LMKD/OOM 选择、Apple jetsam 类行为、优先级、杀进程和用户可见恢复)
- 29.6 Compression、Swap 与移动内存扩展策略(连接 zram/compressed memory、swap、page reclaim、dirty page writeback 和性能成本)
- 29.7 内存模型对 App 启动、后台保活和系统稳定性的影响(用冷启动、热启动、进程保活、缓存命中和内存泄漏解释系统表现)
Chapter 30: System Call Boundary and Kernel Object Model
- 30.1 System Call 作为用户态进入内核态的入口(说明 syscall/trap 如何从用户态携带参数进入内核并返回 errno/status)
- 30.2 File Descriptor、Handle、Port 与 Kernel Object(比较 Linux fd、Binder handle、Mach port、socket、file 和 device object 的引用模型)
- 30.3 Process、Thread、Socket、File、Device 的内核对象化(说明内核如何用对象、引用计数、权限字段、状态机和等待队列管理资源)
- 30.4 Permission Check 与 Capability Check 的内核执行点(定位 UID/GID、SELinux hook、sandbox check、entitlement-derived policy 和 driver access check)
- 30.5 Android 系统调用、Binder Driver 与 Linux Kernel Boundary(连接普通 syscall、Binder ioctl、ashmem/memfd、epoll、cgroup 和 Android 系统服务访问)
- 30.6 Apple 系统调用、Mach Trap 与 XNU Boundary(连接 BSD syscall、Mach trap、port right、XPC 底层消息和 XNU 对象边界)
- 30.7 System Call Boundary 对安全、性能和可观测性的影响(整理上下文切换、copy from/to user、参数验证、tracepoint 和错误码证据)
Chapter 31: Interrupt, DMA, Device Driver, Hardware Event
- 31.1 Interrupt 作为硬件事件进入 Kernel 的机制(说明触摸、网络包、音频 buffer、相机 frame 和充电状态如何通过中断进入内核)
- 31.2 Interrupt Handler、Bottom Half 与延迟处理(区分硬中断、软中断/tasklet/workqueue/threaded IRQ 和延迟处理责任)
- 31.3 DMA 与高速数据传输路径(连接设备 DMA、IOMMU、cache coherency、scatter-gather、buffer ownership 和 completion)
- 31.4 Device Driver 对硬件寄存器、Buffer、Queue 的控制(说明 driver 如何配置寄存器、提交队列、管理 ring buffer 并处理中断回报)
- 31.5 Touch、Camera、Audio、Network 的硬件事件路径(比较触摸事件、相机帧、音频周期和网络包从硬件到内核对象的路径)
- 31.6 Driver 与 System Service 之间的数据交接(连接 device node、ioctl、netlink、shared memory、HAL callback、daemon event 和 system service 状态)
- 31.7 硬件事件到 App 可见事件的跨层转换(把中断、驱动、服务、framework callback 和应用事件串成可复盘路径)
Chapter 32: Timer, Wakeup, Scheduling Latency, Power Sensitivity
- 32.1 Timer 与系统时间管理(整理 monotonic time、wall clock、timer wheel/hrtimer、alarm 和超时回调)
- 32.2 Wakeup Source 与设备唤醒路径(说明 alarm、network、touch、charger、sensor、modem 如何把设备从低功耗状态唤醒)
- 32.3 Scheduling Latency 与交互响应(连接 timer latency、run queue delay、interrupt load、CPU idle exit 和 frame/input deadline)
- 32.4 Tick、Idle State 与 CPU 省电状态(说明 tickless idle、C-state、power domain、scheduler tick 和唤醒成本)
- 32.5 Android WakeLock 与 Suspend Control(定位 wakelock/wakeup source、PowerManager、JobScheduler、alarm 和 suspend blocker 的协作)
- 32.6 Apple 平台的 Sleep / Wake 与电源状态管理(用公开概念说明 sleep/wake、power assertion、thermal state、background mode 和系统调度)
- 32.7 Timer、Wakeup、Power Policy 对后台任务的影响(把后台定时器、push、网络、定位和批处理放入唤醒预算与电源策略)
Chapter 33: Sleep, Wakeup, Thermal Control, Power State Management
- 33.1 Sleep State 与系统低功耗模式(说明 suspend、idle、doze-like state、screen-off state 和 power domain 关闭策略)
- 33.2 Wakeup Event、Wakeup Reason 与硬件唤醒源(定位 wakeup reason、alarm、modem、touch、charger、sensor 和 debug evidence)
- 33.3 CPU / GPU Frequency Scaling 与功耗控制(连接 DVFS governor、thermal governor、performance hint、frame workload 和能耗)
- 33.4 Thermal Sensor、Thermal Zone 与 Throttling(说明温度采样、热区、降频、功能降级、用户提示和系统保护策略)
- 33.5 Camera、Modem、Display、GPU 的功耗热点(比较视频录制、弱网 5G、游戏、高亮屏幕和持续定位的热/电路径)
- 33.6 Kernel Power Policy 与 Framework Power Policy 的分层(区分内核电源状态、设备驱动 runtime PM、系统服务策略和应用生命周期限制)
- 33.7 电源状态管理对用户体验、后台执行和系统稳定性的约束(把续航、发热、通知延迟、后台任务、帧率和系统稳定性放入同一取舍模型)
Chapter 34: Kernel Isolation, Access Control, Attack Surface
- 34.1 Kernel Boundary 作为最高权限边界(说明 kernel compromise 如何影响进程隔离、文件访问、设备控制和平台信任)
- 34.2 Process Isolation、Memory Protection 与地址空间隔离(连接 page permission、ASLR、user/kernel split、sandbox 和进程间隔离)
- 34.3 Device Access Control 与驱动攻击面(说明设备节点、ioctl、firmware parser、DMA、vendor driver 和外设输入的攻击面)
- 34.4 SELinux、Sandbox、Entitlement 与 Kernel Enforcement 的关系(比较 Android SELinux/capability 与 Apple sandbox/entitlement 在内核或系统服务边界的执行)
- 34.5 System Call Surface、Driver Surface 与 IPC Surface(把 syscall、Binder/XPC、Mach port、driver ioctl 和 network socket 作为入口面分析)
- 34.6 Kernel Exploit 对手机平台安全模型的破坏路径(说明提权、逃逸沙箱、访问敏感硬件、读取用户数据和持久化的风险链)
- 34.7 最小权限、攻击面收缩与平台安全设计(整理权限分层、驱动隔离、签名校验、服务拆分和可观测审计的防护思路)
Chapter 35: Android Linux Kernel and Apple XNU
- 35.1 Android Linux Kernel 的系统位置(定位 Android kernel 在 AOSP framework、HAL、vendor driver、system_server 和应用沙箱下方的职责)
- 35.2 Android Kernel、HAL、Binder Driver、SELinux、Power Management 的组合关系(连接 Binder driver、SELinux、cgroup、wakelock/power、HAL 和 vendor driver)
- 35.3 Apple XNU 的系统位置:Mach、BSD、IOKit(说明 XNU 如何把 Mach 内核抽象、BSD 子系统和 IOKit 设备模型组合起来)
- 35.4 Mach 负责的任务、线程、Port 与消息机制(整理 task、thread、port right、message passing 和 XPC 底层关联)
- 35.5 BSD Layer 负责的进程模型、文件系统、网络与 POSIX 接口(连接 process、file descriptor、socket、VFS、network stack 和用户态兼容接口)
- 35.6 IOKit / DriverKit 与 Apple 设备驱动边界(说明设备匹配、driver lifecycle、user-space driver trend 和受控硬件访问)
- 35.7 同样承担 Kernel 角色,不同平台控制策略(用资源所有权、驱动模型、IPC、安全策略和生态控制比较 Android 与 Apple)
Part 5: Driver Model, Hardware Abstraction, and Vendor Boundary
Chapter 36: Device Driver Role in Mobile Systems
- 36.1 Driver 作为硬件能力进入 OS 的第一层软件(定位 driver 如何把设备寄存器、firmware 协议和硬件状态转换成内核可管理对象)
- 36.2 Register、Interrupt、DMA、Buffer、Queue 的控制职责(拆解寄存器配置、中断处理、DMA 传输、buffer ownership 和硬件队列提交)
- 36.3 Kernel Driver 与 User-Space Driver 的边界(比较内核态驱动、用户态驱动、driver daemon、权限隔离和崩溃影响范围)
- 36.4 Character Device、Block Device、Network Device 与移动外设(把相机、触摸、音频、存储、网络和传感器映射到常见设备模型)
- 36.5 Driver 与 Kernel Resource Management 的关系(连接 driver probe、power management、memory mapping、IOMMU、lock 和引用计数)
- 36.6 Driver Fault 对系统稳定性和安全性的影响(说明驱动错误如何表现为 kernel panic、设备失联、数据损坏、权限绕过或用户可见故障)
- 36.7 Driver Layer 在 Android 与 Apple 架构中的位置(比较 Android kernel/vendor driver/HAL 与 Apple IOKit/DriverKit/daemon 的分层位置)
Chapter 37: Hardware Event Translation and Driver Interface
- 37.1 Hardware Event 到 Kernel Event 的转换路径(追踪硬件信号、中断、driver 状态更新、kernel event 和上层通知)
- 37.2 Interrupt Handling 与 Deferred Work(区分快速中断处理、线程化中断、workqueue、bottom half 和服务层回调时机)
- 37.3 Device State、Power State 与 Runtime PM(说明 active、idle、suspend、resume、runtime PM 和设备状态机如何影响事件可达性)
- 37.4 Driver Interface 暴露的控制面与数据面(区分 ioctl/config/control path 与 buffer/data/event path 的输入输出)
- 37.5 Touch、Camera、Audio、Sensor 的事件转换模型(比较触摸采样、相机 frame、音频周期、sensor batch 从硬件到 service 的转换)
- 37.6 Driver 到 System Service 的数据上行路径(连接 device node、HAL callback、shared buffer、daemon event、Binder/XPC 和 framework callback)
- 37.7 Driver Interface 对上层框架稳定性的影响(说明接口稳定性、错误码、能力枚举和 buffer contract 如何支撑 framework 兼容)
Chapter 38: Capability Interface Instead of Raw Device Access
- 38.1 Raw Device Access 的安全和稳定性问题(说明应用直接触达设备节点会扩大权限、并发、崩溃、兼容和隐私风险)
- 38.2 Capability Interface 的抽象层意义(把相机、位置、蓝牙、通知、音频等设备能力整理成可授权、可调度、可审计的接口)
- 38.3 Device-Specific Control 与 Platform-Level API 的分离(区分厂商私有控制、HAL/driver 能力和 framework 公开 API 承诺)
- 38.4 Permission、Policy、Power 对能力访问的统一控制(连接权限、AppOps/TCC、后台限制、功耗预算、温控和用户设置)
- 38.5 App 看到 Capability,System 持有 Device(用 camera session、location request、audio focus、network request 展示系统持有真实设备所有权)
- 38.6 Capability Interface Absorbs Multi-Vendor Hardware Differences(说明统一能力接口如何吸收 sensor、ISP、modem、display 和 OEM 差异)
- 38.7 从设备节点到系统能力的封装路径(串起 driver、HAL/daemon、system service、framework manager、permission 和 app callback)
Chapter 39: Android HAL and Vendor Boundary
- 39.1 HAL 作为 Android Framework 与厂商硬件之间的标准接口(定位 HAL 在 framework/system service 与 vendor driver/firmware 之间的能力契约)
- 39.2 Framework Layer、Vendor Layer、Kernel Driver 的分层关系(说明 framework、system service、HAL service、vendor implementation、kernel driver 的调用边界)
- 39.3 HIDL / AIDL HAL 的接口定义模型(整理接口文件、版本、method、parcelable、service instance 和稳定性要求)
- 39.4 VINTF、Manifest、Compatibility Matrix 与 Treble 边界(连接 device manifest、framework compatibility matrix、HAL version 和系统升级兼容)
- 39.5 HAL Service、Binderized HAL、Passthrough HAL 的演化(比较 HAL 进程形态、Binder 调用、进程隔离、性能成本和维护边界)
- 39.6 HAL 对系统更新、设备适配和厂商定制的影响(说明 HAL 如何让 system image 与 vendor image 分离并承载 OEM 硬件差异)
- 39.7 Android Vendor Boundary 的工程意义(把 Treble、vendor partition、CTS/VTS、OTA 和长期驱动维护放入同一边界模型)
Chapter 40: Camera HAL, Audio HAL, Sensors HAL, Bluetooth HAL, Graphics HAL
- 40.1 Camera HAL:Sensor、ISP、Buffer、Stream Configuration(连接 camera device、stream config、capture request、metadata、buffer 和 ISP 能力)
- 40.2 Audio HAL:Device Route、Mixer、Codec、Latency(说明 audio route、input/output stream、mixer、codec、focus 和低延迟路径)
- 40.3 Sensors HAL:Sensor List、Sampling Rate、Batching、Fusion Data(整理 sensor enumeration、采样率、batching、flush、fusion data 和低功耗常驻)
- 40.4 Bluetooth HAL:Controller、HCI、Profile、System Service Boundary(连接 controller、HCI、profile stack、permission 和 Bluetooth system service)
- 40.5 Graphics HAL:Buffer Allocation、Composer、Display Output(说明 gralloc、hardware composer、display config、overlay、fence 和 present)
- 40.6 不同 HAL 的共同接口模式和生命周期(比较 open/close、capability query、session/config、request/response、callback 和 error handling)
- 40.7 HAL 差异对手机体验的实际影响(把拍照画质、音频延迟、传感器稳定性、蓝牙连接和显示流畅度关联到 HAL 质量)
Chapter 41: Vendor Partition, Device Tree, Firmware, Board Support
- 41.1 Vendor Partition 作为设备适配边界(说明 vendor image 承载 HAL、vendor service、driver 配置、firmware 和机型差异)
- 41.2 Device Tree / Device Configuration 与硬件描述(连接设备树、board config、resource table、GPIO/IRQ/memory region 和 driver probe)
- 41.3 Firmware Blob、Baseband Firmware、Peripheral Firmware(定位 modem、Wi-Fi、camera、touch、sensor、secure processor firmware 的更新和信任边界)
- 41.4 Board Support Package 与 SoC / 机型适配(整理 BSP 如何把 SoC、板级电源、外设、驱动和厂商调参组合成设备支持包)
- 41.5 Vendor Manifest 与 Framework Compatibility Matrix(说明 manifest/matrix 如何声明 HAL 能力、版本和 framework 兼容要求)
- 41.6 OTA 更新中的 System / Vendor 分离(追踪 system 更新、vendor 保留、接口兼容、回滚和设备生命周期)
- 41.7 Vendor Layer 对 Android 碎片化和长期维护的影响(把 SoC 支持周期、OEM 修改、运营商要求、驱动维护和安全补丁放入碎片化来源)
Chapter 42: Apple IOKit, DriverKit, and Controlled Driver Access
- 42.1 IOKit 在 Apple 驱动体系中的位置(用公开模型说明 IOKit 如何管理设备匹配、service object、driver lifecycle 和 user client)
- 42.2 DriverKit 与 User-Space Driver Model(说明 DriverKit 把部分驱动移到用户态后的隔离、权限、崩溃恢复和发布路径)
- 42.3 Driver Extension、Entitlement 与受控驱动分发(连接 driver extension、entitlement、code signing、system extension 和用户批准)
- 42.4 Device Matching、Service Object、User Client 的基本模型(整理设备匹配、service registry、user client、method dispatch 和 client 权限)
- 42.5 Apple 平台对第三方驱动访问的限制(说明平台通过 entitlement、签名、分发渠道、设备类别和 API 范围控制驱动能力)
- 42.6 macOS / iPadOS 与 iOS 驱动开放程度差异(比较公开驱动扩展、受控外设能力、移动设备封闭性和开发者可见边界)
- 42.7 Controlled Driver Access 对平台稳定性和安全性的影响(把崩溃隔离、攻击面收缩、权限审计、更新一致性和用户体验放入受控驱动模型)
Chapter 43: Hardware Abstraction, Platform Update, Device Fragmentation
- 43.1 Hardware Abstraction 作为长期平台维护基础(说明稳定硬件抽象如何降低系统升级、应用兼容和安全补丁成本)
- 43.2 Android 的 Framework / Vendor 分离与 Project Treble(连接 system/vendor 分离、HAL 稳定性、VINTF、GSI 和设备适配)
- 43.3 Apple 的软硬件一体化与受控设备矩阵(说明硬件型号集中、驱动控制、系统发布节奏和平台一致性)
- 43.4 Driver ABI、HAL Interface 与系统升级兼容性(比较内核 ABI、HAL API、driver contract 和 framework expectation 的稳定性要求)
- 43.5 Device Fragmentation 的技术来源(整理 SoC 差异、driver 版本、HAL 能力、OEM policy、carrier 定制和更新周期)
- 43.6 OEM 定制、驱动维护和系统更新周期(说明 OEM 服务、相机调参、电源策略、安全补丁和版本升级如何受 vendor layer 影响)
- 43.7 硬件抽象层对平台生命周期的决定作用(把可升级性、可维护性、故障隔离、安全补丁和生态兼容合成生命周期判断)
Part 6: System Services and Capability Mediation
Chapter 44: System Service Model
- 44.1 System Service 作为系统能力承载单元(说明相机、音频、定位、窗口、电源、包管理等能力由服务持有状态和执行策略)
- 44.2 Framework API 与 Service Backend 的分离(区分 public API、manager class、IPC stub、service backend 和 driver/HAL access)
- 44.3 Service Process、Daemon、Manager、Controller 的角色划分(比较 system_server、native daemon、XPC service、framework manager 和内部 controller)
- 44.4 System Service 生命周期:启动、注册、查询、调用、恢复(追踪 service 启动、registry 注册、client 查询、调用处理、异常恢复和状态重建)
- 44.5 Service Registry 与系统能力发现机制(连接 ServiceManager、launchd/XPC、service name、handle/port 和 capability lookup)
- 44.6 App、Framework、Service、Driver 之间的调用边界(串起 app API、framework validation、IPC、service policy、HAL/driver 和结果返回)
- 44.7 System Service Model 对手机系统架构的中心意义(把权限、并发、资源所有权、故障隔离和平台兼容都放入服务模型)
Chapter 45: System Service as Hardware Proxy
- 45.1 Hardware Proxy 的架构角色(说明服务如何代表 App 访问真实硬件,同时维护权限、生命周期和资源状态)
- 45.2 Camera、Audio、Location、Sensor、Display 的服务代理模型(比较 CameraService、AudioFlinger、LocationManagerService、SensorService、Window/Display service 的代理职责)
- 45.3 Service 对硬件访问的封装、检查与调度(整理 permission check、client priority、session config、queue、timeout 和降级路径)
- 45.4 Service 与 HAL / Driver Framework 的连接关系(连接 HAL call、driver framework、shared buffer、callback、fence 和 error status)
- 45.5 App 侧请求与硬件侧操作的语义转换(把 startPreview、requestLocation、playAudio、setBrightness 转换成服务状态和硬件命令)
- 45.6 多 App 并发访问下的硬件代理策略(说明独占、共享、混音、聚合、优先级、抢占和资源释放)
- 45.7 Hardware Proxy as Security Stability and Compatibility Boundary(把设备差异、权限控制、故障隔离、统一 API 和用户体验一致性连接成代理边界)
Chapter 46: Resource Arbitration Camera, Audio, Location, Display, Sensor
- 46.1 Resource Arbitration 作为系统服务职责(说明服务如何决定谁能用资源、何时释放、如何共享以及失败时怎样恢复)
- 46.2 Exclusive Resource:Camera、Microphone、Audio Route(整理独占资源的 session owner、foreground priority、抢占和用户提示)
- 46.3 Shared Resource:Location、Sensor、Network、Display(说明共享资源如何通过订阅、batching、合并请求、缓存和策略限制服务多个客户端)
- 46.4 Foreground Priority 与用户可见任务优先级(连接前台应用、用户操作、通话/录音、相机预览、系统 UI 和后台请求优先级)
- 46.5 Resource Ownership、Client Tracking、Death Recipient(说明 token/session、client identity、callback、binder death/XPC invalidation 和资源清理)
- 46.6 Resource Preemption、Release、Timeout 与 Error Recovery(整理资源抢占、主动释放、超时释放、服务重启和 client 重新绑定)
- 46.7 资源仲裁对用户体验和系统稳定性的影响(把相机占用、音频焦点、定位延迟、显示刷新和传感器功耗关联到仲裁质量)
Chapter 47: Permission Enforcement in System Services
- 47.1 Permission Enforcement Point 的系统位置(定位 API 入口、IPC 边界、service method、daemon、kernel/driver 中的执行点)
- 47.2 Framework API 入口检查与 Service 内部检查(比较参数校验、快速权限判断、service 权威校验和调用者身份传递)
- 47.3 Caller Identity、UID、Process、Entitlement 的校验对象(整理 UID/PID、package/bundle identity、signature、entitlement、sandbox profile 和 token)
- 47.4 Camera、Microphone、Location、Photos、Bluetooth 的权限路径(用五类敏感能力串起用户授权、系统记录、运行时检查和失败返回)
- 47.5 Android Permission、AppOps、SELinux 与 Service Check(连接 manifest permission、runtime grant、AppOps mode、SELinux domain 和 service-side check)
- 47.6 Apple Entitlement、TCC、Sandbox 与 Daemon Check(连接 entitlement、TCC database、sandbox rule、daemon access check 和 framework error)
- 47.7 权限检查失败、降级访问与用户可见提示(说明拒绝、受限、临时授权、撤销、降级数据和用户提示如何返回到 App)
Chapter 48: Service State, Resource Ownership, Client Tracking
- 48.1 Service State 作为系统全局状态的一部分(说明服务保存资源占用、client 列表、策略结果、缓存数据和硬件状态)
- 48.2 Client Registration 与 Callback / Listener 模型(整理注册、监听、订阅、callback thread、event queue 和注销)
- 48.3 Resource Ownership 与使用者身份记录(连接 owner UID、session token、foreground state、permission state 和 priority)
- 48.4 Binder Death / XPC Connection Failure 与客户端失效处理(说明 client 进程消失后服务如何释放资源、清理 callback、恢复状态)
- 48.5 Session、Token、Handle 与资源访问上下文(比较 camera session、audio focus token、location listener、window token 和 network request)
- 48.6 Service State 恢复、重启与一致性维护(说明服务崩溃、system_server watchdog、daemon restart 和 client rebind 后的状态恢复)
- 48.7 状态管理对系统可靠性的影响(把资源泄漏、状态错乱、重复 callback、死连接和恢复延迟关联到可靠性)
Chapter 49: Android system_server, Native Services, Service Manager
- 49.1 system_server 作为 Android Java System Service 宿主(说明 system_server 如何承载 AMS、PMS、WMS、PowerManagerService 等核心服务)
- 49.2 ServiceManager 与 Android 服务注册 / 查询模型(连接 service name、Binder object、addService、getService/checkService 和 client handle)
- 49.3 Framework Manager Class 与 Binder Service Backend(把 Context.getSystemService、manager class、AIDL/stub/proxy 和 service implementation 串起来)
- 49.4 ActivityManager、PackageManager、WindowManager、PowerManager 的系统位置(定位进程/组件、包安装、窗口显示、电源策略四类核心服务)
- 49.5 Native Services:SurfaceFlinger、AudioFlinger、MediaService、CameraService、SensorService(说明 native service 如何靠近图形、音频、媒体、相机和传感器硬件路径)
- 49.6 System Service 与 HAL / Kernel Driver 的访问链路(追踪 service 到 HAL、vendor service、driver ioctl、device node 和 kernel state)
- 49.7 system_server 崩溃、Watchdog 与系统级故障影响(说明 watchdog、ANR、service deadlock、重启和用户可见系统异常)
Chapter 50: Apple Daemons, Framework Frontends, Service Backends
- 50.1 Framework Frontend 与系统服务后端的分离(说明公开 framework API 如何把请求转给私有 daemon、XPC service 或系统后端)
- 50.2 launchd 作为系统服务管理根节点(定位 launchd 对 daemon 启动、按需唤起、崩溃恢复和服务注册的管理)
- 50.3 XPC Service、Daemon、Agent 的服务形态(比较系统 daemon、用户 agent、XPC service、extension 和 app helper)
- 50.4 Framework API 到 XPC / Daemon 的调用路径(追踪 framework object、XPC connection、message、reply、error 和 entitlement check)
- 50.5 Entitlement、Sandbox 与 Service Access Control(连接 code signing entitlement、sandbox profile、TCC 和 daemon-side authorization)
- 50.6 Apple 系统服务的稳定性、权限和生命周期控制(整理服务隔离、按需启动、崩溃恢复、权限收束和用户会话边界)
- 50.7 封闭平台下的服务边界与开发者可见 API(说明开发者通过公开 API 和错误信号推断服务边界,私有服务细节保持受控)
Chapter 51: Service Isolation and Failure Containment
- 51.1 Service Isolation Limits Crash Permission Resource and Performance Blast Radius(说明服务拆分如何限制崩溃范围、权限范围、资源泄漏和性能干扰)
- 51.2 App Crash、Service Crash、Kernel Fault 的影响范围(比较应用崩溃、daemon/service 崩溃、system_server 异常和 kernel fault 的用户可见后果)
- 51.3 Privilege Separation 与最小权限服务设计(连接低权限 daemon、专用服务、IPC 边界、capability check 和敏感资源隔离)
- 51.4 Heavy Workload 与独立服务进程隔离(说明媒体编解码、相机处理、图形合成、网络任务和 AI 推理为何适合服务隔离)
- 51.5 Android Watchdog、Service Restart 与系统恢复路径(整理 watchdog 检测、native service 重启、system_server 重启和系统 UI 恢复)
- 51.6 Apple launchd / XPC 管理下的服务恢复模型(说明 launchd 按需启动、崩溃重启、XPC connection invalidation 和 client recovery)
- 51.7 Failure Containment 对手机系统可靠性的决定作用(把崩溃隔离、权限边界、状态恢复和用户体验连续性合成可靠性模型)
Part 7: Runtime Layer and Application Execution
Chapter 52: Runtime Responsibilities in Mobile Platforms
- 52.1 Runtime Layer 在系统架构中的位置(定位 runtime 位于 app code、framework API、native library、system service 和 kernel 之间)
- 52.2 App Code 到 Machine Code 的执行转换(比较解释执行、JIT、AOT、dynamic linking、symbol binding 和 native call)
- 52.3 Class Loading、Symbol Resolution 与动态链接(连接 class loader、dex/oat、Mach-O、dyld、framework loading 和 symbol lookup)
- 52.4 Memory Allocation、Object Model 与 Garbage Collection / ARC(说明对象分配、引用关系、GC/ARC、autorelease、heap growth 和内存压力)
- 52.5 Runtime 与 App Startup、Performance、Battery 的关系(把代码加载、编译、GC/ARC、动态链接和主线程初始化关联到启动耗时与能耗)
- 52.6 Runtime 与 Framework API 的连接方式(说明 runtime 如何承接 lifecycle callback、reflection/message dispatch、JNI/native bridge 和 framework object)
- 52.7 Android Runtime 与 Apple Runtime 的职责边界(比较 ART/DEX/Zygote/GC 与 dyld/Mach-O/Swift/Objective-C/ARC 的平台角色)
Chapter 53: Android Runtime DEX, ART, Class Loading, JIT, AOT, GC
- 53.1 DEX 作为 Android App 代码格式(说明 dex 文件、method table、constant pool、multi-dex 和 APK/AAB 打包关系)
- 53.2 ART 的执行模型:Interpreter、JIT、AOT(比较解释执行、JIT 编译、AOT/oat/vdex 和运行时 fallback)
- 53.3 Class Loading 与 Method Resolution(追踪 class loader、path、verification、method lookup、inline cache 和 reflection)
- 53.4 Profile-Guided Compilation 与热代码优化(说明 profile collection、dex2oat、baseline profile、hot method 和启动优化)
- 53.5 Garbage Collection 与移动内存压力(连接 heap size、allocation rate、GC pause、concurrent GC、LMKD 和 jank/OOM)
- 53.6 Runtime Profiling、Debugging 与性能观测(整理 perfetto、Android Studio profiler、method trace、heap dump 和 GC log)
- 53.7 ART 对启动速度、存储占用和电池的影响(把编译策略、profile、dex loading、GC 和 CPU 使用关联到移动资源成本)
Chapter 54: Zygote Preload, Fork Model, App Process Startup
- 54.1 Zygote 在 Android 启动链路中的位置(定位 Zygote 由 init 启动、准备 ART 环境并等待应用进程 fork 请求)
- 54.2 Preload Classes、Resources 与共享内存收益(说明预加载 class/resource 如何通过 copy-on-write 降低应用启动和内存成本)
- 54.3 Fork Model 与 App Process 创建(追踪 system_server 请求 Zygote fork、设置 UID/GID、SELinux domain、runtime flags 和进程入口)
- 54.4 Zygote 到 ActivityThread 的控制权转移(连接 fork 后进入 ActivityThread、绑定 application、创建 main looper 和启动组件)
- 54.5 App Startup 中的 Class Loading 与 Resource Loading(整理 dex/class loading、resource table、theme、layout inflation 和 native library loading)
- 54.6 Zygote 模型对冷启动、内存和安全的影响(把共享内存、进程隔离、预加载污染、fork 成本和启动性能放入同一模型)
- 54.7 Zygote、system_server、ART 的协作关系(说明 system_server 决策、Zygote 创建进程、ART 执行代码和 AMS 管理 lifecycle 的协作)
Chapter 55: Apple Runtime Mach-O, dyld, Swift Runtime, Objective-C Runtime
- 55.1 Mach-O 作为 Apple 平台可执行文件格式(说明 header、load command、segment、section、symbol 和 code signature 的作用)
- 55.2 dyld 与 Dynamic Linking(追踪 dyld 加载 main executable、shared cache、framework、rebase/bind 和 initializer)
- 55.3 Framework Loading 与 Symbol Binding(连接 system framework、private framework boundary、symbol lookup、lazy binding 和 launch cost)
- 55.4 Objective-C Runtime:Class、Selector、Message Dispatch(整理 class、isa、selector、method cache、message send 和 dynamic dispatch)
- 55.5 Swift Runtime:Metadata、Generics、Protocol Witness Table(说明 Swift metadata、generic specialization、protocol witness table 和 ABI 稳定性)
- 55.6 ARC、Reference Counting 与对象生命周期(连接 retain/release、autorelease pool、weak reference、cycle 和内存峰值)
- 55.7 Apple Runtime 与 Framework / System Service 的连接关系(说明 framework object、XPC call、delegate/callback、run loop 和 system daemon 的连接方式)
Chapter 56: Native Libraries, Frameworks, ABI Boundary
- 56.1 Native Library 在移动系统中的角色(说明 C/C++、Rust、系统库、媒体库、图形库和 vendor library 如何进入应用或服务)
- 56.2 ABI、Calling Convention 与 Binary Compatibility(整理 ABI、register convention、symbol name、structure layout、alignment 和版本兼容)
- 56.3 Android Native Library、JNI、NDK 与 System Library(连接 .so、JNI bridge、NDK API level、linker namespace 和 system/vendor library)
- 56.4 Apple Framework、Dynamic Library、System Framework(说明 framework bundle、dynamic library、dyld shared cache、module interface 和系统框架)
- 56.5 Public ABI、Private ABI 与平台兼容性(区分公开 ABI 承诺、私有接口边界、系统升级影响和应用兼容风险)
- 56.6 Native Code 对性能、内存和安全的影响(把 CPU 性能、内存分配、崩溃、越界、代码签名和 sandbox 放入 native 风险模型)
- 56.7 Framework Boundary 与 Runtime Boundary 的关系(说明 API 调用、binary loading、symbol binding、object lifecycle 和 service access 的交汇)
Chapter 57: Dynamic Linking, Shared Libraries, Framework Loading
- 57.1 Dynamic Linking 的系统职责(说明链接器如何加载依赖、解析符号、重定位地址、运行初始化并建立可执行代码路径)
- 57.2 Symbol Resolution、Relocation 与 Lazy Binding(整理 symbol table、relocation、PLT/GOT、lazy binding、Objective-C/Swift 元数据绑定)
- 57.3 Shared Library 对内存共享和启动性能的影响(连接共享代码页、copy-on-write、relocation 成本、page fault 和冷启动)
- 57.4 Android linker、System Libraries 与 App Native Libraries(说明 linker namespace、NDK stable API、vendor/system boundary 和 native library search path)
- 57.5 Apple dyld、dyld Shared Cache 与 Framework Loading(整理 shared cache、closure、rebase/bind、framework load 和 launch optimization)
- 57.6 Library Loading 与 Code Signing / Trust Check(连接签名校验、library validation、entitlement、sandbox 和动态加载限制)
- 57.7 Dynamic Linking 对启动链路和安全模型的影响(把加载时长、内存共享、私有 API 风险、代码注入防护和 crash 证据放入判断)
Chapter 58: Startup Cost, Memory Sharing, Launch Performance
- 58.1 App Launch 的 Runtime 成本构成(拆解进程创建、代码加载、资源加载、runtime 初始化、framework 初始化和首帧渲染)
- 58.2 Code Loading、Class Loading、Resource Loading(连接 dex/class、Mach-O/framework、asset/resource、native library 和数据库/配置读取)
- 58.3 Cold Start、Warm Start 与 Runtime Cache(比较无进程启动、已有进程恢复、缓存命中、Zygote 共享和 dyld cache)
- 58.4 Shared Code、Shared Data 与 Copy-on-Write(说明共享库代码页、Zygote preload、dyld shared cache、COW 破坏和内存峰值)
- 58.5 Compilation Strategy 对启动速度的影响(连接 JIT/AOT/profile-guided compilation、Swift/ObjC runtime metadata 和热点代码)
- 58.6 Runtime 初始化与 Main Thread 阻塞(定位 Application/Activity/Scene 初始化、class load、static initializer、layout inflation 和同步 I/O)
- 58.7 启动性能在 Android 与 Apple 平台上的系统差异(用 Zygote/ART 与 dyld/shared cache/ARC 比较两类启动成本模型)
Chapter 59: Runtime Design, Battery, Memory, Responsiveness
- 59.1 Runtime Design 与移动资源约束(把 CPU、内存、存储、启动时间、电量和温控放入 runtime 设计取舍)
- 59.2 GC / ARC 对响应性和内存峰值的影响(比较 GC pause/concurrent GC、retain/release、autorelease pool、cycle 和内存峰值)
- 59.3 JIT / AOT 对 CPU、存储和电池的影响(说明编译时机、profile、代码大小、CPU 峰值和后台优化任务)
- 59.4 Runtime Cache 与后台进程保留策略(连接 class cache、code cache、shared cache、cached process 和系统内存回收)
- 59.5 Runtime Profiling 与系统优化反馈(整理 baseline profile、method tracing、heap profiling、launch trace 和系统优化信号)
- 59.6 Runtime Failure:Crash、OOM、Deadlock、Startup Timeout(把崩溃、内存溢出、死锁、主线程阻塞和启动超时映射到 runtime 证据)
- 59.7 Runtime Layer 作为 App Experience 与 System Policy 的交汇点(说明 runtime 同时影响启动、流畅度、内存、后台保留和平台兼容)
Part 8: App Process Model and Lifecycle Policy
Chapter 60: App Process as a Managed System Entity
- 60.1 App Process 的系统实体属性(说明 App process 同时是调度对象、内存对象、安全主体、生命周期载体和服务客户端)
- 60.2 Process Identity、UID、Bundle / Package Identity(连接 UID、package name、bundle id、signature、entitlement、sandbox container 和 user profile)
- 60.3 App Process 与普通 Unix Process 的差异(比较普通进程模型与移动平台中的生命周期、权限、后台限制和系统服务依赖)
- 60.4 Framework、Runtime、System Service 对 App Process 的共同管理(说明 framework lifecycle、runtime state、AMS/launchd/daemon 和 kernel scheduler 的共同作用)
- 60.5 Process State 与资源配额(整理 foreground/background/suspended/cached、CPU、memory、network、location 和 power budget)
- 60.6 App Process 作为安全、调度、内存和生命周期策略的交汇点(把沙箱、权限、优先级、内存回收和用户可见状态放入同一进程模型)
- 60.7 用户可见 App 与底层 Process 的非一一对应关系(说明多进程组件、extension、service、WebView、isolated process 和系统宿主进程)
Chapter 61: Foreground, Background, Suspended, Cached, Killed
- 61.1 Process State 作为系统资源管理标签(说明进程状态如何驱动调度优先级、内存保留、网络权限和后台执行窗口)
- 61.2 Foreground State 与用户交互优先级(连接可见 UI、输入响应、音视频任务、frame deadline 和高优先级资源)
- 61.3 Background State 与受限执行(说明后台任务、服务、定位、网络、通知和系统调度入口的限制)
- 61.4 Suspended State 与内存保留但停止执行(整理暂停执行、保留地址空间、冻结线程、唤醒恢复和数据新鲜度)
- 61.5 Cached State 与快速恢复缓存(说明系统为何保留最近应用进程,以及缓存状态如何加速 resume)
- 61.6 Killed State 与进程回收(连接 memory pressure、user swipe、crash、system reclaim、jetsam/LMK 和重新启动)
- 61.7 State Transition 对内存、调度和用户体验的影响(把状态切换映射到启动延迟、数据恢复、通知送达和后台任务完成率)
Chapter 62: Lifecycle Policy and System Resource Management
- 62.1 Lifecycle Policy 作为系统资源治理机制(说明生命周期策略如何在用户体验、续航、内存和公平性之间分配资源)
- 62.2 CPU Time、Memory、Network、Location、Audio 的生命周期约束(比较不同资源在前台、后台、挂起和保活场景中的可用边界)
- 62.3 Foreground Priority 与用户可见任务保护(连接用户可见任务、音频/导航/通话、foreground service/background mode 和系统保护)
- 62.4 Background Work 与系统调度入口(整理 JobScheduler、WorkManager、BGTaskScheduler、push、alarm 和后台执行窗口)
- 62.5 Process Reclamation 与 Memory Pressure(说明系统如何按进程重要性、内存压力、最近使用和任务类型回收进程)
- 62.6 Lifecycle Event 与 App State Persistence(连接 onStop/onSaveInstanceState、scene/session、持久化存储和 crash/kill 恢复)
- 62.7 Lifecycle Policy 对 App 架构的反向约束(说明移动 App 需要把任务拆分、状态持久化、幂等重试和恢复路径作为默认设计)
Chapter 63: Android App Component Process Model
- 63.1 Android App Component 与 Process 的绑定关系(说明 activity、service、receiver、provider 如何绑定到默认或独立进程)
- 63.2 Activity Process 与用户可见界面(连接 activity lifecycle、task/back stack、window、input 和前台进程重要性)
- 63.3 Service Process 与后台任务语义(比较 started service、bound service、foreground service、job/work 和后台限制)
- 63.4 BroadcastReceiver 与短生命周期执行(说明 manifest/dynamic receiver、广播分发、执行窗口和后台限制)
- 63.5 ContentProvider 与跨进程数据访问(连接 provider 初始化、URI permission、Binder call、数据库/文件访问和进程启动副作用)
- 63.6 Process Importance Hierarchy 与 LMK / OOM 决策(整理 foreground、visible、service、cached 等重要性如何影响回收顺序)
- 63.7 Foreground Service、Bound Service 与进程优先级提升(说明通知、用户可见任务、绑定客户端和资源保护之间的关系)
- 63.8 Cached Process 与系统缓存策略(连接 LRU、内存压力、进程复用、热启动和后台保活边界)
Chapter 64: Apple App Lifecycle Process Model
- 64.1 Apple App Process 与 Bundle Identity(说明 bundle id、code signing、entitlement、container、keychain group 和 process identity)
- 64.2 Scene-Based Lifecycle 与 UI Session(连接 scene session、window scene、foreground/background transition 和多窗口状态)
- 64.3 Foreground Active / Inactive 状态(说明 active、inactive、interrupt、transition animation、event delivery 和 UI 响应)
- 64.4 Background Execution Window 与受限任务(整理短时后台窗口、background task、BGTaskScheduler、push 和系统批准任务)
- 64.5 Suspended App 与内存驻留(说明应用暂停执行、内存保留、恢复入口、timer/network 限制和状态新鲜度)
- 64.6 Termination、Jetsam 与系统内存回收(连接内存压力、优先级、终止、crash log/jetsam report 和下次恢复)
- 64.7 Background Modes 与系统批准的长期能力(比较 audio、location、VoIP/push、Bluetooth、external accessory 等后台能力)
- 64.8 Scene、Process、Framework State 的关系(把 scene state、process state、framework callback、system daemon 和 user activity 串成生命周期路径)
Chapter 65: Background Process Reclamation
- 65.1 Background Reclamation 的系统动机(说明回收后台进程如何释放内存、降低功耗、保护前台响应和控制热压力)
- 65.2 Memory Pressure 与进程回收优先级(连接内存水位、进程重要性、最近使用、任务类型和系统保护名单)
- 65.3 Android Cached Process 回收策略(整理 cached process、empty process、LMKD、oom_adj、foreground service 和进程恢复)
- 65.4 Apple Suspended App 与 Jetsam 回收路径(说明 suspended app、jetsam priority、memory pressure、termination reason 和恢复入口)
- 65.5 后台任务、音频、定位、网络与例外保留(比较长期音频、导航定位、蓝牙、下载上传、push 和系统批准例外)
- 65.6 Process Death 对用户状态和数据一致性的影响(把 UI state、navigation、pending mutation、local cache 和持久化事务放入恢复模型)
- 65.7 后台回收作为手机系统功耗与内存策略的一部分(连接电量、温度、内存、前台体验和后台公平性)
Chapter 66: Cold Start, Warm Start, Resume Path
- 66.1 Cold Start、Warm Start、Hot Resume 的系统差异(区分无进程创建、已有进程恢复、已有界面继续响应和各自成本)
- 66.2 Process Creation 与 Runtime Initialization(连接 fork/spawn、UID/sandbox、runtime init、main looper/run loop 和 application object)
- 66.3 Code Loading、Resource Loading、Framework Initialization(整理 dex/Mach-O、framework、resource、layout/storyboard、native library 和数据库初始化)
- 66.4 Cached Process 与 Resume Latency(说明缓存进程、保留内存、恢复 callback、数据刷新和用户感知延迟)
- 66.5 Android Zygote Fork 与启动路径(追踪 launcher/AMS、Zygote fork、ActivityThread、Application、Activity 和 first frame)
- 66.6 Apple dyld、Framework Loading 与 Resume Path(连接 process launch、dyld shared cache、framework init、UIApplication/scene 和 first draw)
- 66.7 启动路径对性能、内存和用户感知延迟的影响(把 TTI、first frame、main thread work、I/O、memory spike 和后台恢复放入启动评估)
Chapter 67: State Restoration Under Process Death
- 67.1 Process Death 与 App State 的分离(说明进程消失只代表执行容器被回收,用户任务状态需要独立保存)
- 67.2 UI State、Navigation State、Domain State、Persistent State(区分界面临时状态、导航栈、业务数据、草稿和持久化事实)
- 67.3 Android Saved State、ViewModel、Persistent Storage 的系统语义(连接 savedInstanceState、ViewModel、Room/DataStore/file、process death 和 configuration change)
- 67.4 Apple State Restoration、Scene Session、User Activity(说明 scene session、NSUserActivity、state restoration、persistent storage 和 deep link 恢复)
- 67.5 Crash、Kill、Reclaim、Update 后的状态恢复(比较崩溃、系统回收、用户强退、应用更新、设备重启后的恢复入口)
- 67.6 状态恢复与数据一致性边界(整理本地缓存、远端状态、未提交操作、幂等请求和冲突解决)
- 67.7 Process Death 作为移动 App 架构的默认假设(把持久化、可重入、可恢复、幂等和用户意图保留作为移动架构基础)
Part 9: IPC and System Service Access
Chapter 68: IPC as the Mobile OS Service Spine
- 68.1 IPC 在手机系统服务模型中的位置(定位 IPC 如何连接 App process、framework、system service、daemon、HAL 和 kernel driver)
- 68.2 App Process 与 System Service Process 的隔离(说明进程隔离如何保护服务状态、限制应用权限并通过 IPC 暴露受控入口)
- 68.3 Framework API 到 Remote Service 的调用转换(追踪 public API、manager object、proxy/stub、message/transaction 和 service method)
- 68.4 同进程调用与跨进程调用的语义差异(比较同步/异步、参数复制、异常返回、身份传递、线程调度和失败模式)
- 68.5 IPC 对权限检查、身份传递和资源仲裁的支撑(连接 UID/audit token、service-side check、resource owner、client tracking 和 callback)
- 68.6 IPC Failure:Dead Object、Timeout、Service Crash、Connection Loss(整理远程对象死亡、调用超时、服务崩溃、连接断开和客户端恢复路径)
- 68.7 IPC 作为 App、Framework、Service、HAL 之间的系统脊柱(把能力调用、状态同步、事件回调和错误返回都放入 IPC 路径)
Chapter 69: IPC Concepts Handle, Message, Transaction, Port, Object Reference
- 69.1 IPC Handle 与远程对象引用(说明 Binder handle、Mach port、XPC endpoint 如何代表远程服务能力)
- 69.2 Message、Transaction、Request、Reply 的基本模型(整理请求、回复、oneway/asynchronous message、错误码和回调的结构)
- 69.3 Serialization、Parcel、Mach Message 与数据封装(比较 Parcelable/Parcel、Mach message、XPC object、copy data 和 file descriptor/port 传递)
- 69.4 Synchronous Call 与 Asynchronous Call(说明同步调用、异步回调、线程阻塞、重入风险和响应性影响)
- 69.5 Remote Object Lifetime 与引用管理(连接 strong/weak reference、death recipient、port right、connection invalidation 和资源释放)
- 69.6 Caller Identity、Credential、Audit Token 与调用者身份(定位 UID/PID、SELinux context、audit token、entitlement 和 service 侧身份判断)
- 69.7 IPC 抽象对系统服务 API 设计的影响(把参数大小、调用频率、callback、错误模型和版本兼容放入 API 设计)
Chapter 70: Android Binder Service Access Path
- 70.1 Binder 在 Android 系统架构中的位置(定位 Binder driver、ServiceManager、system_server、native service 和 app client 的关系)
- 70.2 Framework Manager Class 到 Binder Proxy 的调用路径(追踪 Context.getSystemService、manager class、IInterface proxy、transact 和 service method)
- 70.3 Binder Proxy、Binder Stub 与 Remote Service Object(说明 proxy/stub 如何把本地方法调用转换成 Binder transaction)
- 70.4 ServiceManager 中的服务注册与服务发现(连接 addService、getService、service name、binder handle 和权限控制)
- 70.5 system_server 中的 Java System Service 访问路径(说明 AMS/PMS/WMS/PowerManagerService 等服务如何接收 framework Binder 调用)
- 70.6 Native Service 与 Binder IPC(整理 SurfaceFlinger、AudioFlinger、CameraService、MediaService 等 native service 的 Binder 入口)
- 70.7 Framework、System Service、HAL 之间的 Binder 化通信(连接 app Binder、system Binder、hwBinder/AIDL HAL 和 vendor service 边界)
Chapter 71: Binder Driver, Service Manager, AIDL, Parcelable
- 71.1 Binder Driver 作为 Kernel-Level IPC 中介(说明 Binder driver 如何管理进程间引用、transaction、线程唤醒和死亡通知)
- 71.2 Binder Transaction 与 Kernel Mediation(追踪用户态写入 transaction、内核排队、目标线程处理、reply 返回和错误状态)
- 71.3 ServiceManager / hwservicemanager / vndservicemanager 的服务命名空间(区分 framework service、HAL service、vendor service 的注册与发现范围)
- 71.4 AIDL 接口定义与 Stub / Proxy 代码生成(说明 AIDL method、type、version、stability、stub/proxy 和 compatibility)
- 71.5 Parcelable、Parcel 与跨进程数据封装(整理 primitive、binder object、file descriptor、large object、transaction size 和版本字段)
- 71.6 Binder Thread Pool、Blocking Call 与并发处理(连接 binder thread pool、nested call、deadlock、priority inversion 和 main thread block)
- 71.7 Binder IPC 的性能、安全和稳定性边界(把拷贝成本、transaction limit、身份传递、权限检查和 service death 放入判断)
Chapter 72: Apple Mach Port, XPC, launchd, System Daemon
- 72.1 Mach Port 作为 Apple IPC 的基础对象(说明 port right、send right、receive right 和内核消息队列的基础角色)
- 72.2 Mach Message、Send Right、Receive Right 与 Port Namespace(整理消息头、port right 传递、namespace、bootstrap port 和 reply port)
- 72.3 launchd 作为服务启动与 Mach Service 注册中心(连接 launchd、Mach service name、按需启动、daemon 生命周期和 client lookup)
- 72.4 XPC 作为高层 IPC 框架(说明 XPC object、dictionary/message、connection、handler、reply 和服务隔离)
- 72.5 Framework API 到 XPC Service / Daemon 的调用路径(追踪 public framework、XPC connection、daemon method、entitlement check 和 response)
- 72.6 NSXPCConnection、xpc_connection 与消息模型(比较 Objective-C/Swift 接口代理、C XPC API、异步消息和错误 handler)
- 72.7 Apple IPC 中的服务发现、连接生命周期与错误处理(整理连接建立、invalidation、interruption、daemon restart 和 client recovery)
Chapter 73: Caller Identity, Permission Check, Capability Boundary
- 73.1 Caller Identity 在 IPC 中的传递(说明调用方身份如何随 transaction/message 进入服务端并参与策略判断)
- 73.2 Android UID、PID、SELinux Context 与 Permission Check(连接 Binder.getCallingUid/Pid、SELinux domain、permission/AppOps 和 service check)
- 73.3 Apple Audit Token、Entitlement、Sandbox Profile 与 Service Check(连接 audit token、code signature、entitlement、sandbox 和 daemon-side authorization)
- 73.4 IPC Boundary 上的权限执行点(定位 framework quick check、service authoritative check、daemon check、kernel check 和 driver check)
- 73.5 Capability Token、Handle、Port Right 与访问能力(说明 token、Binder handle、Mach port right、session id 如何代表受控能力)
- 73.6 System Service 对客户端身份和资源状态的联合判断(把身份、前后台状态、权限、资源占用和系统策略合成服务决策)
- 73.7 身份伪造、权限绕过与 IPC 攻击面(整理 confused deputy、handle 泄漏、message spoofing、replay 和 service 暴露面)
Chapter 74: IPC Performance Copy, Shared Memory, Latency, Blocking
- 74.1 IPC Latency 与系统调用成本(拆解用户态/内核态切换、调度唤醒、队列等待、数据复制和服务处理时间)
- 74.2 Data Copy、Zero-Copy、Shared Memory 的取舍(比较小消息复制、文件描述符传递、ashmem/memfd、IOSurface/shared memory 和同步责任)
- 74.3 Binder Parcel Size、Transaction Limit 与大对象传输(说明 transaction size、large parcel 风险、FD/buffer 传递和分块策略)
- 74.4 Mach Message 与内核消息传递成本(整理 message copy、port right、out-of-line memory、reply port 和调度开销)
- 74.5 Blocking IPC 对 Main Thread 和系统响应性的影响(连接主线程阻塞、ANR、卡顿、run loop 卡住和服务端慢调用)
- 74.6 高频 IPC、服务拥塞与线程池耗尽(说明调用风暴、binder thread pool、daemon queue、backpressure 和超时)
- 74.7 IPC 性能对图形、输入、相机、音频路径的影响(把 frame deadline、input latency、camera request 和 audio buffer underrun 关联到 IPC 成本)
Chapter 75: Deep Path Location Request and Camera Request
- 75.1 Deep Path 分析方法:API、IPC、Service、Policy、Hardware Boundary(建立从应用调用到硬件边界的分层追踪表)
- 75.2 Android Location Request:Framework API、Binder、LocationManagerService、Provider(追踪 requestLocationUpdates、Binder、LocationManagerService、provider、permission 和回调)
- 75.3 Apple Location Request:Core Location、Daemon、Entitlement、Privacy Check(用公开模型追踪 Core Location API、location daemon、TCC/entitlement 和位置结果)
- 75.4 Android Camera Request:Camera2、Binder、CameraService、Camera HAL(串起 CameraManager、CameraDevice、Binder、CameraService、HAL stream 和 capture result)
- 75.5 Apple Camera Request:AVFoundation、XPC / Daemon、Permission、Hardware Pipeline(用公开模型串起 AVCaptureSession、权限、后台服务、buffer 和相机硬件 pipeline)
- 75.6 请求路径中的权限检查、资源仲裁和状态管理(比较位置与相机请求中的 identity、foreground state、resource owner、session 和 error)
- 75.7 从 IPC Trace 还原系统能力调用链(说明如何用日志、trace、错误码、service 状态和 callback 顺序复原能力路径)
Part 10: Security, Sandbox, Permission, Signature, Entitlement, and Trust
Chapter 76: Mobile Platform Security Model
- 76.1 手机平台安全模型的分层结构(把硬件信任根、启动校验、内核策略、系统服务授权、应用身份和用户授权串成一条能力访问链)
- 76.2 Hardware Trust、Boot Trust、Kernel Trust、App Trust(刻画信任从芯片密钥、bootloader、系统镜像、代码签名一路传递到应用运行态的过程)
- 76.3 App Isolation、Permission、Identity、Signature 的组合关系(梳理进程隔离负责资源边界、权限负责能力开关、身份负责主体归属、签名负责来源可信)
- 76.4 User Consent 与 System Enforcement 的分离(描述用户授权记录进入系统服务检查点,并由守护进程、内核策略和硬件状态共同执行)
- 76.5 Android 安全链路:UID、Sandbox、Permission、SELinux、Verified Boot(串起应用 UID、运行时权限、AppOps、SELinux domain、keystore、Verified Boot 在一次能力调用中的位置)
- 76.6 Apple 安全链路:Code Signing、Entitlement、Sandbox、Keychain、Secure Enclave(串起代码签名、entitlement、sandbox profile、TCC、Keychain、Secure Enclave 在一次能力调用中的位置)
- 76.7 Mobile Platform Trust 作为系统能力访问前提(判断一个 API 调用经过哪些身份、授权、隔离和硬件信任检查)
Chapter 77: Process Isolation, File Isolation, User Data Protection
- 77.1 Process Isolation 与 App 执行边界(用地址空间、进程凭据、系统调用权限和服务访问控制界定应用运行边界)
- 77.2 File Isolation 与 App Private Data(拆分可执行文件、配置、缓存、用户文档、媒体和共享文件的保护等级)
- 77.3 UID、Container、Sandbox Profile 与访问控制(把 Linux UID、目录 owner、container 路径、sandbox profile 映射到实际读写决策)
- 77.4 App-to-App Isolation 与受控共享通道(覆盖 URL scheme、intent、content provider、app group、document picker 等受控共享入口)
- 77.5 User Data Protection 与敏感数据生命周期(描述数据从创建、加密、备份、迁移、删除到设备丢失场景的保护要求)
- 77.6 Android App Sandbox 的 UID / Process 模型(定位 Android 中 appId、uid、zygote fork、data directory、SELinux domain 的协作关系)
- 77.7 Apple App Sandbox 与 Container-Based Isolation(定位 iOS 中 bundle container、data protection class、sandbox extension、app group 的协作关系)
Chapter 78: Camera, Microphone, Location, Photos, Bluetooth, Notification Permission
- 78.1 隐私敏感能力的权限分类(按传感器、身份、环境、媒体、注意力等风险维度归类平台能力)
- 78.2 Camera / Microphone 权限与硬件占用状态(覆盖授权状态、前后台限制、硬件占用、隐私指示器、独占冲突和录制管线)
- 78.3 Location 权限、精度、后台访问与功耗策略(拆解前台、后台、精确、模糊、单次、持续定位与功耗策略)
- 78.4 Photos / Media Library 权限与用户数据边界(比较完整库、有限选择、单项 picker、元数据读取和写入权限的边界)
- 78.5 Bluetooth / Nearby Device 权限与环境感知风险(说明扫描周边设备、推断位置、连接配件、广播标识带来的隐私与安全风险)
- 78.6 Notification Permission 与用户注意力控制(把通知授权、渠道、类别、静默推送、前台展示和用户注意力预算串起来)
- 78.7 Permission Prompt、Runtime Grant 与 Service Enforcement(跟踪 prompt 展示、grant 记录、service 检查、状态撤销和错误返回的完整闭环)
Chapter 79: Code Signing and App Identity
- 79.1 Code Signing 作为 App Identity 基础(把可执行代码、发布者、包名、Bundle ID 和系统身份绑定成可验证主体)
- 79.2 Certificate、Developer Identity、Team ID、Package / Bundle ID(刻画证书链、开发团队、应用标识、profile 与安装来源的关系)
- 79.3 Signature Verification 与安装期信任判断(拆解安装器如何校验签名、证书、版本、权限声明和系统策略)
- 79.4 App Update、Signature Continuity 与身份延续(说明升级时签名连续性如何保护数据目录、UID、Keychain/Keystore 权限和用户授权)
- 79.5 Android APK Signing、Package Identity 与 UID 绑定(连接 APK Signing Scheme、package name、shared UID 历史遗留、permission grant 和 uid 分配)
- 79.6 Apple Code Signing、Provisioning Profile 与 Entitlement 绑定(连接 certificate、Team ID、provisioning profile、entitlement plist、bundle identifier 和系统授权)
- 79.7 Code Signing 对 Sandbox、Permission、Distribution 的支撑(判断分发、安装、沙箱和权限失败时应检查哪一层身份链)
Chapter 80: Android UID, Permission, SELinux, Keystore, Verified Boot
- 80.1 UID-Based Sandbox 与 Linux DAC(用 Linux UID、GID、文件 owner、capability 与进程凭据解释应用默认隔离)
- 80.2 Android Permission Model 与 Framework Service Check(定位 framework service 中 enforceCallingPermission、AppOps、caller uid 和异常返回)
- 80.3 AppOps 与运行时权限状态(覆盖授权模式、历史访问记录、后台限制、策略降级和用户撤销)
- 80.4 SELinux Domain、Type Enforcement 与 MAC 边界(拆解 domain、type、allow rule、neverallow、audit log 与 vendor policy 边界)
- 80.5 Keystore、Hardware-Backed Key 与密钥保护(说明密钥生成、硬件绑定、认证门控、KeyMint/TEE、rollback resistance 的作用)
- 80.6 Verified Boot、dm-verity 与系统完整性(串起 boot chain、vbmeta、dm-verity、system/vendor partition、rollback index 和完整性检查)
- 80.7 Android 安全模型的多层防线(把 DAC、MAC、permission、verified boot、keystore 放入同一次攻击面分析)
Chapter 81: Apple Code Signing, Entitlement, Sandbox, Keychain, Secure Enclave
- 81.1 Code Signing 与 Apple 平台信任入口(从 Mach-O 签名、code directory、team identity 到运行时校验构建信任入口)
- 81.2 Entitlement 作为受控能力声明(把受控能力声明、profile 授权、系统服务检查和 App Store 分发策略关联起来)
- 81.3 App Sandbox 与资源访问边界(覆盖 sandbox profile、container、extension、temporary exception 和 file access decision)
- 81.4 TCC、Privacy Prompt 与用户授权数据库(拆解相机、麦克风、定位、相册、通讯录等授权记录的存储与检查路径)
- 81.5 Keychain 与 App / App Group 级密钥访问(说明 access group、keychain item class、data protection、iCloud Keychain 同步边界)
- 81.6 Secure Enclave 与硬件隔离安全域(覆盖密钥隔离、生物认证、passcode、Keybag、Secure Enclave processor 的分工)
- 81.7 Apple 安全模型中的软硬件一体化控制(把签名、授权、沙箱、隐私数据库、硬件安全域串成平台闭环)
Chapter 82: App Store, Certificate, Installation Policy, Platform Trust
- 82.1 App Distribution 作为安全模型的一部分(展示应用分发如何承担恶意代码拦截、身份核验、更新约束和用户信任传递)
- 82.2 Certificate Chain 与开发者身份验证(拆解 root CA、中间证书、开发者证书、吊销、过期和签名验证)
- 82.3 Installation Policy 与系统准入控制(说明安装器如何处理版本、签名、来源、权限声明、profile 和设备策略)
- 82.4 App Store Review、Notarization、Sideloading 的平台差异(对比 App Store 审核、macOS notarization、Android sideloading 在准入路径上的差异)
- 82.5 Enterprise Distribution、TestFlight、Developer Mode 的信任边界(覆盖企业证书、测试渠道、开发者模式、MDM 和内部应用的风险边界)
- 82.6 Android Play Protect、Unknown Sources 与安装来源策略(连接 Play Protect 扫描、未知来源开关、安装器身份、警告界面和用户决策)
- 82.7 Platform Trust 从启动链延伸到应用分发链(把启动完整性、系统分区可信、应用签名和分发渠道放入同一信任链)
Chapter 83: Over-Permission, Background Abuse, Data Leakage
- 83.1 Over-Permission 与最小权限原则失效(识别声明权限、运行时授权、真实调用、数据收集之间的过度扩大)
- 83.2 Background Abuse:定位、音频、网络、唤醒与通知滥用(覆盖后台定位、后台录音、网络保活、alarm/wakelock、通知打扰和前台服务滥用)
- 83.3 Data Leakage:文件、剪贴板、日志、相册、联系人(梳理文件共享、剪贴板、日志、相册元数据、联系人导出和 crash report 泄漏路径)
- 83.4 Confused Deputy 与 System Service 代理风险(分析服务代替调用方执行敏感操作时的身份混淆、授权遗漏和参数注入)
- 83.5 IPC Boundary 与权限绕过路径(定位 binder、xpc、content provider、document provider 中 caller identity 与 permission check 的错位)
- 83.6 权限撤销、降级访问与系统补救策略(覆盖权限撤销、一次性授权、精度降级、后台限制、数据访问审计和系统提示)
- 83.7 安全模型对 App 架构和平台生态的反向约束(把安全边界转化为应用架构设计、产品授权文案和平台治理规则)
Part 11: File System, App Container, Storage, and User Data
Chapter 84: Mobile File System Model
- 84.1 手机文件系统作为安全边界(把路径解析、目录权限、沙箱扩展、文件描述符、备份策略纳入同一个访问控制面)
- 84.2 App 私有数据、用户数据、系统数据的分层(划分运行状态、配置、缓存、用户主动创建内容、媒体库、系统数据库和临时文件)
- 84.3 File Path、URI、Bookmark、Handle 的访问语义(比较路径字符串、content URI、file descriptor、bookmark、security-scoped URL 在授权来源和生命周期上的差异)
- 84.4 文件访问中的 Permission、Sandbox、Identity(说明 caller identity、provider grant、sandbox extension、entitlement、uid 如何进入文件访问决策)
- 84.5 本地存储、云同步、备份与系统策略(把离线读写、云端同步、备份恢复、设备迁移和删除语义纳入数据设计)
- 84.6 Android 与 Apple 文件模型的共同约束(提炼私有目录、共享媒体、用户选择、同步备份、系统 picker 的共同模式)
- 84.7 手机文件系统与桌面文件系统的结构差异(展示移动平台以应用身份、用户授权和数据保护组织文件访问的结构特点)
Chapter 85: App Container and Private Storage
- 85.1 App Container 作为默认存储边界(定位代码、数据库、偏好设置、缓存、日志、下载中间态在容器内的常见位置)
- 85.2 Private Storage 与 App Identity 的绑定(连接 UID、package name、Bundle ID、Team ID、container path 和系统安装记录)
- 85.3 Data Directory、Cache Directory、Temporary Directory(区分持久目录、可清理缓存、会话临时文件在清理、备份、迁移中的策略)
- 85.4 文件生命周期:持久数据、缓存数据、临时数据(建立数据保留、重建、淘汰、加密、备份和用户删除的判断表)
- 85.5 App 卸载、更新、重装与容器数据处理(说明安装器如何处理容器删除、数据迁移、签名连续性、版本升级和恢复场景)
- 85.6 Android App-Specific Storage 与 UID 隔离(覆盖 internal storage、external app-specific directory、noBackup、cache 和 scoped storage 边界)
- 85.7 Apple App Container 与 Sandbox 路径模型(覆盖 Documents、Library、Caches、tmp、Application Support、App Group container 的路径语义)
Chapter 86: Shared Storage, Media Library, Photos, Documents, User Consent
- 86.1 Shared Storage 的系统风险(把共享命名空间、媒体索引、元数据泄漏、批量扫描和跨应用可见性放入风险模型)
- 86.2 Media Library 与用户可见数据集合(说明照片、视频、音频、下载、文档如何由系统索引、展示、授权和同步)
- 86.3 Photos、Videos、Audio、Downloads、Documents 的访问边界(拆分读取、写入、追加、选择、导出、删除和元数据访问的权限语义)
- 86.4 User Consent 与文件选择器模型(刻画 picker 如何把一次用户选择转化为可传递、可持久化或可撤销的访问权)
- 86.5 Scoped Access 与最小暴露原则(用单项授权、集合授权、目录授权、只读授权、写入授权控制数据暴露范围)
- 86.6 Android MediaStore / SAF 与共享数据访问(连接 MediaStore collection、ContentResolver、SAF document tree、persistable URI permission 和 provider)
- 86.7 Apple Photos、Files App、Document Picker 与安全访问(连接 Photos limited library、PHPicker、UIDocumentPicker、security-scoped resource 和 sandbox extension)
Chapter 87: Android Storage Access Model
- 87.1 Android Internal Storage 与 App-Specific Directory(说明 data/data、data/user、external app-specific directory 在 UID、备份和清理上的行为)
- 87.2 External Storage Compatibility Boundary(梳理 legacy external storage、target SDK、兼容开关和系统升级带来的访问边界变化)
- 87.3 Scoped Storage 的访问收缩(讲清媒体集合、Downloads、应用专属目录、MANAGE_EXTERNAL_STORAGE 在设计上的分工)
- 87.4 MediaStore 作为媒体数据访问入口(覆盖 collection、relative path、pending flag、metadata、thumbnail、batch operation 和权限检查)
- 87.5 Storage Access Framework 与用户选择文件模型(拆解 ACTION_OPEN_DOCUMENT、ACTION_CREATE_DOCUMENT、ACTION_OPEN_DOCUMENT_TREE 的授权语义)
- 87.6 Content URI、Document Provider 与权限授予(说明 URI grant、takePersistableUriPermission、provider 权限、file descriptor 传递和跨进程访问)
- 87.7 Android 存储模型对文件管理类 App 的约束(把扫描全盘、导入导出、同步盘、压缩解压、媒体管理等产品需求映射到合规访问路径)
Chapter 88: Apple Storage Access Model
- 88.1 Apple App Container 与 Sandbox Storage(定位 bundle container、data container、group container、system container 在访问控制中的角色)
- 88.2 Documents、Library、Caches、tmp 的目录语义(说明用户可见文档、内部支持文件、缓存、临时文件在备份和清理上的策略)
- 88.3 Files App 与 Document-Based App 模型(讲清 document browser、open-in-place、file coordination、ubiquity 和用户文档管理)
- 88.4 iCloud Documents 与 ubiquity container(覆盖 ubiquity container、metadata query、冲突解决、离线副本和同步状态)
- 88.5 Security-Scoped URL 与容器外文件访问(说明 startAccessingSecurityScopedResource 如何把用户选择转成临时 sandbox extension)
- 88.6 Security-Scoped Bookmark 与持久授权(拆解 bookmark 创建、保存、解析、stale 状态、权限恢复和用户撤销)
- 88.7 Apple 文件访问模型中的用户选择和 Entitlement 边界(把 document picker、Photos picker、app group、iCloud entitlement、File Provider 组合成访问矩阵)
Chapter 89: SQLite, Preferences, Key-Value Storage, Local Database
- 89.1 本地结构化数据的系统位置(把偏好设置、索引、业务对象、离线缓存、同步状态和密钥材料分层存放)
- 89.2 Preferences / UserDefaults 与轻量配置数据(界定少量键值配置、用户选项、feature flag、迁移标记的适用范围)
- 89.3 SQLite 作为移动端本地数据库基础(覆盖 page、table、index、transaction、lock、fsync 和崩溃恢复的核心机制)
- 89.4 Room、Core Data、SwiftData 与上层封装(比较 ORM、object graph、migration、faulting、query builder 与底层数据库文件的关系)
- 89.5 Database File、Journal、WAL 与数据一致性(说明 rollback journal、WAL、checkpoint、crash recovery 和并发读写的取舍)
- 89.6 加密数据库、Keychain / Keystore 与密钥边界(把数据文件加密、密钥派生、硬件密钥、用户认证和备份策略关联起来)
- 89.7 本地数据库与备份、同步、迁移的关系(讲清 schema migration、cloud sync conflict、restore、cache rebuild 和隐私删除)
Chapter 90: Backup, Restore, Cloud Sync, Data Migration
- 90.1 Backup 作为平台数据连续性机制(说明备份如何保护设备丢失、换机、系统升级、应用重装后的数据连续性)
- 90.2 Restore 与设备迁移场景(覆盖同机恢复、跨机迁移、跨版本恢复、跨账号限制和部分数据缺失)
- 90.3 App Data、User Data、Cache Data 的备份策略差异(划分必须保留、可云同步、可重建、应排除、需加密的典型数据类别)
- 90.4 Android Auto Backup、Cloud Backup 与排除规则(讲清 backup rules、device-to-device transfer、key-value backup、noBackupDir 和加密条件)
- 90.5 Apple iCloud Backup、iCloud Drive 与 App Data 同步(区分整机备份、文档同步、CloudKit 同步、Keychain 同步和 app group 数据)
- 90.6 数据迁移、Schema Migration 与版本兼容(建立版本号、迁移脚本、回滚策略、兼容读写和灰度升级的设计检查表)
- 90.7 备份系统中的隐私、加密和用户控制(把端到端加密、设备密钥、用户删除、账号退出、合规导出放入备份边界)
Chapter 91: File Access as Security Boundary
- 91.1 文件访问作为权限系统的一部分(把每次 open、read、write、share、backup 都看作身份、路径和授权状态的联合检查)
- 91.2 Path Traversal、Symlink、File Descriptor 泄漏风险(分析路径拼接、符号链接、临时文件、fd 继承、provider 返回 fd 带来的攻击路径)
- 91.3 Shared File、Temporary File、Cache File 的安全边界(明确共享文件、临时导出、缓存副本、下载中间文件的 owner 和清理责任)
- 91.4 App Group、Shared Container 与跨 App 数据共享(说明同一开发者多应用、extension、widget、service 之间共享数据的授权前提)
- 91.5 Content Provider、Document Provider、File Coordination(连接 provider 权限、URI grant、并发写入、文档锁、版本冲突和回调通知)
- 91.6 Security-Scoped Access 与受控授权(说明一次选择、临时访问、持久 bookmark、权限恢复和访问结束的生命周期)
- 91.7 文件系统边界对移动平台安全模型的支撑(把存储边界连接到沙箱、权限、签名、备份、隐私和应用架构决策)
Part 12: Graphics and Display Pipeline
Chapter 92: App Drawing to Screen Pixel Pipeline
- 92.1 App 绘制命令与系统显示链路(从 UI invalidation、layout、draw command、GPU command、buffer queue、display present 串起完整链路)
- 92.2 UI Framework、Render Thread、GPU Command 的分工(定位主线程、render thread、render server、GPU driver、compositor 在一帧中的责任)
- 92.3 Frame 作为显示系统的基本输出单位(定义一帧包含输入采样、状态更新、绘制提交、合成和扫描输出)
- 92.4 Draw、Layout、Raster、Composite、Present 的阶段划分(拆解 measure、layout、draw、raster、compose、present 的时间预算和依赖关系)
- 92.5 App Process 到 Display System 的跨进程边界(说明 surface、buffer、IPC、fence、transaction 如何跨进程传递图形状态)
- 92.6 Android 与 Apple 显示链路的共同结构(提炼 view/layer tree、buffer queue、compositor、display server、hardware composer/display controller 的共同结构)
- 92.7 从 App Drawing 到 Screen Pixel 的完整路径(从卡顿现象回溯到主线程、GPU、合成器或显示硬件阶段)
Chapter 93: View Tree, Layer Tree, Surface, Buffer, Frame
- 93.1 View Tree 与 UI 结构表达(说明控件层级如何承载布局、事件命中、无障碍、状态更新和绘制入口)
- 93.2 Layer Tree 与合成对象(讲清 layer 如何保存 transform、opacity、clip、shadow、animation 和离屏渲染状态)
- 93.3 Surface 作为图形内容提交边界(把 window、surface、layer、transaction、z-order 与跨进程提交关系对应起来)
- 93.4 Buffer 作为跨进程图形数据载体(覆盖 pixel format、stride、usage flag、shared memory、GPU handle 和 fence)
- 93.5 Frame Lifecycle:Acquire、Render、Queue、Compose、Present(拆解 buffer 获取、渲染、入队、合成、显示、释放的生命周期)
- 93.6 Producer / Consumer 图形数据模型(把 app、camera、video decoder、compositor、display controller 统一成生产者和消费者)
- 93.7 View、Layer、Surface、Buffer、Frame 的层级关系(建立从 UI 对象到最终像素的对象映射表)
Chapter 94: GPU Rendering, Composition, VSync, Buffering, Frame Deadline
- 94.1 GPU Rendering 与系统合成的职责分离(区分应用内容渲染、系统层合成、视频 overlay、显示控制器扫描输出的责任)
- 94.2 Composition:多个 Layer 到最终屏幕图像(覆盖 alpha、transform、clip、color space、HDR、rounded corner、system UI layer 的合成条件)
- 94.3 VSync 作为显示节奏源(说明硬件刷新信号如何驱动输入采样、动画 tick、buffer latch 和 present)
- 94.4 Double Buffering、Triple Buffering 与延迟取舍(比较吞吐、等待、排队、latency、memory cost 在多缓冲策略中的变化)
- 94.5 Frame Deadline 与一帧时间预算(把 16.6ms、11.1ms、8.3ms 帧预算拆给 UI、render、GPU、compose、present 阶段)
- 94.6 CPU、GPU、Display Controller 的流水线并行(说明 CPU 准备命令、GPU 执行、display controller 扫描输出如何通过 fence 协调)
- 94.7 Buffering Strategy 对流畅度和功耗的影响(连接 buffer 数量、queue depth、refresh rate、GPU 负载、display idle 和电池消耗)
Chapter 95: Android Graphics Pipeline
- 95.1 Android View Hierarchy 与 UI 渲染入口(定位 invalidate、measure、layout、draw、Choreographer、ViewRootImpl 在一帧中的顺序)
- 95.2 RenderThread 与主线程解耦(说明 display list、RenderNode、同步屏障、主线程提交和渲染线程执行的关系)
- 95.3 Skia、Canvas、OpenGL ES / Vulkan 的渲染角色(讲清 2D 绘制命令如何进入 Skia backend、GPU command buffer 和驱动)
- 95.4 Surface、BufferQueue 与跨进程图形数据传递(覆盖 dequeueBuffer、queueBuffer、acquire fence、release fence、GraphicBuffer 和 producer/consumer)
- 95.5 SurfaceFlinger 作为系统合成服务(说明 layer transaction、buffer latch、composition decision、present fence 和 frame timeline)
- 95.6 Hardware Composer HAL 与显示硬件合成(拆解 HWC validate、present、overlay plane、client composition、display capability 的协作)
- 95.7 GPU Composition、Overlay Plane、Display Controller 的任务分配(说明 UI、视频、相机预览、系统栏如何在 GPU 与硬件 plane 间分配)
- 95.8 Android Frame Path:View → RenderThread → Surface → SurfaceFlinger → HWC → Display(把 Systrace、Perfetto、dumpsys SurfaceFlinger 中的节点映射到真实帧路径)
Chapter 96: Apple Graphics View, Layer, Core Animation, Metal, WindowServer, Display
- 96.1 Apple View / Layer 模型与显示对象(说明 UIView、NSView、SwiftUI view、CALayer 在状态、布局和显示提交中的分工)
- 96.2 CALayer 与 Core Animation Layer Tree(覆盖 layer property、implicit animation、transaction、backing store、contents scale 和 geometry)
- 96.3 Core Animation 作为动画与合成中间层(讲清 app 提交 layer tree 后,render server 如何接管动画插值和合成调度)
- 96.4 Metal Render Pipeline 与 GPU Command Submission(连接 command queue、command buffer、render pass、drawable、present 和 GPU timeline)
- 96.5 WindowServer / Display Server 与系统合成路径(说明窗口层级、系统 UI、display transaction、buffer 管理和最终输出)
- 96.6 Core Animation、Metal、UIKit / AppKit / SwiftUI 的分层关系(把声明式 UI、传统 view、layer tree、GPU rendering、display server 放入同一栈)
- 96.7 Apple Frame Path:View → Layer → Core Animation → Metal / Display Server → Display(从 Instruments 的 frame timeline 回到每个系统阶段)
Chapter 97: Jank, Main Thread, Render Thread, GPU, Missed Frame
- 97.1 Jank 作为 Frame Deadline 失败结果(把掉帧定义为某一帧错过 latch、compose 或 present deadline 的结果)
- 97.2 Main Thread 阻塞与输入响应延迟(定位长任务、锁等待、I/O、GC、同步 IPC、layout storm 对输入和动画的影响)
- 97.3 Layout / Measure / Draw 成本与 UI 线程压力(拆解层级深度、约束求解、文本排版、图片解码、无效区域扩大带来的成本)
- 97.4 Render Thread / Render Server 拥塞(说明 display list 同步、render command、动画提交、合成事务堆积的表现)
- 97.5 GPU Overload、Shader Cost、Fill Rate 与 Bandwidth(覆盖 overdraw、复杂 shader、大纹理、模糊阴影、带宽瓶颈和热降频)
- 97.6 Buffer Queue 堆积与 Present 延迟(用 queue depth、fence wait、producer stall、consumer delay 判断延迟来源)
- 97.7 Missed Frame 的跨层定位方法(把 trace marker、frame timeline、GPU counter、log、on-screen metric 合成诊断步骤)
Chapter 98: High Refresh Rate, Display Power, Smoothness
- 98.1 Refresh Rate 与用户感知流畅度(说明刷新率、帧间隔稳定性、触控反馈和动画速度对体感流畅的共同影响)
- 98.2 60Hz、90Hz、120Hz 与 Frame Budget(把 16.6ms、11.1ms、8.3ms 转化为 UI、render、GPU、compose 的预算压力)
- 98.3 Adaptive Refresh Rate 与显示功耗控制(拆解 LTPO、动态刷新率、内容帧率、系统策略和 display idle 的协作)
- 98.4 Touch Sampling Rate 与 Display Refresh Rate 的关系(连接触摸采样、事件分发、预测、动画更新和显示刷新之间的延迟链)
- 98.5 Animation Smoothness 与 Frame Pacing(说明稳定 pacing、时间插值、deadline 对齐、可变刷新率适配和掉帧隐藏)
- 98.6 高刷新率下的 CPU / GPU / Display Power 压力(分析刷新率提高后调度频率、GPU 带宽、内存访问、显示面板功耗的变化)
- 98.7 Smoothness 作为性能、功耗和调度的综合结果(把主线程负载、渲染成本、合成策略、刷新策略、热管理整合成体验指标)
Chapter 99: GPU Composition, Overlay Plane, Display System Policy
- 99.1 GPU Composition 与 Hardware Composition 的职责边界(说明哪些 layer 交给 GPU 合成,哪些 layer 可由显示硬件直接扫描)
- 99.2 Overlay Plane、Cursor Plane、Video Plane 与硬件合成能力(覆盖 plane 数量、格式支持、缩放、旋转、色彩空间和带宽限制)
- 99.3 Layer Format、Alpha、Transform、Color Space 对合成路径的影响(分析透明度、圆角、裁剪、HDR、wide color、rotation 如何改变合成决策)
- 99.4 Video Playback、Camera Preview、UI Layer 的合成策略(把视频解码输出、相机 buffer、UI overlay、字幕、系统栏放入合成案例)
- 99.5 Display Policy:Brightness、Color、HDR、Rotation、Cutout(说明亮度、色彩管理、HDR tone mapping、方向切换、挖孔刘海如何进入显示策略)
- 99.6 Composition Decision 对功耗和延迟的影响(比较 GPU 合成、硬件 overlay、client composition 在带宽、发热、延迟上的成本)
- 99.7 Display System Policy 作为图形子系统的最终调度层(把图形体验判断连接到显示硬件能力、系统策略和应用层绘制方式)
Part 13: Input System and Event Dispatch
Chapter 100: Touch Hardware to App Event Pipeline
- 100.1 Touch Controller 与触摸采样入口(说明触控控制器如何采样坐标、压力、接触面积、多点序列和时间戳)
- 100.2 Kernel Input Driver 与硬件事件上报(把中断、轮询、firmware 数据、driver 标准化和系统输入事件关联起来)
- 100.3 Raw Event 到 System Event 的转换(覆盖坐标归一化、屏幕方向、设备映射、手掌抑制、事件类型转换)
- 100.4 Input Queue 与事件缓冲(说明事件排序、批量合并、时间戳保留、队列积压和丢弃策略)
- 100.5 Window Target 与事件归属判定(讲清焦点窗口、触摸区域、层级、遮挡、手势排除区域如何决定目标)
- 100.6 App Event Receiver 与 UI Framework 分发(连接系统分发通道、主线程事件循环、View 树命中和控件回调)
- 100.7 从触摸硬件到 App 回调的完整链路(按 hardware、kernel、service、framework、app 五层还原一次触摸)
Chapter 101: Touch Controller, Driver, Input Queue, Event Dispatch
- 101.1 Touch Controller 的采样、坐标和压力数据(拆解采样频率、raw coordinate、pressure、major/minor axis、tracking id 的含义)
- 101.2 Interrupt、Polling 与输入事件触发方式(说明硬件触发、驱动读取、批量上报和低功耗采样模式的取舍)
- 101.3 Input Driver 对 Raw Data 的标准化(覆盖去噪、校准、坐标映射、协议转换和标准事件格式)
- 101.4 Input Queue 的顺序性、时间戳和丢帧风险(把事件时间、入队顺序、合并策略、主线程滞后和反馈延迟关联起来)
- 101.5 Event Dispatch 的目标窗口选择(说明可触控区域、窗口焦点、modal、system overlay、输入权限如何影响分发)
- 101.6 Input Latency 与事件处理预算(把采样、驱动、服务分发、应用处理、渲染反馈拆成可测量预算)
- 101.7 输入路径中的硬件、Kernel、Service、App 边界(建立输入问题排查时的边界图和责任分层)
Chapter 102: Gesture Recognition and Raw Touch Translation
- 102.1 Raw Touch 与 Gesture 的语义差异(区分硬件触点序列、系统事件、框架手势、业务交互意图四个层级)
- 102.2 Tap、Long Press、Drag、Swipe、Pinch 的识别模型(说明阈值、时间窗口、移动距离、速度、方向和多指关系如何形成手势)
- 102.3 多点触控、Pointer ID 与 Touch Sequence(覆盖 pointer down/up、tracking id、cancel、coalesced event、predicted event 的序列语义)
- 102.4 Gesture Recognizer 与 View / Control 的关系(连接命中测试、控件状态、手势识别器、事件消费和回调触发)
- 102.5 Gesture Conflict、Priority、Failure Requirement(讲清父子手势、并行识别、优先级、失败依赖和取消传播)
- 102.6 Scroll、Nested Gesture 与事件竞争(分析滚动容器、嵌套滚动、横纵冲突、拖拽交互和系统返回手势的竞争)
- 102.7 Raw Event 到 UI Intent 的系统转换(把一次触摸序列翻译成 tap、scroll、drag、zoom 等 UI 意图)
Chapter 103: Android InputReader, InputDispatcher, Window Target, View Dispatch
- 103.1 Android Input Stack 总路径(串起 touch controller、kernel evdev、EventHub、InputReader、InputDispatcher、WindowInputEventReceiver、ViewRootImpl)
- 103.2 EventHub 与
/dev/input/event*事件源(说明 Android 如何从 evdev 节点读取设备事件、维护设备列表和读取原始输入) - 103.3 InputReader:Raw Event 读取、归一化与设备映射(覆盖 device calibration、display mapping、motion classification、policy interaction)
- 103.4 InputDispatcher:窗口选择、事件排队与分发(讲清 focus window、touched window、input channel、dispatch queue、wait queue 的作用)
- 103.5 InputChannel、WindowInputEventReceiver 与 App 进程边界(说明 native channel、socketpair、Looper callback 如何把事件送入应用主线程)
- 103.6 ViewRootImpl、DecorView、ViewGroup、View 的事件传递(梳理 dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent 的调用顺序)
- 103.7 Touch Target、Focus Window、ANR 与输入超时(把目标窗口、事件等待、主线程阻塞、input timeout 和 ANR 报告关联起来)
- 103.8 Android 输入链路的系统服务、Native 层和 App 层边界(用 log、dumpsys input、Perfetto 定位输入链路中的卡点)
Chapter 104: Apple Touch Event, RunLoop, Responder Chain, Gesture Recognizer
- 104.1 Apple 输入事件模型总路径(串起硬件采样、IOKit/driver 边界、system event、UIApplication、UIWindow、UIView)
- 104.2 Touch Event 与 UIKit Event Queue(说明 UIEvent、UITouch、phase、timestamp、coalesced touches、predicted touches 的语义)
- 104.3 RunLoop 与 Main Thread 事件处理(连接 event source、run loop mode、主线程任务、动画提交和输入响应)
- 104.4 Hit-Testing 与目标 View 判定(讲清 pointInside、hitTest、window level、view hierarchy、userInteractionEnabled 的判定路径)
- 104.5 Responder Chain 与事件传递路径(说明 UIView、UIViewController、UIWindow、UIApplication 如何承担响应链责任)
- 104.6 UIGestureRecognizer 与 Touch Event 的协作(覆盖 recognizer state、failure dependency、delegate、cancel touches、simultaneous recognition)
- 104.7 UIControl、UIView、UIViewController 的响应边界(区分 control event、touch handling、gesture callback、controller coordination 的职责)
- 104.8 Apple 输入链路中的 Framework、RunLoop、Responder 关系(从触摸问题回溯到主线程、命中测试、手势竞争或响应链)
Chapter 105: Main Thread, Event Loop, Looper, RunLoop
- 105.1 Main Thread 作为 UI 和输入处理主执行线(说明 UI 状态更新、事件回调、布局绘制、生命周期回调共用同一执行资源)
- 105.2 Event Loop 的系统角色(把消息队列、事件源、定时器、绘制提交、I/O 回调纳入一个调度循环)
- 105.3 Android Looper、MessageQueue、Handler 与输入事件(讲清 input callback、sync barrier、Choreographer、Handler message 的调度关系)
- 105.4 Apple RunLoop、Source、Mode 与输入事件(覆盖 source、timer、observer、default/tracking mode 与滚动过程中的事件处理)
- 105.5 Touch Event、Timer、Animation、Layout 的主线程竞争(分析长任务、同步等待、复杂布局、动画计算和事件处理的队列竞争)
- 105.6 Main Thread Blocking 与输入延迟(说明阻塞如何放大 touch-to-display 延迟、错过帧截止点和触发系统超时)
- 105.7 Event Loop 对交互响应和 Frame Pipeline 的影响(把输入事件处理和下一帧渲染反馈连接成一条体验链路)
Chapter 106: Input Latency and Touch Responsiveness
- 106.1 Input Latency 的组成:采样、分发、处理、渲染、显示(把端到端触控延迟拆成硬件、系统服务、应用主线程、图形管线和显示刷新)
- 106.2 Touch Sampling Rate 与事件时间戳(说明采样率、时间戳精度、事件合并、预测点如何影响手感)
- 106.3 Input Dispatch Latency 与窗口选择成本(定位窗口列表、焦点变化、权限策略、系统 overlay、队列积压带来的分发开销)
- 106.4 App Handling Latency 与主线程阻塞(把回调耗时、锁等待、I/O、同步 IPC、布局计算和垃圾回收放入应用处理预算)
- 106.5 Frame Rendering Latency 与触摸反馈延迟(连接输入处理完成、状态变化、下一帧绘制、buffer present 和屏幕响应)
- 106.6 Jank、ANR、Missed Frame 与输入体验(讲清掉帧、输入超时、动画卡顿、点击无反馈在体验上的共同来源)
- 106.7 从 Input Trace 定位触摸响应问题(用 trace、日志、frame timeline、ANR report 将延迟归因到具体层级)
Part 14: Audio System Pipeline
Chapter 107: Audio Hardware, Codec, Microphone, Speaker, Audio Route
- 107.1 Audio Hardware:Microphone、Speaker、Receiver、Headset、Bluetooth Device(梳理采集端、播放端、通话听筒、耳机、蓝牙设备在系统音频图中的位置)
- 107.2 Audio Codec 与 ADC / DAC 转换路径(说明模拟声音、数字 PCM、采样率、bit depth、codec 芯片之间的转换)
- 107.3 Microphone Capture Path 与 Speaker Playback Path(分别还原录音输入和播放输出经过硬件、driver、HAL、mixer、framework 的路径)
- 107.4 Audio Route:Built-in、Wired、Bluetooth、USB、AirPlay / Cast(比较内置、线缆、无线、外接、投送路径在延迟、格式和策略上的差异)
- 107.5 Audio Device State 与系统路由决策(连接插拔检测、蓝牙连接、通话状态、前台应用、音频类别和系统策略)
- 107.6 Audio Hardware 与 Power、Latency、Privacy 的关系(把麦克风占用、低延迟播放、DSP/offload、省电和隐私指示器放入同一模型)
- 107.7 从硬件音频通路到系统 Audio Pipeline(从听不到声音、录不到音、蓝牙延迟等现象回溯路径)
Chapter 108: Capture, Playback, Mixing, Resampling, Latency
- 108.1 Audio Capture 与 Playback 的双向数据流(拆解输入流从麦克风到应用 buffer,输出流从应用 buffer 到扬声器的相反路径)
- 108.2 PCM Frame、Sample Rate、Channel、Bit Depth(定义音频帧、采样率、声道数、位深、frame count 与时间长度的换算)
- 108.3 Mixing:多 App 音频流的系统混音(说明多个播放源如何按音量、音频焦点、格式、路由进入系统 mixer)
- 108.4 Resampling 与格式转换(覆盖采样率转换、声道转换、格式转换、蓝牙编码和硬件支持能力)
- 108.5 Audio Buffer、Ring Buffer、Callback 与实时性(讲清 buffer size、callback period、ring buffer、deadline、xruns 的关系)
- 108.6 Latency 组成:Hardware、HAL、Mixer、Framework、App(把端到端音频延迟拆成硬件、驱动、HAL、混音器、框架和应用处理)
- 108.7 音频路径中的 Dropout、Glitch、Underrun、Overrun(把爆音、断续、延迟、采集溢出归因到 buffer 与调度问题)
Chapter 109: Android AudioRecord, AudioTrack, AudioFlinger, Audio HAL, Driver
- 109.1 Android Audio Stack 总路径(串起 AudioRecord、AudioTrack、AudioFlinger、AudioPolicyManager、Audio HAL、kernel driver、codec hardware)
- 109.2 AudioRecord 与录音数据入口(说明录音权限、source、buffer、callback、read loop、timestamp 和 input device 选择)
- 109.3 AudioTrack 与播放数据出口(说明 stream type/usage、write mode、buffer queue、playback head、timestamp 和 output device)
- 109.4 AudioFlinger 作为系统 Audio Mixer 和音频服务核心(覆盖 mixer thread、fast mixer、record thread、track、resampling、effect chain)
- 109.5 Audio Policy Manager 与路由、音量、设备选择(讲清 usage、strategy、device selection、volume curve、focus 状态对路由的影响)
- 109.6 Audio HAL 与底层 Driver / Hardware 的连接(连接 audio_hw_device、stream in/out、PCM device、DSP、codec、vendor policy)
- 109.7 Fast Track、Low Latency Path 与性能约束(说明 fast path 需要的格式、buffer、线程优先级、采样率和设备能力)
- 109.8 Android 音频路径:App → Framework → AudioFlinger → Audio HAL → Driver → Hardware(用 dumpsys media.audio_flinger、Perfetto、logcat 还原音频路径)
Chapter 110: Apple AVAudioEngine, Core Audio, Audio Unit, Audio Session
- 110.1 Apple Audio Stack 总路径(串起 AVAudioSession、AVAudioEngine、Audio Unit、Core Audio、driver、hardware 的分层)
- 110.2 AVAudioSession 作为 App 与系统音频策略的中介(说明 category、mode、option、active state 如何表达应用音频意图)
- 110.3 AVAudioEngine 与节点图式音频处理(讲清 input node、player node、mixer node、effect node、output node 形成的 signal graph)
- 110.4 Core Audio 与 Audio Unit 的底层处理模型(覆盖 render callback、AudioUnit、AudioComponent、hardware I/O cycle 和实时线程)
- 110.5 Input Node、Output Node、Mixer Node 与 Signal Graph(把采集、播放、混音、效果处理、格式转换放入节点图)
- 110.6 Audio Session Category、Mode、Route 与系统策略(连接播放、录音、通话、VoIP、蓝牙、静音开关和后台播放)
- 110.7 Interruption、Route Change、Hardware Format Change(说明电话、闹钟、设备切换、采样率变化、buffer duration 变化的处理闭环)
- 110.8 Apple 音频路径:App → AVAudioSession / AVAudioEngine → Core Audio → Driver → Hardware(用 Instruments、日志和 session 状态定位音频问题)
Chapter 111: Audio Focus, Interruption, Background Audio, Permission
- 111.1 Audio Focus 与多 App 音频资源管理(说明系统如何决定谁播放、谁暂停、谁降低音量、谁保持混音)
- 111.2 Interruption:电话、闹钟、系统提示与其他 App(覆盖 interruption begin/end、resume、state recovery 和用户体验一致性)
- 111.3 Ducking、Pausing、Mixing 与音频策略(讲清 duck、pause、mix、exclusive、spoken audio 等策略对应的产品场景)
- 111.4 Background Audio 与系统批准的长期播放(连接后台能力声明、前台服务、media session、remote control、锁屏播放)
- 111.5 Microphone Permission 与录音隐私边界(把 runtime permission、TCC、privacy indicator、foreground state、录音 source 放入检查链)
- 111.6 Bluetooth、Call、VoIP、Media Playback 的路由竞争(分析蓝牙 profile、通话链路、媒体播放、VoIP session 的抢占和切换)
- 111.7 Audio Focus / Audio Session 对用户体验的系统治理(设计符合系统策略的音乐、通话、录音、导航、游戏音频行为)
Chapter 112: Low-Latency Audio and Real-Time Constraint
- 112.1 Low-Latency Audio 的系统目标(定义触发到发声、采集到处理、处理到播放的端到端时间目标)
- 112.2 Buffer Size、Callback Period、Scheduling Priority(说明 buffer 越小对调度抖动、线程优先级和 CPU 峰值越敏感)
- 112.3 Fast Path 与普通 Audio Path 的差异(比较 fast mixer、direct output、normal mixer 在格式、线程和处理链上的差异)
- 112.4 Real-Time Thread 与主线程隔离(强调实时回调内的无锁、少分配、短路径、固定预算和主线程隔离)
- 112.5 Audio Processing 中的锁、内存分配和阻塞风险(列出锁竞争、动态分配、磁盘 I/O、日志、同步 IPC 对音频连续性的破坏)
- 112.6 Bluetooth Latency、USB Audio、Built-in Audio 的差异(分析蓝牙编码、无线传输、USB buffer、内置 codec 在延迟上的来源)
- 112.7 Low-Latency Audio 对游戏、乐器、通话和录音的影响(把实时性要求映射到互动音乐、游戏反馈、VoIP、监听和录制场景)
Chapter 113: Audio Routing as System Policy
- 113.1 Audio Routing 的系统策略属性(说明路由由系统根据设备状态、音频类别、用户选择、权限、通话状态和功耗策略统一决策)
- 113.2 Route Selection:Speaker、Receiver、Headset、Bluetooth、USB(说明输出设备选择如何受到插拔、蓝牙 profile、通话状态、用户选择和系统策略影响)
- 113.3 Route Change Notification 与 App 状态同步(讲清 route change 后如何重建音频图、更新 UI、恢复播放或重新配置格式)
- 113.4 Voice Call、VoIP、Media、Alarm、Notification 的策略冲突(分析通话、媒体、闹钟、通知、导航语音同时出现时的优先级)
- 113.5 Android Audio Policy 与设备路由决策(连接 audio policy configuration、product strategy、device role、volume group 和 output selection)
- 113.6 Apple Audio Session Category / Mode 与路由约束(说明 category/mode/option 如何影响扬声器、听筒、蓝牙、AirPlay 和录音路径)
- 113.7 Audio Routing 对权限、功耗、延迟和用户预期的综合影响(解释声音从哪里出、为什么切换、为什么延迟、为什么被打断)
Part 15: Video and Media Pipeline
Chapter 114: Container, Codec, Frame, Timestamp, Synchronization
- 114.1 Media Container 与 Elementary Stream 的分离(说明 MP4、MOV、WebM 等容器如何封装音频流、视频流、字幕和元数据)
- 114.2 Codec 作为压缩、解压与硬件加速边界(连接 H.264、HEVC、AV1、AAC、Opus 与硬件编解码器能力、profile、level)
- 114.3 Frame、Packet、Sample、NAL Unit 的数据层级(拆解编码包、样本、帧、关键帧、NAL unit 在解码器输入输出中的位置)
- 114.4 Timestamp:PTS、DTS、Duration、Timebase(讲清显示时间、解码时间、持续时间、timebase 如何决定播放顺序)
- 114.5 Audio / Video Synchronization 与 Clock Source(说明音频时钟、视频帧调度、同步漂移、丢帧和补帧的处理)
- 114.6 Metadata、Rotation、Color Space、HDR 信息(覆盖方向、尺寸、时长、色彩空间、HDR metadata、地理位置和封面)
- 114.7 Container、Codec、Frame、Timestamp 的系统协作关系(从一个媒体文件推导出 demux、decode、sync、render 所需信息)
Chapter 115: Decode, Encode, Render, Mux, Demux
- 115.1 Demux:Container 到编码流的拆分(说明 extractor 如何读取 track、sample、timestamp、format description 和 sync sample)
- 115.2 Decode:Encoded Stream 到 Raw Frame(覆盖输入 buffer、输出 buffer、pixel format、hardware decoder、error recovery)
- 115.3 Render:Video Frame 到 Surface / Layer(连接 decoded frame、surface、texture、layer、compositor、display timing)
- 115.4 Encode:Raw Frame 到 Encoded Bitstream(说明 raw frame、rate control、GOP、keyframe、bitrate、profile、hardware encoder)
- 115.5 Mux:Encoded Sample 写入输出容器(讲清 track、sample data、timestamp、metadata、finalize 和文件完整性)
- 115.6 Transcode、Remux、Rewrap 的系统差异(比较重新编码、换容器、重封装在成本、质量、速度和兼容性上的差异)
- 115.7 Decode / Encode / Mux / Demux 在媒体 Pipeline 中的位置(建立播放、录制、剪辑、转码各流程共用的处理阶段表)
Chapter 116: Android MediaExtractor, MediaCodec, MediaMuxer, Surface, Hardware Codec
- 116.1 Android Media Stack 总路径(串起 MediaExtractor、MediaCodec、Surface、AudioTrack、MediaMuxer、Codec2/OMX、hardware codec)
- 116.2 MediaExtractor:Data Source、Track、Sample、Demux(说明 setDataSource、track selection、sample read、sample time、format metadata)
- 116.3 MediaCodec:Decoder、Encoder、Input Buffer、Output Buffer(覆盖 configure、start、dequeue/queue buffer、callback mode、format change、EOS)
- 116.4 Surface Input / Output 与 Zero-Copy Video Path(讲清 decoder output surface、encoder input surface、GraphicBuffer、fence 和拷贝成本)
- 116.5 MediaMuxer:Track、SampleData、Container Output(说明 addTrack、writeSampleData、presentationTimeUs、flags、stop/release)
- 116.6 Hardware Codec、Codec Capability 与 Device Fragmentation(分析 codec list、profile/level、color format、resolution、vendor bug 和设备差异)
- 116.7 Android Video Path:Extractor → Codec → Surface / Buffer → Muxer(把播放、转码、录制路径画成数据流)
- 116.8 MediaCodec 与 Camera、SurfaceFlinger、AudioFlinger 的连接点(说明相机输入、视频预览、音视频同步、硬件编码如何跨子系统协作)
Chapter 117: Apple Video Media Pipeline
- 117.1 Apple Media Stack 总路径(串起 AVFoundation、Core Media、Core Video、VideoToolbox、Core Animation、Metal 的分层)
- 117.2 AVAsset、AVPlayer、AVSampleBufferDisplayLayer 的播放模型(说明 asset、item、track、time range、sample buffer、display layer 的关系)
- 117.3 Core Media:CMTime、CMSampleBuffer、CMFormatDescription(定义时间、样本 buffer、格式描述、attachments 在媒体管线中的作用)
- 117.4 VideoToolbox:硬件 Decode / Encode 访问边界(覆盖 VTDecompressionSession、VTCompressionSession、pixel buffer、codec properties)
- 117.5 AVAssetReader:从 Asset 读取 Track 和 Sample(讲清 track output、sample buffer、time range、pixel buffer output 和读取状态)
- 117.6 AVAssetWriter:编码 Sample 到输出文件(说明 writer input、pixel buffer adaptor、timestamp、metadata、finishWriting)
- 117.7 Core Video、Pixel Buffer 与 Render Path(连接 CVPixelBuffer、IOSurface、Metal texture、display layer 和零拷贝渲染)
- 117.8 Apple Video Path:Asset → Reader / Decoder → Pixel Buffer / Layer → Writer(把播放、导出、转码、录制统一到样本流模型)
Chapter 118: Playback Pipeline Buffering, Seeking, Sync, DRM
- 118.1 Playback Pipeline 的系统结构(把数据源、demux、decoder、audio output、video surface、clock、UI 控制串成播放状态机)
- 118.2 Data Source、Network Stream、Local File 与 Buffer Queue(比较本地文件、HTTP stream、分片流、缓存队列在加载和失败模式上的差异)
- 118.3 Demux、Decode、Render 的调度关系(说明读取、解复用、解码、音频播放、视频显示如何由时钟驱动)
- 118.4 Seeking、Keyframe、Index 与随机访问(讲清 seek target、关键帧回退、索引表、decoder flush 和缓冲重建)
- 118.5 Audio / Video Sync 与 Playback Clock(连接 audio clock、video frame schedule、drift correction、frame drop 和 playback rate)
- 118.6 DRM、Protected Content 与安全播放路径(覆盖 license、key session、secure decoder、protected buffer、HDCP、screen capture policy)
- 118.7 HLS、DASH、Adaptive Streaming 与带宽策略(说明 manifest、segment、variant、buffer health、ABR decision 和网络抖动)
- 118.8 Playback Failure:Buffering、Stall、Codec Error、DRM Error(按网络、容器、解码器、DRM、渲染层级定位播放失败)
Chapter 119: Recording Pipeline Capture, Encode, Mux, Save, Metadata
- 119.1 Recording Pipeline 的系统结构(把采集源、预处理、编码器、muxer、文件写入、媒体库登记串成录制路径)
- 119.2 Camera / Screen / Microphone 作为采集源(说明相机帧、屏幕帧、麦克风 PCM 在权限、格式和时间戳上的差异)
- 119.3 Raw Frame / PCM 到 Encoder Input(覆盖 pixel buffer、surface input、audio buffer、format conversion、queue backpressure)
- 119.4 Video Encoder、Audio Encoder 与同步时间戳(讲清音视频编码并行、时间基准、drift、keyframe、bitrate 和丢帧)
- 119.5 Muxer 写入 MP4 / MOV / 其他容器(说明 track 添加、sample 写入、metadata、moov/finalize、崩溃后文件完整性)
- 119.6 Rotation、Location、HDR、Color Metadata 写入(覆盖方向、地理位置、HDR 标记、色彩空间、缩略图、创建时间)
- 119.7 Save Path:App Container、Media Library、Photos、Shared Storage(连接沙箱文件、相册写入、媒体库索引、用户授权和云同步)
- 119.8 Recording Failure:Dropped Frame、Audio Drift、Encoder Backpressure(定位录制卡顿、音画漂移、编码堵塞、保存失败)
Chapter 120: Media as Cross-Layer System Pipeline
- 120.1 Media Pipeline 横跨硬件、Kernel、Driver、Codec、Framework、App(说明媒体能力如何同时依赖硬件加速、驱动、系统服务和应用状态机)
- 120.2 Hardware Codec 与系统功耗控制(连接 codec offload、thermal、battery、resolution、frame rate 和后台播放策略)
- 120.3 Surface / Layer 与图形显示系统的连接(把解码输出、视频 layer、SurfaceFlinger/Core Animation、HDR 显示链路关联起来)
- 120.4 Audio Sync 与音频系统的连接(说明播放时钟、音频 buffer、延迟补偿、路由切换对视频同步的影响)
- 120.5 Camera Capture 与相机系统的连接(连接 camera stream、preview surface、encoder input、metadata 和权限状态)
- 120.6 File / Storage 与容器写入路径(覆盖临时文件、原子保存、媒体库登记、备份、共享和用户删除)
- 120.7 Permission、DRM、Sandbox 与安全播放边界(把麦克风、相机、相册、屏幕录制、DRM、受保护 buffer 放入安全边界)
- 120.8 媒体系统作为手机平台跨层协作样本(用媒体管线复习硬件、图形、音频、文件、安全和调度的交汇)
Part 16: Camera System Pipeline
Chapter 121: Camera as a Cross-Layer Mobile Subsystem
- 121.1 Camera Subsystem 的跨层结构(把 sensor、lens、ISP、driver、HAL/daemon、framework、app、media pipeline 串成相机总图)
- 121.2 Sensor、Lens、ISP、Driver、Service、Framework、App 的职责边界(说明每层负责采光、成像、算法处理、硬件访问、资源仲裁、API 表达和用户交互)
- 121.3 Preview、Capture、Video Recording、Image Processing 的共享路径(比较预览、拍照、录像、后处理在 stream、buffer、时间戳和质量目标上的差异)
- 121.4 Camera 作为硬件、算法、媒体、安全和 UX 的交汇点(连接成像硬件、计算摄影、视频编码、权限隐私、取景反馈和保存路径)
- 121.5 Camera Resource Ownership 与多 App 竞争(讲清独占设备、session owner、优先级、抢占、断开、错误恢复和系统提示)
- 121.6 Camera Pipeline 中的权限、功耗、温控和隐私控制(把 camera permission、privacy indicator、foreground state、thermal throttle、power policy 放入同一约束面)
- 121.7 Android 与 Apple Camera Pipeline 的共同系统角色(提炼两大平台中 framework frontend、system service、driver boundary、hardware pipeline 的共同结构)
Chapter 122: Camera Sensor, Lens, ISP, Buffer, Exposure, Focus, Image Pipeline
- 122.1 Camera Sensor 与 Raw Image Data(说明像素阵列、曝光、rolling shutter、Bayer data、bit depth、readout time 的基础)
- 122.2 Lens、Aperture、OIS、Focus Motor 与光学控制(覆盖焦距、光圈、对焦马达、光学防抖、镜头模组限制和机械控制)
- 122.3 ISP Pipeline:Demosaic、Denoise、HDR、Tone Mapping、Sharpening(拆解 Raw 数据进入 ISP 后的去马赛克、降噪、动态范围、色调映射和锐化)
- 122.4 Exposure、Focus、White Balance 与 3A Control(讲清 AE、AF、AWB 如何根据场景测量、算法状态和硬件反馈连续调整)
- 122.5 Camera Buffer、Stream、Frame Queue 与数据流控制(连接 stream configuration、buffer count、frame queue、fence、backpressure 和 drop frame)
- 122.6 Preview Buffer、Capture Buffer、Video Buffer 的路径差异(比较低延迟预览、高质量拍照、稳定录像在分辨率、格式和处理链上的差异)
- 122.7 Sensor / ISP 能力对 Framework API 的约束(说明硬件可用能力如何决定曝光控制、帧率、分辨率、HDR、RAW、慢动作等 API)
Chapter 123: Preview, Capture, Burst, HDR, Night Mode, Computational Photography
- 123.1 Preview Pipeline 与低延迟显示(说明取景画面如何以稳定帧率经过 sensor、ISP、buffer、surface、display 低延迟输出)
- 123.2 Still Capture Pipeline 与高质量图像输出(覆盖自动对焦、曝光收敛、RAW/YUV/JPEG、后处理、metadata、保存和回调)
- 123.3 Burst Capture 与多帧采集调度(讲清连续帧请求、buffer 管理、时间戳对齐、内存压力和选择最佳帧)
- 123.4 HDR Pipeline 与多曝光合成(说明短中长曝光、motion alignment、tone mapping、ghost reduction 和显示 metadata)
- 123.5 Night Mode 与长曝光、多帧降噪、运动补偿(拆解低光场景中的曝光时间、手持稳定、帧融合、降噪和用户等待)
- 123.6 Computational Photography 与 ISP / NPU / CPU / GPU 协作(连接人像分割、超分、去噪、HDR、夜景、视频防抖中的多处理器协作)
- 123.7 Preview Quality、Capture Quality、Latency 的系统取舍(解释取景流畅、拍照质量、按下快门到成片延迟之间的工程取舍)
Chapter 124: Android Camera2, CameraService, Camera HAL, Driver, ISP, Sensor
- 124.1 Android Camera Stack 总路径(串起 CameraManager、CameraDevice、CaptureSession、Binder、CameraService、Camera HAL、driver、sensor)
- 124.2 Camera2 API 与 CaptureRequest / CaptureResult 模型(说明 request、result、metadata、template、repeating request、single capture 的控制循环)
- 124.3 CameraService 作为 Framework 与 HAL 之间的系统服务(讲清 client 管理、设备打开、session 创建、资源仲裁、错误通知和死亡回调)
- 124.4 Camera Provider、Camera Device、Camera Session 的 HAL 对象模型(覆盖 provider discovery、device interface、stream configuration、process capture request)
- 124.5 Camera HAL 到 Kernel Driver / ISP / Sensor 的连接路径(连接 HAL、vendor driver、ISP firmware、sensor control、buffer handle 和 timestamp)
- 124.6 Stream Configuration、Buffer Queue、Surface 与 Preview / Capture 输出(说明 preview surface、ImageReader、MediaCodec surface、buffer queue 和输出组合)
- 124.7 Camera Permission、AppOps、SELinux 与 CameraService 检查点(定位权限、AppOps、foreground state、SELinux domain、privacy indicator 的检查位置)
- 124.8 Android Camera Path:App → Camera2 → Binder → CameraService → Camera HAL → Driver → Sensor(用 logcat、dumpsys media.camera、Perfetto 还原一次请求路径)
Chapter 125: Apple Camera Capture Pipeline
- 125.1 Apple Camera Stack 总路径(串起 AVCaptureSession、AVCaptureDevice、input/output、Core Media buffer、系统 daemon、driver、ISP)
- 125.2 AVFoundation 作为 Camera Framework Frontend(说明公开 API 如何表达设备选择、session 配置、输入输出、权限和回调)
- 125.3 AVCaptureSession、AVCaptureDevice、AVCaptureInput、AVCaptureOutput(拆解 session graph 中设备、输入、输出、connection、preset 的关系)
- 125.4 Core Media Sample Buffer 与 Camera Frame 表达(说明 CMSampleBuffer、CVPixelBuffer、format description、attachments、timestamp 的作用)
- 125.5 Photo Capture Pipeline 与 AVPhotoOutput(覆盖 capture settings、bracket、processed/raw output、metadata、delegate callback 和保存)
- 125.6 Video Capture Pipeline 与 AVAssetWriter / VideoToolbox 连接(连接 sample buffer、compression session、writer input、timestamp、audio sync)
- 125.7 Hardware ISP、Photo Processing 与 Apple 封闭硬件路径(说明公开 API 外的 ISP、Neural Engine、Photo pipeline 如何影响最终图像)
- 125.8 Apple Camera Path:App → AVFoundation → System Service / Daemon → Driver / ISP → Sensor(用公开文档、Instruments、Console 和错误码推断路径)
Chapter 126: Camera Privacy and Resource Arbitration
- 126.1 Camera Permission 作为硬件访问入口控制(说明相机权限如何把硬件访问、用户授权、系统服务检查和隐私提示连接起来)
- 126.2 Permission Prompt、Runtime Grant、System Service Check(拆解 prompt、grant state、service check、错误返回和权限撤销)
- 126.3 Privacy Indicator 与用户可见硬件占用状态(讲清系统如何用状态栏、控制中心、dashboard、日志呈现相机占用)
- 126.4 Foreground Requirement 与后台访问限制(说明前台会话、后台任务、画中画、录制场景和系统策略对相机使用的约束)
- 126.5 多 App Camera Resource Arbitration(覆盖独占打开、优先级、抢占、并发摄像头、系统应用特权和用户提示)
- 126.6 Camera Session Ownership、Disconnect、Preemption、Error Recovery(说明 session owner 变化、设备断开、抢占、异常恢复和资源释放)
- 126.7 Camera 隐私模型与系统信任边界(把权限、身份、硬件占用、系统服务、UI 提示组合成相机安全闭环)
Chapter 127: Device-Level Imaging Differences
- 127.1 Camera Module、Sensor Size、Lens Stack 与硬件差异(说明传感器尺寸、镜头组、光圈、防抖、对焦系统如何决定原始成像条件)
- 127.2 ISP 能力、算法调校与图像风格(连接 ISP pipeline、噪声模型、色彩调校、锐化、动态范围和厂商风格)
- 127.3 Android OEM Camera HAL 与厂商影像 Pipeline(讲清 OEM 如何在 HAL、vendor tag、算法库、相机 app 中加入自有处理)
- 127.4 Apple 软硬件一体化下的影像一致性(说明硬件设计、ISP、算法、系统 API、默认相机应用统一控制带来的体验一致性)
- 127.5 HDR、Night Mode、Portrait、Video Stabilization 的系统实现差异(比较多帧融合、人像分割、防抖、HDR video 在硬件和算法上的实现路径)
- 127.6 Third-Party App Camera Quality 与系统 API 暴露能力(分析第三方应用获取的 stream、metadata、算法能力和厂商私有能力之间的差距)
- 127.7 设备级影像差异的技术来源(从硬件、ISP、HAL/API、算法、系统策略解释不同手机的成像差异)
Chapter 128: Camera Hardware, Algorithm, Media, Privacy, UX Integration
- 128.1 Camera 作为硬件能力封装的综合样本(把硬件输入、驱动、服务、framework、媒体、图形、安全、用户体验串成一例)
- 128.2 Algorithm Pipeline 与系统资源调度(说明 3A、HDR、夜景、人像、视频防抖如何竞争 CPU、GPU、NPU、ISP、内存带宽)
- 128.3 Camera 与 Media Pipeline 的连接:Encode、Mux、Save、Metadata(连接视频录制、照片保存、容器写入、时间戳、旋转、位置和相册登记)
- 128.4 Camera 与 Graphics Pipeline 的连接:Preview、Surface、Layer、Display(说明预览 buffer 如何进入 surface/layer,被合成到屏幕并受帧率约束)
- 128.5 Camera 与 Security Model 的连接:Permission、Privacy Indicator、Sandbox(把相机权限、系统服务检查、隐私指示、应用沙箱和媒体库写入统一起来)
- 128.6 Camera 与 Power / Thermal Policy 的连接(分析高帧率预览、长时间录像、夜景处理、多摄并发对功耗和温控的影响)
- 128.7 从 Camera Pipeline 反观手机系统架构(用相机路径综合理解移动平台的跨层能力封装)
Part 17: Sensors, Location, Bluetooth, NFC, and Device Capabilities
Chapter 129: Sensor Hardware and Sensor Fusion
- 129.1 Sensor Hardware:Accelerometer、Gyroscope、Magnetometer、Barometer、Light、Proximity(梳理惯性、方向、环境、接近类传感器在手机硬件板级中的位置)
- 129.2 Raw Sensor Data 与 Calibrated Sensor Data(说明原始读数、偏置校准、单位转换、坐标系、噪声和漂移修正)
- 129.3 Sensor Sampling Rate、Batching、FIFO 与功耗控制(连接采样频率、批处理、硬件 FIFO、唤醒传感器和低功耗上下文感知)
- 129.4 Sensor Fusion:姿态、方向、运动状态与环境上下文(拆解加速度计、陀螺仪、磁力计、定位数据如何融合成高层状态)
- 129.5 Android Sensors HAL 与 Sensor Framework 的连接(串起 SensorManager、SensorService、Sensors HAL、driver、sensor hub 的访问路径)
- 129.6 Apple Core Motion 与系统传感器抽象(说明 Core Motion 如何提供 device motion、activity、pedometer、attitude 等抽象)
- 129.7 Sensor Data 作为系统能力、隐私数据和功耗负载(同时评估传感器的系统功能、隐私推断和持续采样成本)
Chapter 130: Core Mobile Sensors
- 130.1 Accelerometer:线性加速度、重力与运动检测(说明三轴加速度、重力分量、步态、摇动、跌落和屏幕方向判断)
- 130.2 Gyroscope:角速度、姿态变化与短时稳定性(讲清角速度积分、短时姿态稳定、漂移和与加速度计融合的原因)
- 130.3 Magnetometer:地磁方向、干扰与校准(覆盖指南针、硬铁/软铁干扰、校准手势和室内磁场噪声)
- 130.4 Proximity Sensor:通话、口袋检测与屏幕控制(连接接近检测、通话灭屏、防误触、口袋模式和低功耗状态)
- 130.5 Ambient Light Sensor:亮度调节与显示功耗(说明环境光读数如何进入自动亮度、显示功耗、HDR 和用户体验策略)
- 130.6 Barometer:气压、高度变化与辅助定位(说明气压变化、楼层估计、运动识别和定位融合中的作用)
- 130.7 物理传感器到虚拟传感器的系统转换(把原始读数融合成姿态、步数、活动状态、方向、上下文事件)
Chapter 131: Location Stack GPS, Wi-Fi, Cellular, Bluetooth, Permission, Power
- 131.1 Location 作为多源融合系统能力(把 GNSS、Wi-Fi、蜂窝基站、蓝牙、惯性传感器和地图数据纳入同一定位模型)
- 131.2 GNSS / GPS 与卫星定位路径(说明卫星信号、星历、冷启动/热启动、精度、城市峡谷和室内弱信号)
- 131.3 Wi-Fi、Cellular、Bluetooth 辅助定位(覆盖扫描、基站定位、附近设备、指纹库和隐私推断)
- 131.4 Location Provider、Accuracy、Freshness、Update Interval(讲清 provider、精度、时效性、更新频率、单次请求和持续订阅)
- 131.5 Foreground / Background Location 与权限分级(说明前台定位、后台定位、精确/模糊定位、一次性授权和状态提示)
- 131.6 Location Power Policy 与采样频率控制(连接定位频率、批处理、移动状态、地理围栏、低功耗模式和电池消耗)
- 131.7 Android Location Stack 与 Apple Core Location 的能力边界(比较平台 API、系统服务、权限提示、后台策略和定位结果语义)
Chapter 132: Bluetooth and BLE Device, GATT, Pairing, Background Limit
- 132.1 Bluetooth Classic 与 Bluetooth Low Energy 的系统角色(区分音频、外设、数据传输、低功耗广播和近距离感知的典型路径)
- 132.2 Discovery、Scan、Advertising 与附近设备感知(说明扫描窗口、广播包、设备地址、过滤、缓存和功耗成本)
- 132.3 GATT Service、Characteristic、Descriptor 与数据模型(讲清服务、特征值、描述符、read/write/notify/indicate 组成的数据协议)
- 132.4 Pairing、Bonding、Key、Encryption 与连接信任(覆盖配对、绑定、密钥存储、加密连接、MITM protection 和重连)
- 132.5 Android Bluetooth Stack、Permission 与 Nearby Device Policy(连接 BluetoothManager、BluetoothService、HAL/controller、Nearby Devices 权限和后台扫描限制)
- 132.6 Apple Core Bluetooth、Central / Peripheral Role 与 Background Mode(说明 central/peripheral、scan、connect、state restoration、background mode 的使用边界)
- 132.7 BLE Scan、Location Inference 与隐私边界(把扫描记录、设备地址、位置模式、行为时间线和附近设备关系连接成隐私风险判断)
Chapter 133: NFC, Secure Element, Wallet, Payment Boundary
- 133.1 NFC Controller 与近场通信路径(说明近场射频、controller、secure element、host controller 和系统服务的协作)
- 133.2 NDEF、Tag、Reader Session 与数据交换模型(覆盖 tag 类型、NDEF record、reader session、payload 解析和错误处理)
- 133.3 Card Emulation、Secure Element、HCE 与支付边界(讲清安全元件、主机卡模拟、支付 applet、token 和终端交互)
- 133.4 Android NFC Framework、NfcAdapter、Tag Dispatch、HostApduService(连接前台分发、intent dispatch、reader mode、HCE service 和权限策略)
- 133.5 Apple Core NFC、NFC Tag Reading 与 Wallet / Secure Element 边界(说明公开 tag reading 与 Wallet/secure element 控制面的边界)
- 133.6 NFC Permission、User Gesture 与前台访问约束(把用户手势、前台 session、entitlement、系统提示和安全交易放入检查链)
- 133.7 NFC 作为硬件能力、身份凭证和支付安全面的交汇点(同时理解门禁、支付、标签读取和身份凭据的安全要求)
Chapter 134: Android Capability Path Framework API, Service, HAL, Driver
- 134.1 Android Device Capability 的通用访问路径(抽象出 framework manager、Binder service、native stack、HAL、driver、hardware 的标准路径)
- 134.2 SensorManager → SensorService → Sensors HAL → Driver(把传感器监听、批处理、HAL event、driver 数据源串成访问链)
- 134.3 LocationManager → Location Service → Provider / GNSS HAL(说明定位请求如何进入 provider、融合策略、权限检查和 GNSS/网络定位)
- 134.4 Bluetooth API → Bluetooth Service → Bluetooth Stack / HAL / Controller(串起 Java API、system service、native stack、controller、permission 和 profile)
- 134.5 NFC API → NFC Service → NFC HAL / Controller(说明 tag dispatch、reader mode、HCE、secure element 路径如何跨层执行)
- 134.6 Permission、AppOps、SELinux 在能力路径中的执行点(定位 framework permission、AppOps state、SELinux domain、HAL access 的检查点)
- 134.7 Device Capability 从 HAL 到 Framework API 的封装模式(把任意设备能力还原为 API、service、HAL、driver 的分层)
Chapter 135: Apple Capability Path Framework, Entitlement, Daemon, Driver
- 135.1 Apple Device Capability 的通用访问路径(抽象出 framework frontend、XPC/daemon、TCC/entitlement、driver framework、hardware 的标准路径)
- 135.2 Core Motion / Core Location / Core Bluetooth / Core NFC 作为 Framework 入口(说明不同能力如何通过公开 framework 呈现高层对象和回调)
- 135.3 Framework Frontend 到 System Daemon 的服务访问路径(连接 API 调用、XPC connection、audit token、daemon 状态和错误返回)
- 135.4 Entitlement、TCC、Privacy Prompt 与用户授权数据库(定位能力声明、用户授权、隐私数据库和系统服务检查)
- 135.5 Daemon 到 XNU / IOKit / Driver Framework 的硬件边界(讲清公开 API 背后的 daemon 如何靠驱动框架访问硬件)
- 135.6 Background Mode、Foreground Session 与能力访问时机(说明后台能力、前台 session、用户手势、系统唤醒对能力使用的约束)
- 135.7 Apple 设备能力封装中的受控开放模型(从公开 API 推断内部服务边界、权限条件和硬件访问路径)
Part 18: Network Stack, Cellular, Wi-Fi, TLS, and VPN
Chapter 136: Network Hardware, Modem, Wi-Fi Chip, Network Interface
- 136.1 Network Hardware 在手机系统中的位置(把 Wi-Fi 芯片、蜂窝 modem、天线、baseband、combo chip、application processor 放入硬件图)
- 136.2 Wi-Fi Chip、Cellular Modem、Bluetooth Combo 与网络能力边界(说明无线能力如何分布在芯片、firmware、driver、系统服务之间)
- 136.3 Network Interface、Radio State、Link State 与系统网络状态(连接 interface up/down、radio on/off、link quality、validated network 和用户可见状态)
- 136.4 Cellular Modem 与 Application Processor 的边界(讲清 baseband 独立处理无线协议,AP 通过受控接口获取数据和状态)
- 136.5 Driver、Firmware、Baseband 与系统网络栈的连接(覆盖 firmware、kernel driver、netdevice、routing、socket stack、telephony service)
- 136.6 Wi-Fi / Cellular 切换、并发和链路选择(说明多网络同时存在时的默认路由、handover、multipath、fallback 和用户策略)
- 136.7 网络硬件对功耗、延迟、吞吐和隐私的影响(从 radio wakeup、信号质量、链路类型解释网络体验和电池消耗)
Chapter 137: TCP IP, DNS, TLS, HTTP, Proxy, VPN
- 137.1 TCP/IP Stack 与 Socket 抽象(说明 socket、TCP/UDP、IP、routing、interface、kernel buffer 与应用网络 API 的关系)
- 137.2 DNS Resolution、Cache、Private DNS 与系统解析路径(拆解 hosts、resolver cache、DoT/DoH、per-network DNS、失败重试和隐私影响)
- 137.3 TLS Handshake、Certificate、Trust Store 与安全连接(覆盖证书链、信任根、SNI、ALPN、session resumption、pinning 和失败原因)
- 137.4 HTTP / HTTPS 作为 App 网络访问主路径(连接 request、response、header、connection pool、HTTP/2、HTTP/3、cache 和 retry)
- 137.5 Proxy、PAC、Captive Portal 与系统网络策略(说明代理配置、自动代理脚本、门户网络检测和用户登录页如何影响访问)
- 137.6 VPN Tunnel、Routing Table、Per-App VPN 与流量接管(讲清 tun/tap、路由表、DNS 改写、split tunnel、per-app policy 和流量过滤)
- 137.7 网络协议栈作为 Kernel、Service、Framework、App 的跨层系统(把一次网络请求还原到应用 API、系统服务、内核协议栈和接口)
Chapter 138: Android Network Connectivity Stack
- 138.1 Android Network Stack 总路径(串起 ConnectivityManager、ConnectivityService、NetworkAgent、netd、DNS resolver、kernel stack、interface)
- 138.2 ConnectivityService 作为系统网络状态和网络选择中心(说明网络注册、默认网络选择、network score、validation、callback 分发)
- 138.3 ConnectivityManager 与 NetworkCallback(讲清应用如何观察网络可用性、能力变化、丢失和默认网络切换)
- 138.4 NetworkCapabilities、Transport、Metered、Validated、Captive Portal(解释 transport、capability、metered、validated、captive portal 在策略中的含义)
- 138.5 DNS Resolver、Private DNS、Network-Specific DNS(连接 netd、resolv、Private DNS、per-network DNS、缓存和错误诊断)
- 138.6 VPN、Always-On VPN、Lockdown VPN 与流量边界(说明 VPN service、tun interface、always-on、lockdown、per-app allow/deny 的路径)
- 138.7 Firewall、UID-Based Network Policy、Data Saver(覆盖 UID 规则、background data、Data Saver、metered network 和系统防火墙)
- 138.8 Android 网络路径:App → Framework API → ConnectivityService → Kernel Network Stack → Interface(用 dumpsys connectivity、cmd network、bugreport 还原网络状态)
Chapter 139: Apple URLSession, Network.framework, NEProvider, TLS, System Policy
- 139.1 Apple Network Stack 总路径(串起 URLSession、Network.framework、CFNetwork、trust evaluation、Network Extension、kernel network stack)
- 139.2 URLSession 与 URL Loading System(说明 session configuration、task、delegate、cache、cookie、background transfer 和 retry)
- 139.3 Network.framework:NWConnection、NWListener、NWPath、TLS、TCP、UDP(覆盖 connection state、path update、parameters、protocol stack 和 listener)
- 139.4 System Path Selection:Wi-Fi、Cellular、Constrained、Expensive Network(说明系统如何选择路径并向应用暴露受限、高成本、蜂窝和 Wi-Fi 状态)
- 139.5 TLS Trust Evaluation、Certificate、ATS 与系统安全策略(连接 trust store、certificate chain、ATS、pinning、revocation 和错误处理)
- 139.6 Network Extension、NEProvider、VPN、Content Filter、Packet Tunnel(讲清 VPN、内容过滤、packet tunnel、DNS proxy 等扩展能力的边界)
- 139.7 Background URLSession、Push、Power 与系统调度(说明后台传输、推送唤醒、系统托管任务、电源状态和完成回调)
- 139.8 Apple 网络路径:App → URLSession / Network.framework → System Network Service → Kernel / Interface(通过 logs、Network Instruments、sysdiagnose 还原请求路径)
Chapter 140: Cellular, SIM eSIM, Carrier Policy, Modem Boundary
- 140.1 Cellular Stack 与 Baseband Boundary(说明蜂窝协议栈主要运行在 baseband,AP 通过受控通道获取数据、状态和控制能力)
- 140.2 SIM / eSIM、Subscription、Carrier Profile 与网络身份(连接 IMSI/eSIM profile、subscription、carrier bundle、网络注册和用户号码)
- 140.3 Radio Access Technology:LTE、5G、Wi-Fi Calling(覆盖接入制式、信令、语音路径、数据承载和网络能力差异)
- 140.4 APN、Carrier Policy、Roaming、Data Plan 与系统策略(说明 APN、漫游、套餐、运营商策略如何影响网络可用性和计费)
- 140.5 Modem Firmware、Baseband Isolation 与安全边界(讲清 baseband firmware、隔离边界、更新、漏洞面和系统安全关系)
- 140.6 Cellular Data 与 Wi-Fi 数据路径的系统差异(比较路由、计费、功耗、延迟、移动性、信号质量和策略暴露)
- 140.7 蜂窝网络对功耗、隐私、定位和后台任务的影响(解释弱信号耗电、基站定位、后台同步和流量控制)
Chapter 141: Background Networking, Push, Power, Data Saver
- 141.1 Background Networking 作为系统调度问题(把后台网络放入电源、流量、用户可见性、系统批处理和任务截止时间)
- 141.2 Push Notification 作为后台唤醒入口(说明推送如何触发通知展示、轻量刷新、静默唤醒和系统频率控制)
- 141.3 Background Transfer、Retry、Backoff 与网络可用性(讲清失败重试、指数退避、网络恢复、系统托管传输和任务持久化)
- 141.4 Data Saver、Low Data Mode 与受限网络策略(覆盖节省流量、低数据模式、后台限制、媒体降级和用户控制)
- 141.5 Metered Network、Expensive Network、Constrained Network(说明按量计费、高成本、受限网络如何影响请求调度和下载策略)
- 141.6 Wi-Fi Only、Cellular Allowed、Roaming Allowed 的策略组合(把用户设置、产品需求、系统网络状态和运营商策略组合成下载决策)
- 141.7 后台网络对电池、流量、通知和用户控制的影响(设计同步、推送、上传、下载任务的系统友好路径)
Chapter 142: Network Access as Power and Privacy Surface
- 142.1 Network Access 作为功耗入口(说明每次联网可能触发 radio wakeup、DNS、TLS、传输、回包等待和后台保活成本)
- 142.2 Radio Wakeup、TCP Keepalive、Polling、Long Connection(比较保活、轮询、长连接、推送通道在实时性和电池消耗上的取舍)
- 142.3 Background Sync 与系统批处理策略(讲清系统如何合并后台任务、延迟同步、等待充电或 Wi-Fi、减少唤醒次数)
- 142.4 Network Metadata、IP Address、DNS、Location Inference(说明 IP、DNS、连接时间、目标域名、网络类型如何暴露位置和行为线索)
- 142.5 App Tracking、Advertising ID、Network Fingerprinting(覆盖广告标识、设备指纹、跨站追踪、流量关联和平台治理)
- 142.6 VPN、Private Relay、Proxy 与用户隐私保护(说明流量转发、地址隐藏、DNS 保护、企业管理和性能代价)
- 142.7 网络能力作为 System Policy、Security Policy、Power Policy 的交汇点(同时从连接能力、安全边界、隐私暴露和功耗预算评估网络设计)
Part 19: Power, Thermal, Background Execution, and Notifications
Chapter 143: Power as First-Class System Resource
- 143.1 Power Budget 与移动系统资源模型(把电池容量、瞬时功耗、平均功耗、热预算和用户可见任务放入同一资源模型)
- 143.2 CPU、GPU、Display、Modem、Camera 的功耗结构(比较计算、显示、无线通信、影像采集和传感器持续运行的耗电来源)
- 143.3 Foreground Work 与 Background Work 的能耗差异(说明前台交互、后台同步、后台定位、音频播放在系统策略中的待遇)
- 143.4 Wakeup、Network Polling、Location Update 与电池消耗(连接唤醒次数、radio 激活、定位采样、传感器批处理和后台任务频率)
- 143.5 Power Policy 在 Kernel、System Service、Framework、App 之间的分层(讲清内核电源状态、系统服务策略、framework API 和应用任务声明的关系)
- 143.6 用户可见任务与系统允许能耗之间的关系(用导航、音乐、通话、上传、即时通讯等场景解释系统授予能耗预算的依据)
- 143.7 Power 作为 App Lifecycle、Notification、Network、Thermal 的统一约束(把生命周期、网络、通知、温控问题归并到电源预算)
Chapter 144: CPU and GPU Frequency, Sleep State, Wake Lock, Thermal Throttling
- 144.1 CPU / GPU Frequency Scaling 与性能-功耗曲线(说明频率、电压、负载、调度器、boost、降频如何共同影响性能和电池)
- 144.2 Idle State、Sleep State 与低功耗驻留(讲清 shallow/deep idle、suspend、wake source、residency time 和唤醒成本)
- 144.3 Wake Lock / Assertion 与系统唤醒保持(比较 Android wakelock 与 Apple assertion 在保持 CPU、屏幕、网络任务上的作用)
- 144.4 Thermal Sensor、Thermal Zone 与温度采样(覆盖芯片、机身、电池、modem、display 等热区采样和系统反馈)
- 144.5 Thermal Throttling 对 CPU、GPU、Modem、Camera 的资源调节(分析温控如何调低频率、降低帧率、限制相机、收缩网络吞吐和改变体验)
- 144.6 Frame Rate、Camera Recording、Network Transfer 下的温控压力(说明高刷、录像、游戏、5G 上传、热点共享等场景的发热链路)
- 144.7 Power State 与 Thermal State 对用户体验的共同约束(解释同一应用在冷机、热机、低电量、充电状态下的表现差异)
Chapter 145: Background Execution Policy
- 145.1 Background Execution 作为系统授权资源(说明后台 CPU、网络、定位、蓝牙、音频、通知都需要经过系统策略分配)
- 145.2 App Visibility 与后台执行资格(连接前台可见、最近使用、用户主动任务、媒体播放、导航、通话和系统白名单)
- 145.3 Foreground Service、Background Task、Push、Alarm、Job 的角色区分(讲清长期任务、延迟任务、定时任务、推送唤醒、系统托管任务的适用场景)
- 145.4 Network、Location、Audio、Bluetooth、Camera 的后台访问边界(把不同能力的后台授权、提示、功耗和隐私要求放入矩阵)
- 145.5 Scheduling Window、Batching、Backoff 与系统调度(说明窗口期、批处理、指数退避、约束条件和充电/Wi-Fi 状态如何影响执行)
- 145.6 Background Execution 与 Battery、Privacy、User Attention 的关系(把后台任务、功耗预算、隐私授权、通知打扰和用户可见性连接成策略取舍)
- 145.7 后台策略对 App 架构和任务设计的约束(把实时任务、可延迟任务、可恢复任务、用户可见任务转化为架构选择)
Chapter 146: Android Doze, App Standby, JobScheduler, WorkManager, WakeLock
- 146.1 Android Power Management 总路径(串起 PowerManagerService、DeviceIdleController、JobScheduler、AlarmManager、ActivityManager、BatteryStats)
- 146.2 Doze:设备空闲状态下的 CPU、Network、Alarm 限制(说明 idle state、maintenance window、network cutoff、alarm quota 和高优先级 FCM)
- 146.3 App Standby:按用户近期交互调整 App 后台能力(覆盖 standby bucket、quota、最近使用、通知交互和后台任务配额)
- 146.4 JobScheduler 与系统批量调度(讲清 job constraint、deadline、backoff、network type、charging、idle 和 quota)
- 146.5 WorkManager:持久化、约束化、可重试的后台任务(说明 WorkManager 如何映射到 JobScheduler、alarm、foreground service 并处理重试)
- 146.6 Foreground Service 与用户可见长期任务(连接前台通知、service type、用户可见性、长期定位、媒体播放和上传下载)
- 146.7 WakeLock 的系统成本与滥用风险(分析保持 CPU 唤醒、阻止休眠、耗电异常、BatteryStats 归因和治理)
- 146.8 Android 后台执行路径:App → Work / Job / Service → System Scheduler → Power Policy(把后台任务失败归因到配额、约束、策略或 OEM 定制)
Chapter 147: Apple Background Modes, BGTaskScheduler, Push, Suspension, Thermal State
- 147.1 Apple Background Execution 总路径(串起 app lifecycle、suspension、background modes、BGTaskScheduler、push、URLSession、thermal feedback)
- 147.2 Suspension 作为默认后台状态(说明应用进入后台后状态冻结、任务暂停、内存保留和系统恢复条件)
- 147.3 Background Modes:Audio、Location、Bluetooth、VoIP 等系统批准能力(覆盖系统认可的持续能力、声明方式、用户提示和审核关注点)
- 147.4 BGTaskScheduler:后台刷新与后台处理任务入口(讲清 refresh、processing、earliestBeginDate、系统窗口、充电和网络条件)
- 147.5 Background URLSession 与系统托管网络传输(说明上传下载如何交给系统进程继续执行并在完成时回调应用)
- 147.6 Silent Push、Remote Notification 与后台唤醒边界(连接推送优先级、唤醒预算、用户设置、通知展示和后台刷新)
- 147.7 ProcessInfo Thermal State 与温控反馈(说明 nominal、fair、serious、critical 状态如何指导应用降级工作量)
- 147.8 Apple 后台执行路径:App Request → System Scheduler → Policy Window → Execution Budget(解释后台任务触发时机、执行时长和失败原因)
Chapter 148: Notification Delivery, Permission, Priority, User Attention
- 148.1 Notification 作为系统管理的用户注意力通道(说明通知由系统集中管理,以平衡应用触达、用户打扰和设备状态)
- 148.2 Notification Permission 与用户授权边界(覆盖授权请求、渠道/类别设置、静默、关闭、摘要、重要通知等状态)
- 148.3 Local Notification 与 Remote Push Notification(比较本地定时提醒、服务器推送、设备 token、payload、展示和点击路径)
- 148.4 Priority、Channel、Category、Interruption Level 的策略语义(讲清优先级、渠道、类别、中断级别如何影响声音、横幅、锁屏和焦点模式)
- 148.5 Push Delivery 与后台唤醒的关系(说明推送服务、设备连接、系统接收、应用唤醒、通知展示之间的链路)
- 148.6 Doze / Focus / Notification Summary / User Settings 对送达的影响(分析省电、专注、摘要、用户静音、系统策略对送达和展示的影响)
- 148.7 Notification Abuse 与平台治理(识别过度推送、误导提醒、诱导打开、后台保活和平台处罚)
- 148.8 Notification 作为 Power、Privacy、Attention 的交汇点(从电池、隐私、注意力三个角度设计通知策略)
Chapter 149: OEM Background Policy and Notification Behavior
- 149.1 Android OEM 对后台执行策略的定制空间(说明厂商如何在 AOSP 电源策略之上加入省电、清理、通知、推送和权限中心)
- 149.2 自启动管理、后台冻结、进程清理与省电策略(讲清自启动白名单、后台冻结、进程清理、锁屏清理和用户设置)
- 149.3 Push Channel、厂商推送服务与通知送达差异(连接 FCM、厂商推送、网络保活、系统白名单和通知展示策略)
- 149.4 Whitelist、Protected App、Battery Optimization Exemption(说明白名单、保护应用、电池优化豁免如何改变后台执行机会)
- 149.5 Camera、Location、Network、Bluetooth 后台能力的厂商差异(分析厂商对敏感能力、后台扫描、长期定位和网络保活的额外策略)
- 149.6 OEM Policy 对 WorkManager、JobScheduler、Foreground Service 的影响(把标准 Android API 映射到真实设备上的执行结果差异)
- 149.7 Android 生态中后台行为差异的系统来源(从厂商服务、电源策略、推送通道、权限中心和系统版本解释行为差异)
- 149.8 从 Power Policy 评估 OEM 系统行为(用通知送达、后台任务、耗电曲线、用户设置评估 OEM 系统)
Part 20: Debugging and Observability
Chapter 150: Mobile System Debugging Surface
- 150.1 Debugging Surface 与系统可观测性边界(说明哪些状态可以从应用、系统服务、内核、设备诊断包中观察到)
- 150.2 App-Level Debugging、Framework-Level Debugging、System-Level Debugging(区分断点、日志、API 状态、系统 dump、trace、内核事件的适用层级)
- 150.3 Logs、Traces、Metrics、Crash Reports、Bug Reports 的职责划分(讲清日志记录事件,trace 还原时间线,metrics 量化趋势,crash/bugreport 保存现场)
- 150.4 User-Space、Kernel-Space、Driver、System Service 的问题定位边界(把崩溃、卡顿、权限失败、驱动异常、硬件能力问题映射到责任层)
- 150.5 Debug Build、Release Build、Production Device 的可观测性差异(说明符号、日志级别、权限、采样开销、隐私脱敏对诊断的影响)
- 150.6 Android 与 Apple 调试面的开放程度差异(比较 Android dump/trace/source 与 Apple Instruments/sysdiagnose/公开 API 推断的差异)
- 150.7 从现象到系统路径的定位流程(建立现象描述、复现条件、时间线、进程线程、系统服务、硬件边界的排查顺序)
Chapter 151: Logs, Crash Reports, ANR, Watchdog, System Diagnostics
- 151.1 Log 作为运行时事件序列(说明日志时间戳、tag/category、level、process/thread id 如何构成事件顺序)
- 151.2 Crash Report 作为异常终止现场(覆盖异常类型、signal、fault address、thread backtrace、binary image 和设备状态)
- 151.3 ANR / Hang 作为主线程或服务响应失败(讲清 input timeout、broadcast timeout、service timeout、主线程堆栈和锁等待)
- 151.4 Watchdog 作为系统服务健康监控机制(说明系统服务心跳、锁持有、阻塞检测、重启/崩溃保护)
- 151.5 System Diagnostics 与全局状态快照(连接进程列表、内存、电源、网络、服务状态、日志和 trace)
- 151.6 Symbolication、Stack Trace、Thread State 与崩溃还原(讲清符号表、dSYM、mapping、寄存器、调用栈和线程状态如何还原现场)
- 151.7 诊断数据中的时间线、线程、进程和资源状态(把多份诊断资料合并成一条因果链)
Chapter 152: Android logcat, dumpsys, bugreport, Perfetto, systrace, tombstone
- 152.1 logcat 与 Android 日志系统(说明 main/system/events/crash buffer、tag、priority、pid/tid、时间戳和过滤方式)
- 152.2 dumpsys 与 System Service 状态导出(讲清 activity、window、input、power、battery、surfaceflinger、media.camera 等服务状态)
- 152.3 bugreport 作为设备级诊断快照(覆盖 dumpsys、logcat、tombstone、ANR、kernel log、属性、版本和系统状态)
- 152.4 Perfetto / systrace 与跨层时间线追踪(说明 track、slice、counter、sched、binder、freq、frame timeline 的阅读方法)
- 152.5 tombstone 与 Native Crash 现场(讲清 signal、backtrace、register、memory map、abort message 和 native symbolication)
- 152.6 ANR Trace、Looper State、Binder State 与卡顿定位(连接主线程消息、锁等待、binder 调用、system_server 状态和输入超时)
- 152.7 Android Debug Path:Log → Dump → Trace → Tombstone → Source(从现象进入日志,再用 dump/trace/source 还原系统路径)
Chapter 153: Apple Console, Instruments, MetricKit, sysdiagnose, Crash Logs
- 153.1 Console 与 Unified Logging(说明 subsystem、category、privacy、signpost、predicate 和时间范围筛选)
- 153.2 Instruments 与性能、内存、能耗、图形分析(覆盖 Time Profiler、Allocations、Leaks、Energy Log、Core Animation、Metal System Trace)
- 153.3 MetricKit 与 App 级诊断数据(讲清 crash、hang、CPU、memory、disk write、cellular、thermal 等聚合指标)
- 153.4 sysdiagnose 与设备级系统诊断包(说明日志、spindump、power log、network、thermal、crash、系统配置如何组成设备级证据包)
- 153.5 Crash Logs、Spin Reports、Jetsam Reports 与异常终止(区分崩溃、卡死采样、内存压力杀进程和 watchdog 终止)
- 153.6 Symbolication、dSYM、Thread Backtrace 与崩溃还原(连接 dSYM、UUID、symbolication、thread state、binary image 和源码定位)
- 153.7 Apple Debug Path:Log → Instrument → Metric → sysdiagnose → Crash Report(从公开工具组合出 Apple 平台的诊断路径)
Chapter 154: Graphics Debugging for Frame Drop Overdraw Surface Layer and GPU Tool
- 154.1 Frame Drop 与显示时间线(把输入、主线程、渲染线程、GPU、合成器、present 时间点放入同一帧)
- 154.2 Overdraw、Layout Cost、GPU Cost 与渲染负载(分析过度绘制、复杂布局、纹理上传、shader、fill rate、带宽对帧预算的影响)
- 154.3 Android SurfaceFlinger、FrameTimeline、GPU Inspector(说明 frame timeline、layer state、present fence、GPU counter 的阅读方式)
- 154.4 Apple Core Animation Instrument、Metal System Trace、GPU Capture(覆盖 layer 诊断、Core Animation commits、Metal command、GPU workload 和 present)
- 154.5 Surface / Layer 状态与合成路径定位(连接 surface/layer、buffer、transaction、z-order、composition decision 和显示问题)
- 154.6 VSync、Buffer Queue、Present Time 与卡顿分析(讲清 missed vsync、queue stall、fence wait、late present 和 pacing 异常)
- 154.7 从 Frame Trace 还原 App → GPU → Display 的路径(把掉帧归因到应用、渲染、合成或显示硬件)
Chapter 155: Energy and Thermal Debugging
- 155.1 Energy Debugging 的系统指标(定义 CPU time、wakeups、network bytes、GPS usage、display time、thermal state 等核心指标)
- 155.2 CPU Wakeup、Network Wakeup、Location Update、Sensor Sampling(说明唤醒源、后台轮询、定位更新、传感器采样如何堆出电池消耗)
- 155.3 Thermal State、Frequency Throttling 与性能下降(连接温度状态、频率降低、帧率下降、相机降级、网络吞吐变化)
- 155.4 Android Battery Historian、Perfetto、Power Stats(讲清 batterystats、wake lock、job、alarm、network、freq、thermal 轨迹)
- 155.5 Apple Energy Log、Instruments、MetricKit Thermal / Energy Metrics(说明 energy report、thermal metric、hang/crash correlation 和用户体验指标)
- 155.6 Background Task、Push、Network、Audio 对能耗的影响(把后台刷新、推送保活、网络连接、音频播放、定位导航归入能耗模型)
- 155.7 从能耗曲线定位系统策略问题(用时间线把耗电峰值归因到任务、硬件、网络或系统策略)
Chapter 156: Trace Reading App to Service to Kernel to Hardware
- 156.1 Trace 作为跨层系统叙事(说明 trace 如何把多个线程、进程、系统服务和硬件状态压到同一时间轴)
- 156.2 时间轴、线程、进程、事件和状态的组合阅读(讲清 slice、instant event、counter、state track、thread scheduling 的组合含义)
- 156.3 App Event 到 Framework Call 的定位(把点击、滚动、拍照、播放、网络请求映射到 framework API 和主线程事件)
- 156.4 Framework Call 到 System Service / IPC 的定位(说明 Binder、XPC、daemon call、callback、reply、timeout 在 trace 中的表现)
- 156.5 System Service 到 Kernel / Driver / Hardware Boundary 的定位(连接系统服务调度、内核事件、driver callback、硬件 queue 和 fence)
- 156.6 Graphics、Input、Camera、Audio、Network 的 Trace 模板(给出五类典型路径的时间轴阅读骨架和关键指标)
- 156.7 从单点症状到完整系统路径(形成从一个卡顿、失败或耗电现象还原整条系统链路的能力)
Part 21: Android Architecture Mapping
Chapter 157: Android Full Stack Capability Path
- 157.1 Android Full Stack 的分层总图(把 app、framework、Binder、system_server、native service、HAL、kernel、hardware 放入同一能力路径)
- 157.2 App Layer:APK、Process、Component、Sandbox(说明 APK、进程、Activity/Service/Receiver/Provider、UID sandbox 如何组成应用执行面)
- 157.3 Java / Kotlin Framework API 作为系统能力入口(连接 manager class、context service、permission check、callback 和应用可见 API)
- 157.4 Binder 作为 Framework 与 System Service 的 IPC 主干(讲清 proxy/stub、transaction、caller identity、thread pool、death recipient 在路径中的作用)
- 157.5 System Service 作为能力代理与资源仲裁层(说明服务如何承担权限检查、状态管理、资源分配、策略执行和错误返回)
- 157.6 HAL 作为 Framework 与 Vendor Hardware 的边界(覆盖 AIDL/HIDL HAL、vendor implementation、VINTF、binderized/passthrough 历史和设备适配)
- 157.7 Linux Kernel 作为进程、内存、驱动、网络和安全基础(把调度、内存、文件、网络、driver、SELinux、Binder driver 放入底层支撑)
- 157.8 从 App API 到硬件能力的 Android 标准路径(把任意 Android 能力沿 API、service、HAL、driver 还原到硬件)
Chapter 158: Android Linux Kernel Standard Kernel Role and Mobile Extensions
- 158.1 Android Kernel 与标准 Linux Kernel 的共同基础(说明 Android 继承进程、线程、调度、内存、VFS、网络、驱动等 Linux 能力)
- 158.2 Process、Thread、Scheduler、Memory、File、Network 的内核职责(把应用进程运行、线程调度、内存回收、文件访问、socket 通信映射到内核职责)
- 158.3 Binder Driver 作为 Android 专用 IPC 基础(讲清 binder node、ref、transaction、buffer、thread wait 和 caller identity 的内核支撑)
- 158.4 SELinux、UID、cgroup、namespace 与 App 隔离(连接 DAC、MAC、进程分组、资源控制、命名空间和应用隔离)
- 158.5 Power Management、WakeLock、Suspend、Thermal 的移动扩展(说明移动设备如何围绕休眠、唤醒源、热管理和电源状态调整内核行为)
- 158.6 Device Driver、Vendor Driver 与硬件适配(覆盖 SoC driver、display、camera、audio、sensor、modem、vendor module 和驱动维护)
- 158.7 Android Kernel 对 Framework / HAL 的支撑关系(把 framework 服务、HAL、Binder driver、设备驱动、调度、内存和安全策略连接成底层支撑链)
Chapter 159: AOSP, GMS, Vendor Partition, Project Treble, Device Adaptation
- 159.1 AOSP 作为 Android 开源平台基础(说明 AOSP 提供 framework、system service、native service、build system 和基础应用框架)
- 159.2 GMS 与 Google 服务生态边界(区分开源系统能力、Google proprietary service、Play policy、兼容性认证和应用生态)
- 159.3 System Partition、Vendor Partition、Product Partition 的职责划分(讲清系统镜像、厂商实现、产品定制、ODM/OEM 内容的分区责任)
- 159.4 Project Treble 与 Framework / Vendor 分离(说明 Treble 如何用稳定接口降低系统升级和厂商适配耦合)
- 159.5 VINTF、HAL Interface、Compatibility Matrix(覆盖 manifest、compatibility matrix、HAL version、interface stability 和启动期校验)
- 159.6 Device Adaptation:SoC、Board、Driver、Firmware、HAL(把芯片、板级配置、driver、firmware、HAL、vendor service 组成设备适配链)
- 159.7 Android 可移植性与碎片化的系统来源(从开源基础、厂商硬件、GMS、分区架构和升级链解释设备差异)
Chapter 160: Android system_server Service Map
- 160.1 system_server 作为 Java System Service 宿主进程(说明核心 Java 服务集中运行、启动顺序、服务依赖和进程风险)
- 160.2 ActivityManagerService 与进程 / 组件生命周期管理(覆盖进程优先级、任务栈、service、broadcast、provider、OOM adj 和后台策略)
- 160.3 PackageManagerService 与安装包、签名、权限、组件解析(讲清包扫描、签名校验、权限授予、intent 解析和安装状态)
- 160.4 WindowManagerService 与窗口层级、焦点、显示策略(连接窗口 token、z-order、focus、input target、display policy 和动画)
- 160.5 PowerManagerService 与电源、WakeLock、设备状态(说明 wakelock、screen state、sleep/wake、battery saver、thermal 回调的服务入口)
- 160.6 system_server 与 Binder Service 注册模型(讲清 ServiceManager 注册、service lookup、permission enforcement 和死亡影响)
- 160.7 system_server Watchdog、ANR 与系统稳定性(连接主线程阻塞、watchdog 检测、ANR 传播、系统重启和诊断日志)
Chapter 161: Android Native Service Map
- 161.1 Native Service 在 Android 架构中的位置(说明 native daemon/service 如何服务图形、音频、媒体、相机、传感器等低延迟能力)
- 161.2 SurfaceFlinger 与系统图形合成(连接 layer、buffer、transaction、composition、HWC 和 display present)
- 161.3 AudioFlinger 与音频混音、路由、低延迟路径(说明 track、mixer thread、record thread、fast path、Audio HAL 的协作)
- 161.4 MediaService / MediaCodecService 与媒体解码编码(覆盖 codec allocation、extractor、DRM、hardware codec、client lifecycle)
- 161.5 CameraService 与 Camera HAL 访问(讲清 camera client、session、stream、resource arbitration、provider/HAL 调用)
- 161.6 SensorService 与 Sensors HAL 数据流(说明 sensor event、batching、wake-up sensor、client connection 和 HAL 事件分发)
- 161.7 Native Service、HAL、Kernel Driver 的跨层关系(判断低层能力问题发生在 service、HAL、driver 还是硬件)
Chapter 162: ART, Zygote, DEX, JIT, AOT, App Startup
- 162.1 ART 在 Android Runtime Layer 中的位置(说明 ART 如何执行 DEX、管理对象、调度 GC、连接 native code 和 framework)
- 162.2 DEX、Class Loading、Method Resolution 与执行模型(覆盖 DEX 文件、class loader、method resolution、verification、interpreter 和 compiled code)
- 162.3 JIT / AOT / Profile-Guided Compilation(讲清安装期编译、运行时热点、profile 收集、后台优化和启动性能)
- 162.4 Zygote Preload 与 Fork-Based App Startup(说明预加载类/资源、fork 复制、内存共享、app specialization 和启动成本)
- 162.5 ActivityThread、LoadedApk、Application、Main Looper(连接进程入口、包加载、Application 创建、主线程消息循环和组件启动)
- 162.6 Runtime 与 Binder、Framework、Native Library 的连接(说明 Java framework、JNI、native library、Binder callback 在运行时中的交汇)
- 162.7 App Startup 性能、内存共享和系统策略(从冷启动时间、预加载、编译状态、进程优先级分析启动表现)
Chapter 163: Android Deep Path Camera Request
- 163.1 Camera Request 的跨层路径总览(把一次拍照请求拆成应用配置、framework 会话、Binder 调用、CameraService、HAL、driver、sensor)
- 163.2 App Layer:Camera2 API、CaptureRequest、Surface(说明应用如何声明 stream、request metadata、surface target 和回调)
- 163.3 Framework Layer:CameraManager、CameraDevice、Session(讲清设备打开、session 配置、重复请求、单次捕获和结果回调)
- 163.4 Binder Layer:Camera Service 远程调用(说明 framework proxy 如何携带 caller identity、surface handle 和请求状态跨进程)
- 163.5 System Service Layer:CameraService、Client、Resource Arbitration(覆盖权限检查、设备占用、client priority、错误恢复和断开通知)
- 163.6 HAL Layer:Camera Provider、Camera Device、Stream Configuration(连接 provider、device、session、stream、buffer、capture request 和 result)
- 163.7 Kernel / Hardware Layer:Driver、ISP、Sensor、Buffer(说明驱动、ISP、sensor 控制、DMA buffer、timestamp 和 frame queue)
- 163.8 Permission、AppOps、SELinux、Privacy Indicator 的检查点(沿请求路径标出每个安全检查位置)
Chapter 164: Android Deep Path Touch Event
- 164.1 Touch Event 的跨层路径总览(把触摸采样、evdev、InputReader、InputDispatcher、Window、ViewRoot、View 回调串起来)
- 164.2 Hardware Layer:Touch Controller 与 Raw Event(说明控制器采样、多点追踪、压力/面积、固件过滤和事件时间戳)
- 164.3 Kernel Layer:Input Driver 与
/dev/input/event*(覆盖 input driver、evdev node、event code、slot protocol 和设备权限) - 164.4 Native Layer:EventHub、InputReader、InputDispatcher(讲清事件读取、归一化、目标选择、队列分发和超时监控)
- 164.5 Window Layer:Focus Window、Touch Target、InputChannel(连接窗口层级、焦点、触摸目标、input channel 和跨进程传递)
- 164.6 App Layer:ViewRootImpl、DecorView、ViewGroup、View(说明事件进入应用后经过 ViewRoot、DecorView、ViewGroup 拦截和 View 处理)
- 164.7 Looper、MessageQueue、Main Thread 与事件处理(把输入回调、主线程任务、布局绘制、动画提交放入同一队列)
- 164.8 Input Latency、ANR、Frame Feedback 的定位路径(从点击无响应或触控延迟定位到硬件、服务、主线程或渲染阶段)
Chapter 165: Android Deep Path Frame Rendering
- 165.1 Frame Rendering 的跨层路径总览(把 invalidate、layout、draw、RenderThread、GPU、SurfaceFlinger、HWC、display 串成一帧)
- 165.2 App Layer:View Hierarchy、Layout、Draw、Invalidate(说明 View 树如何触发布局、绘制、display list 更新和状态同步)
- 165.3 Runtime / Thread Layer:Main Thread、RenderThread、Choreographer(讲清 vsync callback、主线程提交、RenderThread 执行和帧截止点)
- 165.4 Graphics Layer:Skia、OpenGL ES / Vulkan、GPU Command(连接 Skia 后端、GPU command、texture、shader、driver 和执行时间)
- 165.5 Surface Layer:Surface、BufferQueue、GraphicBuffer(说明 buffer dequeue/queue、fence、producer/consumer、跨进程传递)
- 165.6 System Composition Layer:SurfaceFlinger、Layer、Transaction(覆盖 layer state、buffer latch、composition decision、present fence)
- 165.7 Hardware Layer:Hardware Composer、Display Controller、Panel(说明 HWC、overlay plane、display controller、panel refresh 和最终扫描输出)
- 165.8 Jank、Missed Frame、VSync、FrameTimeline 的系统分析路径(用 FrameTimeline 把掉帧归因到 app、render、GPU、compose 或 display)
Part 22: Apple Architecture Mapping
Chapter 166: Apple Full Stack Capability Path
- 166.1 Apple Full Stack 的分层总图(把 app、framework、XPC/daemon、XNU、IOKit/DriverKit、hardware、security policy 放入同一能力路径)
- 166.2 App Layer:Bundle、Process、Sandbox、Entitlement(说明 bundle identity、process、sandbox container、entitlement 如何决定应用能力)
- 166.3 Framework Layer 作为系统能力公开入口(连接 UIKit、AVFoundation、Core Location、Core Bluetooth、Security 等公开 API 与系统能力)
- 166.4 XPC / Daemon 作为 Framework 后端服务通道(讲清 framework 如何通过 XPC、Mach service、audit token 访问系统 daemon)
- 166.5 XNU 作为进程、内存、IPC、文件、网络和驱动基础(覆盖 Mach task/thread/port、BSD process/file/network、VM、security policy)
- 166.6 IOKit / DriverKit 作为设备驱动与硬件访问边界(说明 driver object、user-space driver、hardware service 和系统受控访问)
- 166.7 App 到硬件能力的 Apple 标准路径(从公开 API 推断 framework、daemon、driver、hardware 的分层)
- 166.8 Apple 软硬件一体化对系统路径的影响(说明硬件、系统、framework、App Store、默认应用统一控制带来的路径稳定性)
Chapter 167: Darwin and XNU Mach, BSD Layer, IOKit, Driver Boundary
- 167.1 Darwin 作为 Apple 系统底层基础(说明 Darwin 提供内核、基础命令、部分开源组件和类 Unix 系统底座)
- 167.2 XNU Hybrid Kernel 的组成结构(讲清 Mach、BSD、IOKit 组合在进程、IPC、文件、网络、驱动中的分工)
- 167.3 Mach:Task、Thread、Port、Message、VM(覆盖 task/thread、port right、message、virtual memory 和 XPC/Mach 服务基础)
- 167.4 BSD Layer:Process、File System、Network、POSIX Interface(说明进程模型、文件系统、socket、权限、POSIX 接口的作用)
- 167.5 IOKit:Driver Object Model 与设备服务(连接 driver object、registry、matching、user client、hardware service)
- 167.6 Kernel Extension、DriverKit 与驱动边界演进(说明从 kext 到 DriverKit 的安全、稳定性和用户态驱动演进)
- 167.7 XNU 中 Mach / BSD / IOKit 的职责分工(按问题类型判断应查看 Mach、BSD 还是驱动模型)
- 167.8 Darwin / XNU 与完整 iOS / macOS 平台的边界(区分开源底座、私有 framework、系统 daemon、平台政策和硬件集成)
Chapter 168: launchd, XPC, System Daemon, Service Access
- 168.1 launchd 作为系统服务管理根节点(说明 launchd 如何启动、监督、按需唤醒 daemon、agent 和 XPC service)
- 168.2 Daemon、Agent、XPC Service 的服务形态(区分系统 daemon、用户 agent、应用内 XPC service 在权限和生命周期上的差异)
- 168.3 Framework Frontend 到 Daemon Backend 的调用路径(连接公开 API、XPC connection、service name、audit token、reply callback)
- 168.4 XPC Connection、Message、Reply 与连接生命周期(讲清连接创建、消息序列化、reply、error、invalidation、service crash)
- 168.5 Mach Service Name 与 launchd 按需启动(说明 Mach service name 如何让客户端发现服务并触发 daemon 启动)
- 168.6 Service Access 中的 Entitlement、Sandbox、Audit Token(定位 entitlement 检查、sandbox profile、audit token、TCC 状态在服务访问中的位置)
- 168.7 Daemon Failure、Restart、Crash 与系统恢复(覆盖崩溃重启、连接断开、client 重试、状态恢复和日志诊断)
- 168.8 Apple 服务模型中的后台隔离和权限控制(把 framework、XPC connection、daemon、entitlement、sandbox 和 audit token 连接成后台隔离与权限控制链)
Chapter 169: Frameworks as Public Frontends to System Capabilities
- 169.1 Framework 作为 Apple 平台能力表面(说明 Apple 通过 framework 把底层服务封装为稳定、受权限控制的开发者入口)
- 169.2 Foundation、Core Foundation 与基础系统能力(覆盖对象、集合、文件、网络基础、run loop、时间、进程环境等基础能力)
- 169.3 AVFoundation、Core Media、Core Audio 与媒体能力(连接播放、录制、音频、视频、时间戳、sample buffer 和硬件 codec)
- 169.4 Core Location、Core Bluetooth、Core NFC 与设备能力(说明定位、蓝牙、NFC 如何通过高层对象和 delegate 回调呈现)
- 169.5 Core Animation、Metal 与图形显示能力(连接 view/layer、animation transaction、GPU command、display server 和 frame deadline)
- 169.6 Security、Keychain、LocalAuthentication 与安全能力(覆盖证书、密钥、Keychain、认证、生物识别、Secure Enclave 入口)
- 169.7 Framework API 与内部 Daemon / Service 的分离(讲清公开方法、错误码、授权检查、daemon 状态之间的边界)
- 169.8 Public API Surface 与 Private System Architecture(用公开 API 行为推断内部架构,保持证据边界)
Chapter 170: Code Signing, Entitlement, Sandbox, Keychain, Secure Enclave
- 170.1 Code Signing 作为 Apple 平台信任入口(说明签名如何绑定代码、开发者身份、bundle id、运行时校验和系统准入)
- 170.2 Entitlement 作为受控能力声明(讲清 entitlement 来自 profile/签名,被系统服务用来检查受控能力)
- 170.3 App Sandbox 与容器化资源访问(覆盖 sandbox profile、container、file access、extension、app group 和临时授权)
- 170.4 TCC、Privacy Prompt 与用户授权数据库(说明相机、麦克风、定位、相册、通讯录等隐私授权的记录和检查)
- 170.5 Keychain 与 App / App Group 级秘密存储(连接 access group、item class、data protection、同步和应用组共享)
- 170.6 Secure Enclave 与硬件隔离安全域(说明密钥保护、生物认证、passcode、Keybag 和硬件隔离执行)
- 170.7 Provisioning Profile、Team ID、Bundle ID 与 App Identity(把开发团队、应用标识、profile、entitlement、安装准入连成身份链)
- 170.8 Trust Chain 从启动期延伸到 App 能力访问(把硬件信任、系统启动、代码签名和能力检查放到同一条链)
Chapter 171: Mach-O, dyld, Swift Runtime, Objective-C Runtime, Framework Loading
- 171.1 Mach-O 作为 Apple 可执行文件格式(说明 header、load command、segment、section、symbol、code signature 的作用)
- 171.2 dyld 与 Dynamic Linking(讲清依赖库加载、符号绑定、rebase、bind、lazy bind 和启动成本)
- 171.3 dyld Shared Cache 与系统 Framework 加载(说明系统 framework 预构建缓存如何减少启动开销并稳定地址布局)
- 171.4 Objective-C Runtime:Class、Selector、Message Dispatch(覆盖 class metadata、selector、method cache、message send、category 和 swizzling)
- 171.5 Swift Runtime:Metadata、Protocol Witness Table、Generics(讲清类型元数据、协议见证表、泛型、动态派发和 ABI)
- 171.6 ARC、Reference Counting 与对象生命周期(说明 retain/release、weak、autorelease pool、循环引用和内存峰值)
- 171.7 Framework Loading、Symbol Binding 与启动性能(连接动态库数量、初始化、符号解析、Swift metadata、启动时间)
- 171.8 Runtime Layer 与 Framework / Daemon 调用路径的关系(把应用启动、framework 加载和系统服务访问联系起来)
Chapter 172: Apple Deep Path Camera Request
- 172.1 Camera Request 的 Apple 跨层路径总览(把 AVCaptureSession 配置、权限检查、daemon 仲裁、driver/ISP、media save 串成请求路径)
- 172.2 App Layer:AVCaptureSession、AVCaptureDevice、AVCaptureOutput(说明 session graph、device input、photo/video output、connection、preset 和回调)
- 172.3 Framework Layer:AVFoundation 与 Core Media Sample Buffer(连接 AVFoundation 对象、CMSampleBuffer、CVPixelBuffer、timestamp 和 attachments)
- 172.4 Privacy Layer:Camera Permission、TCC、Privacy Indicator(定位授权提示、TCC 记录、系统服务检查、隐私指示器和错误返回)
- 172.5 Service Layer:System Media Service / Daemon 与资源仲裁(说明系统媒体服务如何管理设备占用、session、priority、interrupt 和恢复)
- 172.6 Driver / Hardware Layer:Driver Framework、ISP、Sensor(讲清公开 API 背后的驱动框架、ISP、sensor、buffer、timestamp)
- 172.7 Media Layer:Preview、Capture、Encode、Save(覆盖预览显示、拍照处理、录像编码、metadata、Photos 保存和权限)
- 172.8 Apple Camera Path 中的封闭硬件能力与 Public API 边界(用公开信号推断内部路径,同时标明硬件私有部分)
Chapter 173: Apple Deep Path Touch Event
- 173.1 Touch Event 的 Apple 跨层路径总览(把硬件采样、driver、system event、UIKit queue、hit-testing、gesture、view callback 串起来)
- 173.2 Hardware Layer:Touch Controller、Display Hardware、Input Sampling(说明触摸采样、预测、显示刷新、时间戳和硬件协同)
- 173.3 Kernel / Driver Layer:XNU、IOKit / Driver Boundary(覆盖驱动上报、事件标准化、系统输入服务和硬件边界)
- 173.4 Event Delivery Layer:System Event Queue 与 RunLoop(讲清事件进入主线程 run loop、mode、source、队列和处理时机)
- 173.5 Framework Layer:UIKit Event、Hit-Testing、Responder Chain(连接 UIEvent、UITouch、命中测试、响应链和控件回调)
- 173.6 Gesture Layer:UIGestureRecognizer 与 Touch Sequence(说明 recognizer state、failure dependency、cancel、simultaneous recognition)
- 173.7 App Layer:UIView、UIControl、UIViewController(区分 view touch handling、control event、gesture callback、controller coordination)
- 173.8 Touch Latency、Main Thread、Frame Pipeline 的协作关系(把触摸手感问题归因到输入、主线程、手势或显示反馈)
Chapter 174: Apple Deep Path Frame Rendering
- 174.1 Frame Rendering 的 Apple 跨层路径总览(把 view 更新、layer transaction、Core Animation、Metal/GPU、display server、panel 串成一帧)
- 174.2 App Layer:View、Layout、Drawing、State Update(说明 UIKit/SwiftUI 状态变化、布局、绘制和 display invalidation)
- 174.3 Layer Layer:CALayer、Layer Tree、Animation Transaction(连接 layer property、implicit animation、transaction commit、backing store)
- 174.4 Render Layer:Core Animation、Metal、GPU Command(讲清 Core Animation render server、Metal command buffer、GPU workload 和纹理资源)
- 174.5 Composition Layer:WindowServer / Display Server、Layer Composition(覆盖窗口层级、系统 UI、layer composition、color、HDR、present)
- 174.6 Display Layer:Display Controller、Panel、Refresh Rate(说明显示控制器、面板刷新率、ProMotion、扫描输出和显示功耗)
- 174.7 Frame Deadline、VSync、Buffering、Presentation(讲清帧预算、vsync、buffering、drawable present 和 deadline miss)
- 174.8 Jank、GPU Cost、Main Thread Blocking 与 Frame Trace(用 Instruments 从掉帧回溯到应用、layer、GPU 或 display 阶段)
Part 23: Android vs Apple Architecture Comparison
Chapter 175: Open Ecosystem and Integrated Ecosystem
- 175.1 Android 开放生态的系统结构(说明 AOSP、Google、OEM、SoC vendor、运营商、应用开发者共同塑造平台行为)
- 175.2 Apple 一体化生态的系统结构(说明硬件、系统、framework、默认应用、商店审核和开发者工具由 Apple 统一协调)
- 175.3 AOSP、GMS、OEM、SoC Vendor 的多方协作模型(拆解源码平台、Google 服务、厂商定制、芯片驱动、设备认证之间的协作链)
- 175.4 Apple Hardware、OS、Framework、Store 的统一控制模型(连接芯片设计、系统 API、驱动路径、隐私政策、应用分发和用户体验)
- 175.5 开放适配与统一体验之间的架构取舍(比较硬件多样性、厂商创新、兼容成本、更新速度、体验一致性)
- 175.6 设备多样性、系统更新、兼容性和长期维护(说明设备差异如何影响 API 行为、测试矩阵、驱动维护和安全补丁)
- 175.7 生态结构对开发者、用户和厂商的影响(从生态结构解释 app 适配、用户体验、厂商控制和平台治理)
Chapter 176: Linux Kernel + HAL and XNU + Apple-Controlled Driver Framework
- 176.1 Android 的 Linux Kernel 基础(说明 Android 使用 Linux 进程、内存、驱动、网络、安全基础并加入移动平台扩展)
- 176.2 Android HAL 作为 Framework 与 Vendor Hardware 的边界(讲清 HAL interface 如何让 framework 调用厂商硬件实现)
- 176.3 Apple XNU 的 Mach、BSD、IOKit 组合结构(连接 Mach IPC/VM、BSD 文件网络、IOKit/DriverKit 设备访问)
- 176.4 Apple Driver Framework 与受控硬件访问(说明 Apple 如何通过自控驱动框架、私有硬件路径和公开 API 管理硬件能力)
- 176.5 Vendor Boundary 与 Apple-Controlled Boundary 的差异(比较 Android 厂商边界和 Apple 自控边界在接口稳定、调试、更新上的影响)
- 176.6 Driver Update、System Update 与设备生命周期(分析驱动维护、系统升级、长期支持、安全补丁和设备寿命)
- 176.7 Kernel / Driver 层差异对平台稳定性的影响(从底层边界解释兼容性、崩溃、性能和硬件体验差异)
Chapter 177: Binder system_server and XPC Daemons
- 177.1 Android Binder 作为系统服务 IPC 主干(说明 Binder 如何承载 framework 到 system_server/native service 的同步调用和身份传递)
- 177.2 system_server 作为 Java System Service 宿主(比较集中服务进程带来的共享状态、watchdog、ANR 和系统级风险)
- 177.3 Android Native Services 与 ServiceManager(说明 SurfaceFlinger、AudioFlinger、CameraService 等 native 服务的注册与调用)
- 177.4 Apple Mach Port、XPC、launchd 的服务访问模型(讲清 Mach service name、launchd 按需启动、XPC connection 和 audit token)
- 177.5 Apple Daemon / Agent / XPC Service 的进程隔离方式(比较按服务拆分进程带来的故障隔离、权限边界和重启恢复)
- 177.6 Caller Identity、Permission Check、Entitlement Check 的差异(把 Android caller uid/permission/AppOps 与 Apple audit token/entitlement/TCC 对齐比较)
- 177.7 IPC 结构对系统可观测性和故障隔离的影响(解释为什么 Android 更容易沿 Binder 查路径,Apple 更依赖 daemon 日志和工具推断)
Chapter 178: Permission + SELinux and Entitlement + Sandbox
- 178.1 Android Permission Model 与 Runtime Grant(说明 manifest 声明、运行时授权、AppOps、service enforcement 组成能力访问链)
- 178.2 Android UID、App Sandbox、SELinux、AppOps 的组合关系(连接 Linux 身份、沙箱目录、MAC 策略、运行时权限状态和日志审计)
- 178.3 Apple Code Signing、Entitlement、TCC、Sandbox 的组合关系(连接签名身份、受控能力声明、用户授权数据库和沙箱资源边界)
- 178.4 Permission Prompt 与 Entitlement Declaration 的差异(比较用户授权提示和开发者能力声明在时机、来源、执行点上的差异)
- 178.5 User Consent 与 Platform Policy 的边界(说明用户同意、平台准入、系统服务检查、硬件安全域之间的职责)
- 178.6 System Service 中的安全检查点(定位 Android service enforcement 与 Apple daemon entitlement/TCC check 的共同位置)
- 178.7 Android 与 Apple 安全模型的控制哲学差异(从身份、授权、分发、沙箱、硬件信任解释安全设计差异)
Chapter 179: ART Zygote and dyld Swift Objective-C Runtime
- 179.1 Android ART 的 DEX 执行模型(说明 DEX、class loading、method resolution、JIT/AOT、GC 在应用运行中的作用)
- 179.2 Zygote Preload 与 Fork-Based App Startup(讲清预加载、fork、copy-on-write、共享内存和应用启动路径)
- 179.3 JIT、AOT、Profile-Guided Compilation 的运行时策略(比较安装期、运行期、后台 profile 优化对启动和执行性能的影响)
- 179.4 Apple Mach-O、dyld 与 Framework Loading(说明可执行文件、动态链接、dyld shared cache、framework 初始化和启动成本)
- 179.5 Swift Runtime、Objective-C Runtime 与动态分发(连接 Swift metadata、protocol witness、Objective-C message dispatch、ARC 和 ABI)
- 179.6 GC / Runtime Compilation 与 ARC / Dynamic Linking 的差异(比较 Android 托管运行时与 Apple 引用计数/动态链接在内存和启动上的取舍)
- 179.7 Runtime 设计对启动速度、内存和电池的影响(把冷启动、内存峰值、编译策略、GC/ARC 行为映射到体验)
Chapter 180: SurfaceFlinger Skia Vulkan and Core Animation Metal
- 180.1 Android Graphics Stack 的层次结构(把 View、RenderThread、Skia、GPU、Surface、SurfaceFlinger、HWC 放成渲染路径)
- 180.2 Skia、RenderThread、Surface、BufferQueue、SurfaceFlinger(说明绘制命令、buffer 生产消费、系统合成的协作方式)
- 180.3 Hardware Composer、Vulkan / OpenGL ES 与显示硬件(连接 GPU API、HWC、overlay plane、display controller 和最终 present)
- 180.4 Apple Graphics Stack 的层次结构(把 View、CALayer、Core Animation、Metal、WindowServer/display server、display 放成渲染路径)
- 180.5 View、Layer、Core Animation、Metal、Display Server(说明 layer transaction、animation、GPU command、系统合成和显示输出)
- 180.6 Android Surface 模型与 Apple Layer 模型(比较 surface/buffer queue 与 layer/core animation 在对象模型和合成路径上的差异)
- 180.7 Frame Deadline、Jank、Composition、Power 的平台差异(从帧预算、合成策略、工具可观测性和功耗解释体验差异)
Chapter 181: MediaCodec Camera HAL and AVFoundation Core Media VideoToolbox
- 181.1 Android Media Stack 与硬件 Codec 边界(说明 MediaCodec、Codec2/OMX、hardware codec、vendor capability 和设备差异)
- 181.2 MediaCodec、MediaExtractor、MediaMuxer、Surface 的协作(连接解复用、编解码、surface 渲染、容器写入和零拷贝路径)
- 181.3 Camera2、CameraService、Camera HAL 的相机路径(讲清 request/result、stream configuration、HAL、vendor ISP 和 buffer queue)
- 181.4 Apple AVFoundation 与媒体能力表面(说明 AVFoundation 如何封装播放、录制、相机、导出和权限)
- 181.5 Core Media、VideoToolbox、AVCaptureSession 的系统角色(连接 sample buffer、时间戳、硬件编解码、相机 session 和输出)
- 181.6 Android 厂商影像 Pipeline 与 Apple 一体化影像 Pipeline(比较厂商 HAL/算法定制与 Apple 自控 ISP/framework 在能力暴露上的差异)
- 181.7 媒体和相机系统中的开放适配与封闭优化差异(解释第三方相机质量、视频兼容性、硬件加速和设备表现)
Chapter 182: OEM Fragmentation and Platform Uniformity
- 182.1 Android OEM Fragmentation 的技术来源(从 SoC、驱动、HAL、厂商服务、GMS、系统版本和区域策略解释碎片化)
- 182.2 SoC、Driver、HAL、Vendor Partition、System Service 的差异(说明底层实现差异如何传导到 API 行为、性能、相机和后台策略)
- 182.3 GMS、AOSP、OEM Service、Vendor App 的生态组合(讲清 Google 服务、开源系统、厂商服务、预装应用组合出的平台行为)
- 182.4 Apple Platform Uniformity 的软硬件控制基础(说明统一硬件、统一系统升级、统一 framework 和统一商店策略带来的平台一致性)
- 182.5 系统更新、兼容性测试和长期维护路径(比较 CTS/VTS、OEM 测试、Apple 自控测试、补丁分发和设备生命周期)
- 182.6 用户体验差异:相机、后台、通知、权限、流畅度(把抽象平台差异落到用户可感知的行为和开发者适配成本)
- 182.7 Fragmentation 与 Uniformity 的工程取舍(用硬件创新、控制权、更新速度、兼容性和生态自由度评估两种模式)
Part 24: Android OEM Customization
Chapter 183: Android OEM Customization Surface
- 183.1 OEM Customization 在 Android 架构中的位置(说明厂商定制分布在 UI、系统服务、HAL、vendor partition、预装应用和云服务)
- 183.2 AOSP、GMS、Vendor Layer、OEM Services 的组合关系(连接开源平台、Google 服务、厂商底层实现、系统应用和生态服务)
- 183.3 System App、Framework Overlay、Native Service、HAL 的定制入口(讲清资源 overlay、framework policy、native daemon、HAL vendor tag、system app 扩展)
- 183.4 UI Customization 与 System Policy Customization 的边界(区分主题、launcher、设置界面与后台策略、电源策略、权限策略、通知策略)
- 183.5 OEM 定制对权限、后台、通知、相机、更新的影响(把厂商行为落到开发者和用户最常遇到的系统差异)
- 183.6 Compatibility、CTS、VTS 与厂商自由度边界(说明兼容性测试、接口稳定、GMS 认证如何约束厂商定制)
- 183.7 Android OEM System 作为 AOSP 基础上的平台发行版(把每个 OEM 系统理解为基于 Android 的再发行平台)
Chapter 184: UI Skin, System Services, Policy, Power, Camera, App Store
- 184.1 UI Skin 作为最表层的 OEM 差异(说明主题、launcher、设置、通知样式、系统控件如何形成第一层体验差异)
- 184.2 Framework Resource Overlay 与系统界面配置(讲清 RRO、framework resource、system UI config、feature flag 和区域配置)
- 184.3 System Service Policy 的厂商扩展空间(覆盖电源、通知、权限、后台、网络、相机等服务策略的厂商扩展点)
- 184.4 Power Policy、Background Policy 与厂商省电策略(连接后台冻结、自启动管理、任务配额、清理策略和用户设置)
- 184.5 Camera App、Camera HAL、ISP Tuning 与影像体验(说明默认相机、厂商 HAL、ISP tuning、算法库如何共同塑造影像质量)
- 184.6 OEM App Store、Account、Cloud、Push 与生态绑定(把账号、应用商店、云同步、推送、支付、多设备协同纳入厂商生态)
- 184.7 表层 UI 与深层系统策略的分离分析(区分视觉皮肤和真正影响应用行为的底层策略)
Chapter 185: Background Process Policy and Notification Delivery
- 185.1 Background Process Policy 的厂商差异来源(说明电源策略、进程清理、推送通道、白名单和用户设置如何改变后台行为)
- 185.2 Doze、App Standby、Standby Bucket 与基础 Android 策略(先建立 AOSP 基础策略,再观察厂商叠加规则)
- 185.3 OEM Battery Saver、Auto-Start、Protected App、Whitelist(讲清省电模式、自启动管理、保护应用、后台白名单的控制效果)
- 185.4 Foreground Service、JobScheduler、WorkManager 的实际执行差异(把标准 API 在真实设备上的启动时机、配额、取消和重试结果列成评估点)
- 185.5 Push Channel、Notification Permission 与厂商推送服务(连接 FCM、厂商推送、通知权限、渠道、系统白名单和送达路径)
- 185.6 Notification Delivery 的延迟、丢失和优先级变化(分析网络保活、后台冻结、系统队列、用户设置和推送服务稳定性)
- 185.7 后台策略对 IM、地图、音乐、健康、IoT App 的影响(用即时通讯、导航、媒体、健康监测、设备连接场景测试策略后果)
- 185.8 从后台行为评估 OEM 系统策略(通过通知、任务、耗电、用户设置判断一个 OEM 系统的后台控制面)
Chapter 186: Camera Pipeline, ISP Tuning, Computational Photography
- 186.1 Camera Pipeline 作为 OEM 技术差异核心(说明相机体验由硬件模组、ISP、HAL、算法、默认相机和系统策略共同决定)
- 186.2 Camera HAL 与 Driver / ISP / Sensor 的厂商实现边界(讲清 HAL、vendor tag、driver、ISP firmware、sensor tuning 在厂商路径中的位置)
- 186.3 3A Algorithm:Auto Exposure、Auto Focus、Auto White Balance(覆盖曝光、对焦、白平衡的状态机、场景识别和硬件反馈)
- 186.4 ISP Tuning、Noise Reduction、HDR、Tone Mapping、Sharpening(说明厂商如何用 ISP 和算法调校色彩、动态范围、噪声和细节)
- 186.5 Computational Photography:Night Mode、Portrait、Multi-Frame Fusion(连接夜景、多帧融合、人像分割、防抖、NPU/GPU/ISP 协作)
- 186.6 OEM Camera App 与 Third-Party Camera API 暴露差异(分析默认相机私有能力与第三方 API 可见能力之间的差距)
- 186.7 Camera CTS、HAL Compatibility 与厂商私有优化空间(说明兼容性测试约束、HAL 稳定性和私有算法空间)
- 186.8 影像差异的系统来源:硬件、HAL、算法、App、策略(把相机效果拆成可讨论的工程来源)
Chapter 187: Permission Center, Security Center, Cleaner, App Lock, Privacy Dashboard
- 187.1 OEM Permission Center 与 Android Runtime Permission 的关系(说明厂商权限中心如何包装、扩展或细分 Android 运行时权限)
- 187.2 Security Center 作为厂商系统治理入口(连接权限、病毒扫描、清理、电池、隐私、应用锁、账号安全等治理功能)
- 187.3 Cleaner / Booster / Battery Manager 的系统权限和风险(分析清理器、加速器、电池管理器对进程、缓存、通知和后台任务的影响)
- 187.4 App Lock、Private Space、Clone App 与用户数据隔离(讲清应用锁、隐私空间、分身应用的身份、数据目录和权限边界)
- 187.5 Privacy Dashboard、Permission Log、Sensitive Access Indicator(覆盖权限日志、敏感访问提示、相机麦克风定位指示和用户审计)
- 187.6 厂商权限策略对后台、通知、定位、相册访问的影响(说明额外策略如何改变标准 Android 权限后的真实可用能力)
- 187.7 系统安全功能与过度干预之间的边界(评估保护用户、安全治理和打断应用功能之间的取舍)
- 187.8 从权限中心观察 OEM 平台控制面(把权限中心当作理解厂商系统治理逻辑的入口)
Chapter 188: Vendor Cloud, Account, Push, Theme, Payment, Device Link
- 188.1 Vendor Account 作为厂商生态身份层(说明账号如何连接云服务、设备查找、支付、应用商店、推送和多设备协同)
- 188.2 Vendor Cloud:备份、同步、相册、设备查找(覆盖联系人、相册、文件、设置、备份恢复、设备定位和隐私边界)
- 188.3 Vendor Push Service 与 Google FCM 的并存关系(讲清厂商推送与 FCM 在连接保持、送达、区域生态和应用适配上的关系)
- 188.4 Theme Store、Font、Wallpaper、Launcher 生态(说明视觉资产、launcher 规则、桌面推荐、系统 UI 扩展对用户体验的影响)
- 188.5 Payment、Wallet、NFC、Secure Element 的厂商集成(连接支付 app、钱包、门禁、NFC、安全元件和厂商账户)
- 188.6 Device Link、多设备协同、跨屏流转与系统服务扩展(覆盖设备发现、账号身份、文件传输、投屏、跨端任务和系统权限)
- 188.7 OEM Services 对 App 生态和用户锁定的影响(分析厂商服务如何影响应用分发、推送可靠性、云数据和用户迁移成本)
- 188.8 厂商服务层作为 Android 之上的平台扩展(把 OEM 服务理解为叠加在 Android 之上的第二平台层)
Chapter 189: System Update, Vendor Partition, Driver Maintenance, Long-Term Support
- 189.1 Android 更新链路中的 System / Vendor 分离(说明系统镜像、vendor 实现、product 定制分离后如何支持升级)
- 189.2 Project Treble、VINTF、HAL Interface 与更新边界(讲清稳定接口、兼容矩阵、vendor manifest 和启动校验)
- 189.3 SoC Vendor、OEM、Carrier、Google 的协作链(连接芯片供应商、设备厂商、运营商、Google 安全补丁和认证流程)
- 189.4 Driver、Firmware、HAL 的长期维护成本(分析驱动源码、firmware、HAL 版本、芯片停更对系统寿命的影响)
- 189.5 Security Patch、Mainline Module、OTA 与设备生命周期(说明安全补丁、模块化更新、整机 OTA、区域发布和回滚)
- 189.6 Bootloader、Verified Boot、Rollback Protection 与更新安全(覆盖启动链校验、分区验证、rollback index、失败恢复和安全状态)
- 189.7 Android 版本升级和安全补丁分发的结构性难点(从多方协作、驱动维护、认证、区域策略解释更新阻力)
- 189.8 长期支持能力作为 OEM 系统质量指标(用补丁频率、版本升级、驱动维护、设备生命周期评估厂商)
Chapter 190: Technical Evaluation of Android OEM Systems
- 190.1 OEM 系统技术评估维度(建立后台、权限、影像、图形、电源、更新、生态服务七类评估维度)
- 190.2 后台策略:稳定性、通知送达、任务调度(用 IM、地图、音乐、健康、IoT 场景评估后台执行和通知可靠性)
- 190.3 权限策略:透明度、可控性、过度干预(观察权限中心、隐私日志、敏感访问提示、额外限制和用户恢复能力)
- 190.4 影像系统:HAL、算法、第三方 App 能力暴露(评估默认相机、第三方相机、视频录制、HDR/夜景和 API 可用性)
- 190.5 图形与流畅度:调度、合成、刷新率、触控延迟(观察帧率稳定性、触控响应、动画 pacing、温控降级和系统 UI 表现)
- 190.6 电源与温控:性能释放、降频策略、续航表现(评估长任务、游戏、录像、网络上传、低电量和高温场景)
- 190.7 更新维护:安全补丁、系统升级、驱动生命周期(检查补丁频率、版本承诺、OTA 质量、主线模块和长期驱动支持)
- 190.8 从 AOSP 基础到 OEM 平台能力的综合判断(把一个 OEM 系统当作平台工程产品进行技术评价)
Part 25: Mobile System Analysis Method
Chapter 191: Tracing a Capability from App API to Hardware
- 191.1 Capability Trace 的基本模型(把一次能力调用拆成 API、framework、IPC、service、policy、driver、hardware 七层)
- 191.2 App API 作为分析入口(说明从 manager、framework class、delegate/callback、error code 选择追踪起点)
- 191.3 Framework Layer 的语义转换(讲清 framework 如何把业务请求转成系统服务参数、状态机和回调)
- 191.4 IPC Boundary 与 System Service 定位(定位 Binder、XPC、daemon、service manager、caller identity 和调用超时)
- 191.5 Permission / Entitlement / Sandbox 的执行点(把权限、授权、沙箱、身份检查标到请求路径中的具体服务节点)
- 191.6 HAL / Driver Framework 与硬件边界(说明 Android HAL 与 Apple DriverKit/IOKit 如何连接到硬件实现)
- 191.7 Kernel / Driver / Hardware 的最终落点(把系统问题最终落到调度、buffer、driver、firmware、sensor、display、modem 等资源)
- 191.8 Camera、Touch、Frame、Audio、Network 的通用追踪模板(提供五类能力从 API 到硬件的可复用追踪骨架)
Chapter 192: Reading Android Source with State and Context in AOSP
- 192.1 AOSP 的目录规模与阅读入口选择(说明先从能力路径选择 frameworks、services、native、HAL、kernel 入口)
- 192.2 从 Framework API 反向定位 System Service(用 manager class、service name、AIDL、Context service 常量找到系统服务)
- 192.3 从 Manager Class 定位 Binder Interface(讲清 proxy、stub、AIDL、transaction code、callback interface 的定位方法)
- 192.4 从 system_server 定位 Service 实现(说明 service 注册、生命周期、权限检查、状态管理和 watchdog 相关代码)
- 192.5 从 Native Service 定位 HAL Interface(连接 native daemon、ServiceManager、AIDL/HIDL interface、vendor implementation)
- 192.6 从 HAL Interface 定位 Vendor / Kernel Boundary(说明 HAL API、device node、driver log、sysfs、kernel trace 的边界)
- 192.7 使用 Android Code Search、grep、call graph 和日志进行路径还原(把代码搜索、文本检索、调用关系、运行日志组合成源码阅读流程)
- 192.8 AOSP 阅读中的版本、分支、设备差异(提醒读者用 Android 版本、设备厂商、branch、GMS/OEM 定制解释代码路径差异)
Chapter 193: Reading Apple Documentation with Public Materials
- 193.1 Apple 平台的公开文档与封闭实现边界(说明公开文档、headers、WWDC、Darwin/XNU、工具诊断各自能支持哪些结论)
- 193.2 从 Framework API 推断系统服务路径(用 API 对象、delegate、error、authorization status、session state 推断 daemon 后端)
- 193.3 从 Entitlement、Permission、Privacy Prompt 推断能力边界(连接 entitlement、TCC、sandbox、用户提示、错误返回和系统服务检查)
- 193.4 从 XNU / Darwin 公开组件解释底层模型(用 Mach、BSD、IOKit、driver model 支撑进程、IPC、文件、网络和驱动理解)
- 193.5 从 Instruments、Console、sysdiagnose、Crash Logs 还原运行路径(把工具数据合并为时间线、线程、进程、framework、daemon、硬件状态)
- 193.6 从 Framework 行为、错误码、权限失败推断系统策略(说明如何从可观察行为推出授权条件、资源仲裁和后台策略)
- 193.7 Public API Surface 与 Private System Architecture 的区分(明确公开证据、合理推断、私有实现之间的边界)
- 193.8 Apple 文档阅读中的保守推断原则(强调用可验证行为和公开资料组织知识,保留实现细节的不确定性)
Chapter 194: Comparative Analysis Method for Mobile Systems
- 194.1 同一系统问题的平台实现差异(选择权限、IPC、图形、相机、网络、后台等共同问题,用相同维度比较两类平台)
- 194.2 Kernel Boundary 比较:Linux Kernel 与 XNU(比较进程、线程、IPC、文件、网络、驱动基础在两类内核中的组织方式)
- 194.3 Driver Boundary 比较:Android HAL 与 Apple Driver Framework(把 Android vendor HAL 和 Apple DriverKit/IOKit 放在硬件访问边界上比较)
- 194.4 IPC Boundary 比较:Binder 与 XPC / Mach Port(比较 caller identity、同步调用、服务发现、进程隔离、trace 可见性)
- 194.5 Security Boundary 比较:Permission / SELinux 与 Entitlement / Sandbox(比较用户授权、平台准入、MAC 策略、沙箱、硬件安全域)
- 194.6 Runtime Boundary 比较:ART / Zygote 与 dyld / Swift / Objective-C Runtime(比较应用启动、代码加载、动态分发、内存管理和编译策略)
- 194.7 Graphics / Media / Camera Pipeline 的横向比较(用 frame、sample buffer、camera request 三条路径比较图形媒体硬件协作)
- 194.8 比较平台差异时的工程约束与生态变量(把技术差异放回硬件控制、厂商协作、分发策略、用户体验中判断)
Chapter 195: Mobile OS Misreading Patterns
- 195.1 把 Android 简化为 Linux 的误读(指出 Android 还包含 framework、Binder、system_server、HAL、GMS/OEM 层和移动策略)
- 195.2 把 iOS 简化为 Unix 的误读(指出 iOS 还包含 code signing、entitlement、TCC、framework/daemon、Secure Enclave 和商店策略)
- 195.3 把 Framework API 当成系统实现的误读(说明 API 是能力表面,背后仍有 IPC、服务、策略、驱动和硬件路径)
- 195.4 把 Permission Prompt 当成完整安全模型的误读(补齐签名、身份、沙箱、SELinux/TCC、硬件信任和服务检查)
- 195.5 把 UI Skin 当成 OEM 系统差异核心的误读(把注意力转向电源、后台、权限、推送、相机、更新和服务层)
- 195.6 把性能问题只归因于 App 代码的误读(把性能问题同时放入调度、热管理、GPU、I/O、网络、系统策略和硬件状态)
- 195.7 把硬件能力和系统能力混为一谈的误读(说明硬件规格经过驱动、HAL、framework、权限和策略后才成为应用可用能力)
- 195.8 把平台封闭性和技术简单性混为一谈的误读(提醒读者用公开材料、工具和行为证据分析封闭平台的复杂系统路径)
Chapter 196: Mobile Architecture Map Hardware to App
- 196.1 Hardware to App 的上行能力封装路径(说明硬件信号如何经过 driver、service、framework、callback 变成应用事件或数据)
- 196.2 App to Hardware 的下行请求执行路径(说明应用请求如何经过 API、权限、IPC、service、HAL/driver 到达硬件)
- 196.3 Kernel、Driver、Service、Runtime、Framework 的角色总表(汇总每层负责的资源、状态、接口、策略和常见故障)
- 196.4 Android Full Map:App、Framework、Binder、Service、HAL、Kernel、Hardware(形成 Android 能力路径总图,用于阅读源码和定位问题)
- 196.5 Apple Full Map:App、Framework、XPC / Daemon、XNU、Driver Framework、Hardware(形成 Apple 能力路径总图,用于阅读文档和推断系统行为)
- 196.6 Security、Power、Thermal、Privacy 作为横切控制面(把安全、电源、温控、隐私标到每条能力路径上)
- 196.7 Graphics、Input、Media、Camera、Network 的统一分析框架(用五类典型子系统训练跨层追踪方法)
- 196.8 手机系统架构的最终心智模型(形成“能力路径 + 横切策略 + 平台生态”的整体模型)
Chapter 197: Mobile Architecture Extension Paths
- 197.1 Kernel Path:调度、内存、驱动、电源、安全(给出继续深入内核、驱动、电源、SELinux/XNU 安全模型的学习路线)
- 197.2 Graphics Path:GPU、Composition、Display、VSync、Frame Trace(给出图形渲染、GPU、显示合成、帧诊断和性能优化路线)
- 197.3 Media Path:Codec、Container、Camera、Audio、Pipeline(给出媒体编解码、容器、相机、音频、实时管线的学习路线)
- 197.4 Security Path:Sandbox、Permission、Signature、TEE、Exploit Mitigation(给出移动平台安全、沙箱、签名、硬件安全和漏洞缓解路线)
- 197.5 Runtime Path:ART、Zygote、dyld、Swift Runtime、Objective-C Runtime(给出 Android/Apple 运行时、启动、加载、内存管理的学习路线)
- 197.6 Tooling Path:Tracing、Profiling、Crash Analysis、Static Analysis(给出 trace、profile、crash、静态分析和系统诊断工具路线)
- 197.7 Android Source Reading Path 与 Apple Documentation Reading Path(对齐 Android 源码阅读和 Apple 公开材料阅读的长期训练方法)
- 197.8 从手机系统架构走向平台工程能力(把本书收束到平台问题建模、路径追踪、策略判断和工程取舍能力)