日期:2014-05-16  浏览次数:20691 次

嵌入式Linux系统的构成

   一个典型的嵌入式Linux系统按照存储空间的划分通常包括引导区,内核区与文件系统区,引导区存放Boot  Loader与系统参数,内核区存放特定嵌入式平台的定制Linux内核


文件系统包括根文件系统和建立与Flash内存设备之上的文件系统。图形界面系统和用户应用程序就放在文件系统区中


1:Boot  Loader占用的空间一般都比较小,它后面紧挨着一个启动参数区,用来保存Linux内核启动参数和用户启动配置。


2:Boot Loader程序是嵌入式系统的引导加载程序,是系统加电后运行的第一段软件代码。Boot  Loader程序的主要任务就是初始化硬件设备,建立内存空间的映射图,从而将系统的


软硬件环境带到一个合适的环境中,Boot  Loader程序最重要的任务就是启动Linux内核


3:文件系统是嵌入式LInux系统占用空间最大的部分,它通常占据了Boot Loader和内核之外的所有空间,Linux启动完毕之后会加载一个根文件系统,根文件系统包含了系统必备

配置信息,库函数和shell解释器以及核心目录。其他的文件系统则可以挂载在根文件系统下面


Boot Loader 一般通过JTAG接口和仿真器烧写到存储器,而内核和文件系统则可以通过串口和网口烧写到存储器。


Linux内核主要由五个部分组成:进程调度,内存管理,文件系统,网络子系统,以及设备管理。


内存管理:(Memory  Management) Linux的内存管理支持虚拟内存,采取的是分页机制,内存管理子系统允许多个进程安全的共享主内存区域。通过内存管理,Linux可以支

持超过实际内存大小的内存地址,磁盘可以当作内存,磁盘与内存之间可以相互交换。


设备管理:Linux支持字符设备,块设备,以及网络设备三类硬件设备,并提供与平台设备的概念与sys文件系统来管理各种设备,linux的设备驱动可以编译进入内核,在系统启

动时加载,也可以作为模块形式动态加载


Linux的代码结构

linux 2.6的内核代码非常庞大,其中设备驱动程序约占一半


目录

arch                硬件平台相关代码

block              块设备核心代码

crypto             加密函数库

documentation    有关内核各个部分通用解释和注释的文本文件

drivers          设备驱动相关代码

fs                  文件系统相关代码

include        内核头文件

init                内核初始化代码

ipc                系统进程间的通信

kernel          内核核心部分:进程调度,中断处理,信号处理,模块

lib                通用内核函数

mm             内存管理

net             网络通信协议代码

samples     内核例子

security    系统安全相关代码<