Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1930953
  • 博文数量: 699
  • 博客积分: 6000
  • 博客等级: 准将
  • 技术积分: 4970
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-15 13:45
文章分类

全部博文(699)

文章存档

2011年(1)

2008年(698)

我的朋友

分类:

2008-10-15 13:50:18

    引言

    目前系统开发已经成为了计算机工业最热门的领域之一,系统应用渗透到信息家电、工业控制、通信与电子设备、人工智能设备等诸多领域。嵌入式操作系统的引入大大提高了嵌入式系统的功能,方便了嵌入式应用软件的设计,但相应也占用了宝贵的嵌入式系统资源。同时,因为嵌入式应用系统配置差别较大,I/O操作也没有标准化,这部分驱动软件常常由应用程序提供,这就要求在开发环境中能够对用户选定的实时操作系统进行剪裁和扩展,并和应用程序绑定在一起生成一个可运行在目标环境下的应用系统。所以针对不同应用需求裁减掉不需要的操作系统模块,配置特定的嵌入式操作系统是降低系统硬件成本, 减少系统资源消耗,提高系统灵活性的关键。

    嵌入式操作系统大多采用构件化、模块化的设计思想,以搭积木的方式通过互连构造软件因而是可配置的。但是由于操作系统的多样性,不同操作系统提供的配置方式迥异且繁简不一。例如:风河公司的VxWoks操作系统,其开发环境Tornado提供的配置工具可以对操作系统模块进行选择和删除,但其配置主要还是通过用户对目标系统目录树下相关配置文件进行手工编辑和修改来完成的;科银京成公司。Delta OS的配套开发环境Lambda Tool,可以简单对内核参数、文件系统参数和网络系统参数进行设定。由于硬 件平台的多样性,即使是相同操作系统,其配置也是有差别的。应用程序开发者必须熟悉不同的硬件平台和不同的操作系统才能进行可行的应用的开发,增加了应用开发的难度。

    对于嵌入式应用的行业开发,往往提供了多种操作系统供应用开发者选择。如果能提供一套统一的操作系统配置工具,那么应用开发者不必因为选择不同的操作系统而重新学习使用新的配置环境,必然能提高开发效率,这在行业开发中有着重要意义。

    本文将软件复用技术用于嵌入式操作系统的定制过程,提出了一个嵌入式操作系统定制过程的通用模型(OSTAILOR),并在此基础上研究设计了基于嵌入式Linux的配置剪裁器。

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

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

    1.1 模型概述

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


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

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

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

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

图2 OSTAILOR过程模型

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

[1]   

【责编:Chuan】

--------------------next---------------------

阅读(422) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~