linux内核原理
内核与应用程序分开构建
内核与应用程序被设计成分开构建的,由C头文件和C库实现(KEMIN:我们一般都是基于库编译构建应用程序,这是默认的。但是如果没有与实时系统的统一构建方式对比,认识面很单一,难以较全面认识构建软件的本质)。分开构建的优点是易于独立开发新应用,满足动态需求;缺点或代价是对内核与应用的接口的维护。
举一个具体例子详述[分开构建 ]所带来的不便。假设某OEM厂商要生产两种功能类似的网络产品:以太网桥(Ethernet bridge)和路由器(router),这两项产品是基于同一个硬件设计的。由于两种产品的硬件是一样的,基本的系统支撑软件部分也是一样的(比如boot loader和BSP),它们的不同只在于基于支撑软件上的更高级一些软件功能部分。因此,为了节省开发成本,OEM厂商只为它们维护一套单一的基本支撑软件部分代码,然后根据系统选项分别为它们构建特定功能软件部分。系统构建选项可通make实现,比如make bridge构建以太网桥,make router构建路由。要实现这两个选项则要完成很多“不便”的工作(KEMIN:由此可见分开构建的方便所带来的不便,代价代价!):
第一,为内核配置相应的协议软件,比如以太网桥需要spanning bridge,路由需要IP协议;
第二,构建相应的应用软件,比如路由器的路由服务进程(routed daemon);
第三,配置相应的启动文件,比如网络接口初始化文件;
第四,选择相应的配置文件(比如HTML文件和CGI脚本)打包进根文件系统。
用户可能会问,为什么不把两种产品所需的东西全打包进根文件系统,然后在运行时由产品自己判断和执行所需要的东西呢?桌面系统和服务器产品一般这样做的,但嵌入式系统与桌面系统和服务器的需求不同,为了节省资源,更多的组件配置发生在构建时,而不是运行时。
要实现[构建时的组件配置 ],需要什么样的机制呢?
内核构建过程(用户角度)
内核构建系统(kernel build system),行话kbuild,是和内核源码绑定在一起的基于GNU make的脚本系统。通过构建系统(以下简称kbuild),你可以轻易的对内核进行组态(KEMIN:组态就是所谓的配置,个人觉得台湾的这一译法较为形象和准确,为了术语统一,以下还是使用配置一语,了解本质后二语可互换),并构建新内核。组态与构建不完全一样,因为两过程的输入与产出不一样(KEMIN:以2.6版为例,组态的输入是Kconfig,输出是.config;.config是构建的输出之一)。另外,由于kbuild具有很好的可扩展性,你可以很
相关文档:
在Windwos中,系统时间的设置很简单,界面操作,通俗易懂。而且设置后,重启,关机都没关系。系统时间会自动保存在Bios的时钟里面,启动计算机的时候,系统会自动在Bios里面取硬件时间,以保证时间的不间断。 但在Linux下,默认情况下,系统时间和硬件时间,并不会自动同步。在Linu ......
......
from: http://www.21andy.com/blog/20060820/389.html
linux解压 tar命令
tar命令
tar [-cxtzjvfpPN] 文件与目录 ....
参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不 ......
Form: http://tech.sina.com.cn/c/4082.html
Linux中文件的压缩与解压缩
http://www.sina.com.cn 2001/06/28 14:15 赛迪网 李革新
对许多用户来说,在DOS和Windows环境下利用工具软件ARJ、Winzip等,压缩或解压文件是比较容易的事。但是,在Linux中如何对文件进行压缩与解压呢?本文基于Red Ha ......