随着现代计算机技术的飞速发展和互联网技术的广泛应用,从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、电影),该预备更多的空间。
发力电视市场 中国移动算盘很精明
中国科学家在国际上首次成功实现器件无关的量子随机数,有望形成新的随机数国际标准
采用二阶无源环路滤波器实现三阶电荷泵锁相环的设计
orcad绘制原理图放置器件的步骤解析
曙光携手生态伙伴打造算网中枢神经
uclinux目录结构
“芯火”快封中心开始运营
具有突破性、可扩展、直观易用的上电时序系统可加快设计和调试速度
使用Jetson Xavier NX 开发者工具包部署AI应用程序
高通计划在法国开设一个新的5G研发中心
当ARM这样的巨头出来扛大旗,创投产业何愁不兴?
如何用测厚仪来进行测量太阳膜
联想Lenovo Oner让手机和电脑互联更方便
通过卷积神经网络实现MNIST数据集分类
全面的磁珠知识:从原理、应用、选型到与电感的联系与区别
带电作业的操作步骤
ANDON电源转换器插座提供通孔
北京站的成功收官为JetBrains2018年中国之行划下圆满句点
洲明智慧体育方案为赛场明星们打造最高水准的竞技舞台
三星中文版Bixby登陆,Siri迎来强劲对手