侵权投诉
订阅
纠错
加入自媒体

详解嵌入式操作系统配置通用化模型

2013-11-12 10:03
小伊琳
关注

  1、嵌入式操作系统配置通用化模型

  以操作系统抽象模块作为操作系统配置的基本单位,在此基础上得到了嵌入式操作系统配置通用化模型OSCFG。

  1.1 模型概述

  如图1所示,虚线框表示建立的操作系统配置模型。左边的两个实线框表示对于操作系统配置模型的输入:选择配置的操作系统类型和选择配置的操作系统抽象模块。右边的实线框表示输出的配置生成结果:特定的配置文件。

详解嵌入式操作系统配置通用化模型

  操作系统配置模型的关键在于通用性,即对不同的操作系统,能够在逻辑上对操作系统所划分出来的物理模块保持透明性,因而,建模要点在于以下两点:

  ①对各式各样的操作系统模块进行抽象,使之成为对应于配置模型的抽象模块。抽象模块以模块属性文件的形式存放在构件库,供配置选用。

  ②抽象模块最后能映射为对应于不同操作系统的实体信息。

  在上述前提下,构建了如图2所示的操作系统配置过程模型 OSTAILOR。图中阴影部分实现了配置的操作系统无关性,可以称为操作系统抽象层。 图2 O$1AII一0R过程模型对于具体的操作系统模块实体,首先经过模块抽象,封装成对应用可见的操作系统抽象模块。每一个操作系统模块包含两个关键属性:①抽象出来的模块名。根据此模块名,应用开发人员可以知道此操作系统模块具有的基本功能。②模块层次,隶属于不同层次的模块具有不同的模块粒度。一般而言,越靠近底层的模块,粒度越细。在配置完成以后,根据用户输入选择需要映射的特定操作系统,根据此输入选择,模块配置完成以后,才能选择特定的操作系统映射算法将抽象的模块映射到具体的操作系统功能上。

详解嵌入式操作系统配置通用化模型

  图2中抽象模块配置层完成的功能还包括可根据用户选择,将操作系统抽象模块配置成更高层次,更大粒度的模块,供本次操作系统生成或

  下次定制使用。在这个操作系统定制模型中,抽象模块配置层以下层次完成的功能是根据模块配置层的配置结果和用户对操作系统类型的选择,完成对具体操作系统的映射。这部分因为与具体嵌入式操作系统相关,因而具有特殊性。为了实现配置的通用性,也就需要考虑如何把特殊性降低到最小。

  1.2 基本工作原理

  (1) 配置基本流程

  定制的基本流程如图3所示。用户浏览器查询构件库,并对用户显示出可选模块,然后接收用户对模块的选择,将选择结果送至文件解析器。从构件库获得对应模块的属性文件。通过解析,将解析结果生成模块结构映射关系图。模块结构关系图中的模块均以抽象逻辑形式存在,可以通过查找构件库得到它以文件形式存在物理实体信息。根据模块结构映射关系图和每一个模块的物理实体信息。生成对应的Makefile或其它一些相关配置文件,把它提供给对应的Make工具(编译器、链接器等),最后生成系统的可执行文件。

详解嵌入式操作系统配置通用化模型

  (2) 模块抽象的层次划分

  一般说来,模块的粒度越大,每一个模块所包含的功能越多,其可配置性就越低;而模块粒度越小,配置复杂度越高。为了达到配置的灵活性和方便性,并将配置中涉及到操作系统特殊性的地方降到最小,我们将模块抽象出来,并将其划分为多级结构,不同层次的模块封装其下层模块,形成不同的配置粒度。现以3层结构进行描述,如图4所示。

详解嵌入式操作系统配置通用化模型

  图4中最下层是原子级模块,它抽象了操作系统的基本功能,包括任务(task)、I/O驱动(driver)、定时器(timel)、信号量(sernaphore)、消息队列(quecue)、事件(event group)、邮箱(mailBox)、管道(pipe)等。除此之外,还包括一些基本的应用功能。之所以取名为原子级模块,是为了表明它是不可再分的基本模块,是配置其它层次模块的基础。

  原子级模块的粒度存在于目标代码或库文件级,因为它映射的物理实体以目标代码或库文件存在。虽然在图4的层次结构中,它也是作为抽象的逻辑模块存在,但是它是和物理实体联系最紧密的一层,也是模块粒度最细的一层。因而在配置过程结束以后,通过这层映射到不同的文件,产生不同格式的配置文件,达到配置不同操作系统的目的。原子级模块完成的只是某一特定功能的一部分,或者只是某一特定功能一个子功能,必须和其它原子级模块相结台才能发挥应有的作用。因而在它的上层提出了功能级模块的概念。

  功能级模块由原子级模块配置生成。通过把不同的原子级模块结合在一起,完成某一特定功能,并加大了模块粒度。例如,配置无线上网的功能模块,除了要选择无线上网本身这个原子级模块,还需要选择操作系统中支持上网功能的原子级模块,比如TCP/IP协议栈。

  通过把功能级模块组装在一起,完成更强大的功能,就构成了应用级模块。每一个应用级模块都是一个功能模块集,也是粒度最大的一层模块。对于应用程序开发者,为了开发特定的应用程序,如果不想选择细粒度的模块,可以直接选择应用级模块来配置操作系统。

  这种模块化的分层结构,能为开发者提供不同的模块粒度,使用户可以根据需要,选择不同层次的模块,以便增强定制过程的灵活性;而其最大的优点是,对于每一次定制需求的改变,不必由最细粒度的原子级模块配置重新做起,而是可以对需求改变进行分析,替换掉恰当粒度的模块,保持其它部分不变,简化了配置过程,减少了配置时间。

1  2  下一页>  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号