手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

主流嵌入式Linux动态扩展技术比较分析(转)

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
  (2) 可扩展内核技术

  可扩展内核技术允许用户应用程式向内 核植入(inject)代码以扩展其功能。由于被植入的代码是在核心态运行,从而避免了微内核技术中的系统性能下降的问题。被植入的代码是在核心态运行, 需要有一个实时检查机制来验证代码的安全性,确保被植入代码不会导致系统的崩溃。程步奇等人\[1\]使用软件故障孤立技术来实现扩展模块的故障孤立,保 证系统不受到扩展模块的破坏。 Bershad等人\[3\]也使用软件故障孤立技术来限制被植入代码可访问的内存地址范围。代码安全性检查无疑增加了系统的负担,问题产生的根本原因是 那些被植入的扩展性代码对核心来说是不可信任的。为了减轻系统的负担,就需要假设被植入的代码是安全的、可信任的。

  (3) 解释器技术/JOS技术

  和文献\[2\]中提到的JOS (Java Operating System)技术相同,该技术允许研发者用Java语言编写系统模块,例如TCP/IP协议栈或文档系统。将这些模块编译成类(class)文档,并在 系统运行时由JVM(Java Virtual Machine)动态地加载。Liao等人\[4\]在1996年提出,将JVM插入到微内核中,从而能够让用户编写Java程式,以扩展内核功能。

  解释器技术是以解释的方式来执行程式 代码的,比较适合于交互式系统;和编译器相比,解释器/JVM在移植时相对简单;解释器通过采用中间代码表示的方法,当代码长度小于500 KB的时候,可执行的中间代码通常比编译产生的二进制代码小,这一点很适合于存储空间很有限的嵌入式系统;最后,Java代码容易维护和编写,可移植性 好,可实现代码重用。采用解释器技术的缺点是,中间可执行代码的执行速度慢。在嵌入式Linux系统中,内核很大一部分由应用所共享,甚至应用程式本身就 是内核的一个线程,执行频率高,采用解释器技术会大大降低系统的效率。有些Java平台采用实时(Justintime)编译技术来改进代码的执行速 度\[2\]。该技术是利用空间来换取时间,因此很难在硬件资源很有限的嵌入式系统上实现。此外,由于Java语言的类库很大,在一定程度上也阻碍了其 在资源有限的嵌入式系统中的发展。

  (4) 内核加载技术/LKM技术

  许多桌面操作系统,例如Linux, 提供LKM(Loadable Kernel Module)来动态扩展他们的内核。当模块(Module)安装到内核后就作为核心的一部分,不进行实时安全检测,全速运行。在嵌入式Linux系统 中,LKM的主要问题是:存储模块需要占用额外空间连同被加载模块的安全性。模块的安全问题能够通过软件保护技术来解决\[1\]。

   Oikawa等人在1996年提出一种和LKM类似的动态核心模块(DKMs)技术\[5\]。和LKM相同,DKMs以文档的形式存储并能在系统运行过 程中动态地加载和卸载。DKMs由一个用户层的DKM服务器来管理,并非由内核来管理。当核心需要某模块时,由DKM服务器负责把相应的DKM加载;当核 心的内存资源紧缺时,由DKM服务器负责卸载一个没有被使用的DKM。缺点是任何的DKM是存储在本地系统上的,占用了大量宝贵的存储空间。

  和Oikawa的方法不同, Chang DaWei 等人于2003年提出了OperatingSystemPortal framework(OSP)的方法\[2\]。该方法是将核心模块存储在一个资源充足的远程服务器上,并由服务器端工具OS Portal来管理所存储的模块,同时也负责处理客户端(嵌入式系统内核)发出的请求,按照请求动态的选择并连接模块,然后通过网络传到客户端。由于模块 的管理和连接都在服务器端,所以对客户端来说能够节省大量的资源空间。OS Portal的结构如图1所示。
     


图1

                    
   OS Portal的结构通常,内核动态加载模块的时候,模块的连接工作由内核完成。Chang DaWei的方法的独特之处在于把模块连接的工作交给服务器端执行,不但降低了对内存空间的需求,也减轻了内核的负担。

2、其他相关研究

  (1) 基于FPGA的可动态配置的片上系统

  FPGA (Field Programmable Gate Array,现场可编程门阵列)是电子设计领域中最具活力和发展前途的一项技术。FPGA能完成任何数字器件的功能,上至高性能CPU,下至简单的74电 路,都能够用他来实现。FPGA在嵌入式系统中的应用越来越广泛。John Williams和Neil Bergmann\[6\]用uCLinux作为操作系统平台,设计出可动态配置的片上系统(rSoC)。uCLinux从远程服务器上下载FPGA程式 代码,然后利用shell脚本工具将代码写进FPGA芯片,实现系统功能的可动态扩展。

  (2) 动态更新Linux内核变量的方法

  在进行Linux内核嵌入式研发时, 经常使用内核启动过程中读取静态配置文档内容的方法对内核某些变量进行初始化。当静态配置文档改变时,只有重新启动内核才能使新的配置生效。北京科技大学 的田玉凤等人\[7\]通过修改文档./include/linux/proc_fs.h,重新编译、安装新内核后,利用/proc文档系统,可动态改变 Linux内核变量。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!