跟着现代计算机技能的飞速发展和互联网技能的广泛应用,从PC年代过渡到了以个人数字助理、手持个人电脑和信息家电为代表的3C(计算机、通讯、消费电子)一体的后PC年代。后PC年代里,嵌入式体系扮演了越来越重要的人物,被广泛应用于信息电器、移动设备、网络设备和工控仿真等范畴。
从20世纪80年代起,国际上就有一些IT安排、公司,云鼎娱乐场开端进行商用嵌入式操作体系和专用操作体系的研制。这其间出现了一些出名的嵌入式操作体系,如Microsoft公司的WinCE和WindRiver System公司的VxWorks就别离对错实时和实时嵌入式操作体系的代表。可是商用产品的造价都非常贵重,用于一般用处会进步产品成本然后失掉竞争力。
uClinux 的源代码安排成以下列结构:根目录是uClinux-xxx( 例如: uClinux-Samsung)。 其间,内核放在linux-xxx 下,(xxx 是版别号,2.0.x 或2.4.x)。 一些应用程序放在user 目录下,根文件体系放在romfs 下, 预编译好的linux映像放在images 下,包含在RAM 和ROM中运转的映像。 体系的发动代码放在boot 目录下。 下面要点描绘一下内核的安排结构:
arch/armnommu : 与架构和渠道相关的代码都放在arch 目录下, 针对ARM的uClinux, 有一个子目录和它相对应—armnommu 。假设你要把uClinux移植到别的一个ARM板子, 大
部分的作业便是修正这个目录下的一些文件,例如kernel/head-arm-atmel.S ,kernel/setup.c
drivers: 这个目录下包含了一切的设备驱动程序。 驱动程序又被分红’block’, ’char’, ‘net’等几种类型,
fs: 这里有支撑多种文件体系的源代码,简直一个目录便是一个文件体系,如MSDOS,VFAT, proc,ext2等。虚拟文件体系(VFS)给一切林林总总的文件体系供给了一个一致的接口。文件体系是放在块设备上的,这些块设备由块设备驱动程序来供给支撑。
include:相关的头文件。他们被分红通用和渠道专用两部分。 目录‘asm-$(ARCH)’包含了渠道相关的头文件,在它下面进一步分红‘arch-$(MACHINE)’,’arch-$(PROCESSOR)’等子目录。与板子相关的头文件放在arch-$(MACHINE)’下,与CPU相关的头文件放在’arch-$(PROCESSOR)’下。例如,关于ARM7TDMI ,‘proc-armv’ 子目录就会被用到。关于EV40,应为用的是Atmel40800,所以‘arch-atmel’用来寄存硬件相关的界说。
init: 含一些发动kernel所需做的一切初始化动作,里边有一个main.c针对kernel 作初始化动作,设置一些参数等,对外围设备初始化。
ipc: 供给近程间通讯机制的源代码,如信号量,音讯行列,管道等。
kernel: 包含进程调度算法的源代码,以及与内和相关的处理程序,例如体系调用。
mmnommu: 在规范linux中有一个mm目录,用来寄存内存办理的源代码,包含MMU。 而这个目录是来替换mm的, 只是包含简略的内存分页办理的源代码。
net: 支撑网络相关的协议源代码。
lib: 包含内核要用到的一些常用函数。例如,字符串操作,格式化输出等。
script: 这个目录中包含了在装备和编译内核时要用到的脚本文件。
附:
目录 寄存内容
bin 根本指令履行文件
boot boot loader 的静态链接文件
dev 设备文件
etc 主机特定的体系装备
home 用户目录
lib 根本同享库以及内核模块
media 用于移动介质的挂载点
mnt 用于暂时挂载文件体系
proc 体系信息的虚拟目录(2.4 和 2.6 内核)
root root 用户的目录
sbin 根本体系指令履行文件
sys 体系信息的虚拟目录(2.6 内核)
tmp 暂时文件
usr 第二级目录
var 不断改变的数据
srv 体系供给的用于 service 的数据
opt 附加的应用程序软件包
根分区/ 有必要总是物理地包含 /etc、/bin、/sbin、/lib 和 /dev,不然您将不能发动体系。典型的根分区/需求 150–250MB 巨细空间。
/usr:包含一切的用户程序(/usr/bin),库文件(/usr/lib),文档(/usr/share/doc),等等。这是文件体系中消耗空间最多的部分。您需求供给至少 500MB 磁盘空间。总容量会依据您要装置的软件包数量和类型增加。宽松的作业站或服务器装置应该需求 4–6GB。
/var:一切的可变数据,如新闻组文章、电子邮件、网站、数据库、软件包体系的缓存等等,将被放入这个目录。 这个目录的巨细取决于您计算机的用处,可是对大多数人来说,将首要用于软件包体系的办理东西。假设您准备一次性地做一个全面的装置,包含Debian 供给的一切程序, /var下面 2~3GB 的空间应该够用。假设您准备逐一装置(也便是说,装置服务程序和东西,然后是文本处理东西,然后是 X,…),您准备 300–500 MB 就行。要是硬盘空间很严重,而且不准备做主版别的体系升级,可认为其准备 30 或 40MB 巨细。
/tmp: 程序创立的暂时数据大都存到这个目录。一般 40–100 MB 应该满足。一些应用程序 (包含归档处理程序、CD/DVD 制造东西和多媒体软件)可能会运用 /tmp 暂时保存映像文件。假设要运用这些程序,应该相应地调整 /tmp 目录的巨细。
/home:每个用户将放置他的私有数据到这个目录的子目录下。其巨细取决于将有多少用户运用体系,以及有什么样文件放在他们的目录下。依据规划的用处,应该为每个用户准备 100MB 空间,不过应该按您的需求调整。假设您在 home 目录下方案保存很多的多媒体文件(图片、MP3、电影),该准备更多的空间。