2020-09-17 建立对 Android 系统的大概认知

2020-09-17  本文已影响0人  fjasmin

建立对 Android 系统的大概认知

树状的系统:

树状结构树

软件构架图:

Android 系统架构图

Android 系统层次图

Android 系统层次图

系统整体启动流程概览:

系统整体启动流程概览

Bootloader 很小,一般在几十 KB 甚至几百 KB,负责做最基本的系统初始化,并把Kernel 从存储设备(EMMC/NAND)中拷贝到内存(DDR)中,kernel 一般几 MB 到十几 MB、负责控制所有的硬件和系统的调度,根文件系统和 system 属于用户空间的应用,根文件系统一般只有几 MB,负责初始化一个最基本的上层运行环境,为 system 挂载打基础,system 里面是主要的应用,大小几百 MB 甚至几 GB,主要的应用和库都包含在里面。

ANDROID 上层的启动:

image.png

User 空间树状的进程组织:

User 空间树状的进程组织

模块的软件层级示例:

模块的软件层级示例

界面:树状的 UI 层级结构

界面:树状的 UI 层级结构 界面:树状的 UI 层级结构

万物皆文件,Linux 树状的文件系统:

Linux 树状的文件系统
Linux 树状的文件系统

在 Linux 系统中,一切设备都被抽象为文件,并在/dev/目录下生成对应的设备节点,用户空间的应用要想操作硬件设备,必须通过 open 系统调用打开对应的设备节点,然后通过 read/write/ioctl 这些系统调用再经过该驱动对应的子系统所实现的 file_operations接口最终和驱动交互。

上一篇 下一篇

猜你喜欢

热点阅读