和内核空间功能扩展相比,在用户空间 扩展安全性更强,对Linux操作系统和应用程式更加透明。魏东林、卢正鼎等人通过在用户空间跟踪截获系统调用并更改系统调用的行为来达到扩展操作系统功 能的目的\[8\]。从本质上来说,该方法和本文第1部分提到的可扩展内核技术是相同的。
3、动态扩展技术面临的挑战和发展趋势
(1) 高实时性是嵌入式系统的基本需要
由于Linux是一种通用操作系统, 而不是个真正的实时操作系统,内核不支持事件优先级和抢占实时特性(2003年底推出的Linux2.6内核实现了一定程度上的可抢占性),所以,在进 行嵌入式Linux系统动态扩展性研究研发时,首要的问题是扩展Linux的实时性能。系统在进行动态扩展的过程中,假如扩展的过程时间太长,肯定会影响 到系统的实时响应,所以需要扩展过程快速完成,例如基于LKM的内核扩展机制。假如模块加载或替换的时间太长,在规定的时间内不能完成,这对于嵌入式 Linux的某些应用来说是不能接受的。
(2) 资源有限性是嵌入式系统基本特征
嵌入式系统无多余软件也无多余硬件存 储器,增加存储空间意味着成本的上升。在很有限的存储空间中要实现快速的内核动态扩展,对研究人员来说是个极大的挑战。在桌面PC世界,虽然已有很 多动态扩展系统功能的方法,但在嵌入式世界很难实现。例如Linux系统的LKM机制,若模块加载过程不经改造,在嵌入式Linux系统中是不能使用的。
(3) 期待完善的集成研发环境
一个完整的嵌入式系统的集成研发环境 一般需要编译/连接器、内核调试/跟踪器和集成图像界面研发平台。其中的集成图像界面研发平台包括编辑器、调试器、软件仿真器和监控器等。在Linux系 统中,具备功能强大的gcc编译器工具链,使用了基于GNU的调试器gdb的远程调试功能,一般由一台客户机运行调试程式调试宿主机运行的操作系统内核; 在使用远程研发时还能够使用交叉平台的方式,如在Windows平台下的调试跟踪器对Linux的宿主系统作调试。但是,Linux在基于图像界面的特定 系统定制平台的研究上,和Windows操作系统相比还存在差距。因此,要使嵌入式Linux动态扩展的研究更加方便、快捷,整体集成研发环境更有待提高 和完善。
桌面Linux使用LKM技术成功实 现了系统功能的动态扩展。嵌入式Linux继承了桌面Linux绝大部分功能和特性,桌面 Linux固有的LKM机制为嵌入式Linux动态扩展的研究带来了先天性的优势,可大大节省研究人员的时间和精力。在动态模块替换方面也有了很大的发 展,Chris Walton等人\[9\]通过对二空间拷贝垃圾回收算法进行改进,在2000年提出了一种动态模块替换的抽象机模型。
基于JOS的动态扩展技术是个主要 发展方向。Java代码可移植性强,容易维护,在嵌入式系统上很有发展前途。采用Java技术的另外一个好处是可实现代码重用,在进行嵌入式系统研发时不 必每次都从零开始。很多研究成果也促进了Java在嵌入式系统上的应用。Derek Rayside等人在2002年提出一种类库子集选择方法\[10\]。该方法能够让嵌入式系统中的Java程式在运行时从远程Java类库中仅选择所需 要的子集,然后下载到本地系统,从而减小对嵌入式系统存储空间的需求,解决了因Java语言的类库太大而阻碍了在嵌入式系统中的应用。
结束语
随着嵌入式Linux的快速发展和嵌 入式Linux设备的普及,人们对可动态扩展的嵌入式Linux的需求越来越迫切。现在主要的几种可动态扩展系统功能的技术,例如微内核技术、JOS技 术、LKM技术等,由于嵌入式系统的存储空间有限,实时性需要高,在应用到嵌入式Linux系统中时都有所不足。其中,桌面Linux固有的LKM机制为 嵌入式Linux动态扩展的研究带来了先天性的优势;另外,Java代码可移植性强,维护容易,在嵌入式系统上很有发展前途,因此基于JOS的动态扩展技 术是另一个主要发展方向。最后,一个完善的嵌入式Linux集成研发环境是每一个研发人员所期待的。
参考文献
1 程步奇,尹宝林.可动态扩展的嵌入式操作系统\[J\]. 小型微型电脑系统, 2003, 24(2): 216~217
2
Chang DaWei, Chang RueiChuan. OS Protal:an economic approach for
making an embedded kernel extensible\[J\]. The Journal of Systems and
Software , 2003, 67: 19~30
3 Bershad B N, et al. Extensibility,
safety and performance in the SPIN operating system\[A\]. In:
Proceedings of the 15th ACM symposium on Operating systems
principles\[C\]. 1995
4 Liao W S, SeeMong T, Campbell R H.
Finegrained, dynamic user customization of operating systems\[A\]. In:
Proceedings of the 5th International Workshop on Object Orientation in
Operating Systems (IWOOOS '96)\[C\], 1996
5 Oikawa S, Sugiura K,
Tokuda H. Adaptive object management for a reconfigurable
microkernel\[A\]. In: Proceedings of the 5th International Workshop on
Object Orientation in Operating Systems (IWOOOS '96)\[C\], 1996
6
John Williams, Neil Bergmann. Embedded Linux as a platform for
dynamically selfreconfiguring systemsonchip\[A\]. In: Proceedings
Engineering of Reconfigurable Systems and Algorithms (ERSA 2004)\[C\].
Las Vegas, Nevada, USA. 2004
7 田玉凤,王沁. 一种动态更新LINUX内核变量的实现方法\[J\]. 电脑工程和设计,2003, 24(11):52~55
8 魏东林,卢正鼎,董俊,等. 在用户空间扩展Linux操作系统功能方法研究\[J\].华中科技大学学报(自然科学版),2002,30(7): 42~43
9
Chris Walton, Dilsun Kirh, Stephen Gilmore. An abstract machine model
of dynamic module replacement\[J\]. Future Generation Computer Systems.
2000,16: 793~808
10 Derek Rayside,Kostas Kontogiannis. Extracting
Java library subsets for deployment on embedded systems\[J\]. Science
of Computer Programming. 2002, 45: 245~270
武延民:硕士研究生,主要研究方向为嵌入式系统。姚柳:助教,主要研究方向为信息技术和课程整合。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




