嵌入式Linux系统的三层结构详解

2019-07-12 14:06发布

一:什么是嵌入式系统:一般指非PC系统,有计算机功能但又不称之为计算机的设备和器材。它是以应用为中心,软硬件可裁剪的,适用应用系统对功能,可靠性,成本,体积,功耗等综合性严格要求的专用计算机系统。定义:嵌入到对象系统中的专用计算机系统。对象系统是指所嵌入的宿主系统;          嵌入性,专用性和计算机系统是计算机系统的三个基本要素;          它们分别指:(1)嵌入性:是指嵌入到对象系统中,满足对象系统的环境要求,如物理环境(小型),电气环境(可靠),成本低廉等要求;   (2)专用性:嵌入式系统的软硬件可裁剪,可满足对象系统要去的最小软、硬件配置;  (3)计算机系统:嵌入式系统必须满足对象系统控制要求的计算机系统,这样的计算机系统必须配置有与对象系统相适应的接口电路。二:嵌入式Linux系统结构
由图可知:嵌入式Linux系统分三层:应用层,内核层,硬件层。1:应用层是一些应用程序和库,是面向用户的,如命令,QQ等应用程序;2:内核层的主要功能是设备驱动,进程管理,内存管理,文件系统和网络通信;其中,内核与应用程序之间是系统调用接口(函数),它为用户提供内核的功能,同时也保护了内核。but,问题来了,为什么内核要向用户提供这些接口(函数)呢?其主要原因有:(1):内核要为应用程序服务,应用程序如果没有内核服务,则功能非常单一;    (2) 内核是一个稳定的代码,同时也要为多个用户空间的程序服务,为了防止用户空间的某些程序使内核代码崩溃或产生其它问题,而不能为其他用户服务,所以内核向用户空间提供接口(函数),并在这些接口函数中加上了一些保护,这样将向符合接口函数的应用程序提供服务,同时也保护了内核。(在学习函数接口时,我们主要关注接口的功能、参数、返回值)。内核层与硬件层之间的接口是驱动程序,驱动程序负责硬件操作,内核提供了驱动程序的添加机制,便于开发人员将驱动代码添加到内核中。3:硬件层是以信号为对象,完成各种信号之间的相互转换,通常信号变换前后其承载的信息保持不变,因此,无论如何变换,信号之间总是存在某种函数关系。嵌入式系统硬件电路是由微处理器,存储器,输入输出设备,通信与扩展接口构成。微处理器:处理器将所有可操作的硬件资源全部以地址空间的形式组织在一起,上层系统(软件)只看到统一的地址空间。可见处理器的第一任务就是将所有的硬件资源组织在一起,供软件操作,这项工作即寻址。处理器的另一项任务就是对数据进行转移,各种算术逻辑运算,决定这些操作的就是程序,或称指令。存储器:用于保护系统的程序指令和运行过程中所需的寄存空间。输入输出设备/通信与扩展接口:实现系统与外界环境之间的信息交换。