首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

嵌入式Linux动态扩展技术比较分析 03

嵌入式Linux动态扩展技术比较分析 03

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在嵌入式系统上的应用。 DerekRayside等人在2002年提出一种类库子集选择方法\[10\]。该方法可以让嵌入式系统中的Java程序在运行时从远程Java类库中仅选择所需要的子集,然后下载到本地系统,从而减小对嵌入式系统存储空间的需求,解决了因Java语言的类库太大而阻碍了在嵌入式系统中的应用。

返回列表