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

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

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

Oikawa等人在1996年提出一种与LKM类似的动态核心模块(DKMs)技术\[5\]。与LKM一样,DKMs以文件的形式存储并能在系统运行过程中动态地加载和卸载。DKMs由一个用户层的DKM服务器来管理,并非由内核来管理。当核心需要某模块时,由DKM服务器负责把相应的DKM加载;当核心的内存资源紧缺时,由DKM服务器负责卸载一个没有被使用的DKM。缺点是所有的DKM是存储在本地系统上的,占用了大量宝贵的存储空间。
  
       与Oikawa的方法不同,Chang DaWei 等人于2003年提出了OperatingSystemPortalframework(OSP)的方法\[2\]。该方法是将核心模块存储在一个资源充足的远程服务器上,并由服务器端工具OSPortal来管理所存储的模块,同时也负责处理客户端(嵌入式系统内核)发出的请求,按照请求动态的选择并连接模块,然后通过网络传到客户端。由于模块的管理和连接都在服务器端,所以对客户端来说可以节省大量的资源空间。OS Portal的结构如图1所示。

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

        2、其他相关研究
  

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

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

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

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

     (3)在用户空间扩展Linux操作系统功能的方法
  

       与内核空间功能扩展相比,在用户空间扩展安全性更强,对Linux操作系统和应用程序更加透明。魏东林、卢正鼎等人通过在用户空间跟踪截获系统调用并更改系统调用的行为来达到扩展操作系统功能的目的\[8\]。从本质上来说,该方法和本文第1部分提到的可扩展内核技术是一样的。

返回列表