嵌入式Linux系统的一般架构 应用程序 。嵌入式Linux系统的一般架构 库 如图所示,包含4个部分: Linux内核 ①硬件 高层抽象 ©内核 文件 网络 O文件系统等 系统 协议 Q应用程序/库 底层接口层 硬件 4口4四是4P在刀0C 陈香兰(xlanchenoustc,edu,cn)(升界丸应 收人式择作系统 Decenber4,201419/104
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 嵌入式Linux系统的一般架构 嵌入式Linux系统的一般架构 如图所示,包含4个部分: 1. 硬件 2. 内核 3. 文件系统等 4. 应用程序/库 硬件 底层接口层 文件 系统 网络 协议 高层抽象 Linux内核 库 应用程序 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 19 / 104
1、硬件 ©目标板的硬件必须符合一些要求 应用程序 方能执行Linux系统o 库 至少32位CPU Linux内核 ·一般情况下必须配备MU(对于 高层抽象 不配备MMU的考虑使用uC1inux) 文件 网络 ·RAM容量必须满足系统的需要 系统 协议 。一些最起码的I/0能力,以便在 底层接口层 线调试 ~具有某种形式的永久性或网络 硬件 存储设备以便内核加载及(或)】 存取根文件系统 4口4四是4P在刀0C 陈香兰(xlanchenoustc,edu,cn)(升界丸应 长人式择作系统 Decenber4,201420/104
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1、硬件 目标板的硬件必须符合一些要求 方能执行Linux系统。 ▶ 至少32位CPU ▶ 一般情况下必须配备MMU(对于 不配备MMU的考虑使用uClinux) ▶ RAM容量必须满足系统的需要 ▶ 一些最起码的I/O能力,以便在 线调试 ▶ 具有某种形式的永久性或网络 存储设备以便内核加载及(或) 存取根文件系统 硬件 底层接口层 文件 系统 网络 协议 高层抽象 Linux内核 库 应用程序 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 20 / 104
2、Linux内核 应用程序 ●Linux内核是Linux操作系统的 库 中心组件。使用内核的目的是 Linux内核 高层抽象 希望以一致的方式管理硬件, 文件 以及为用户软件提供高层抽象 网络 系统 协议 层。 底层接口层 硬件 4口4四是4P在刀0C 陈香兰(xlanchenoustc,ed加.cn)(计年丸应 长人式择作系统 Decenber4,201421/104
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2、Linux内核 Linux内核是Linux操作系统的 中心组件。使用内核的目的是 希望以一致的方式管理硬件, 以及为用户软件提供高层抽象 层。 硬件 底层接口层 文件 系统 网络 协议 高层抽象 Linux内核 库 应用程序 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 21 / 104
2、Linux内核 。内核大致可以分成两个部分: 底层接口层和高层抽象层 ●底层接口层专属于硬件配置,内核运行其上,并以 硬件无关的高层抽象层提供对硬件资源的直接控制。 ·比如,对于PPC和ARM系统,尽管其寄存器或内存分页 的处理方式不同,但却可以使用通用的API来存取内核 里高层的组件 。通常底层部分会处理CPU特有的操作、架构特有 的内存操作以及设备的基本I/0 1口t4四1是42刀00 陈香兰(xlanchenoustc,edu,cn)(升界丸应 长人式操作香统 Decenber4,201421/104
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2、Linux内核 内核大致可以分成两个部分: ▶ 底层接口层和高层抽象层 底层接口层专属于硬件配置,内核运行其上,并以 硬件无关的高层抽象层提供对硬件资源的直接控制。 ▶ 比如,对于PPC和ARM系统,尽管其寄存器或内存分页 的处理方式不同,但却可以使用通用的API来存取内核 里高层的组件 通常底层部分会处理CPU特有的操作、架构特有 的内存操作以及设备的基本I/O 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 21 / 104
3、文件系统和网络协议等 ●在Linux内核的底层接口层与高 层抽象层之间,内核有时会用 应用程序 到与特定设备上的结构化数据 库 交互的组件,例如文件系统和 Linux内核 高层抽象 网络协议· 文件 网路 ●通常,Linux内核至少需要一 系统协议 个具有合适结构的根文件系统· 底层接口层 Linux内核会从中加载第一个 应用程序、加载模块并为进 硬件 程提供工作目录。 4口4四是4P在刀0C 陈香兰(xlanchenoustc,ed加,cn)(升异数应 长人式操作香统 Decenber4,201422/104
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3、文件系统和网络协议等 在Linux内核的底层接口层与高 层抽象层之间,内核有时会用 到与特定设备上的结构化数据 交互的组件,例如文件系统和 网络协议。 通常,Linux内核至少需要一 个具有合适结构的根文件系统。 Linux内核会从中加载第一个 应用程序、加载模块并为进 程提供工作目录。 硬件 底层接口层 文件 系统 网络 协议 高层抽象 Linux内核 库 应用程序 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 22 / 104