操作系统的构件化扩充方法技术方案

技术编号:2853204 阅读:262 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种计算机操作系统软件的构件化扩充方法,该方法依靠一组闭环循环调度指令代码,通过闭环的循环调度机制,获得硬件系统的执行控制权,并将该控制权根据配置规则,分配其中一部分执行权给目标操作系统,闭环循环调度指令代码进行构件化扩充,通过某种引用方式将构件功能映射到目标操作系统,完成对操作系统的构件化扩充。本发明专利技术允许目标操作系统不做任何改动的情况下,无论目标操作系统是否支持构件化技术,都可实现构件扩充或功能扩充。

【技术实现步骤摘要】

本专利技术属于计算机
,尤其涉及一种计算机操作系统软件的扩充。
技术介绍
操作系统是直接运行于硬件平台上的软件,对操作系统进行扩充是经常发生的行为,引发这一行为的原因是多方面的,包括硬件设备的变化、操作系统错误修正、操作系统功能变更、操作系统性能优化等。实现操作系统扩充的方法基本可以分为两种一种是直接修改操作系统的代码。这需要对操作系统实现十分了解,不仅代价高昂,而且容易出错;另一种是通过操作系统提供的接口进行扩充,允许静态或动态地加载新模块,但这些扩充方法并不通用,开发人员仍然需要深入了解每一种操作系统的扩充方法才能实现扩充,费时费力,而且操作系统的扩充接口随着版本变化而不同。因此,这两种方法都受到操作系统种类、版本的限制,扩充的代码资源无法重用。
技术实现思路
本专利技术解决了上述操作系统软件扩充方法的不足,提供一种,该方法不受硬件平台和操作系统变化的影响,以构件化技术本身的高重用性和灵活性解决操作系统扩充问题。本专利技术的
技术实现思路
一种,采用一组运行于硬件之上的闭环循环调度指令代码,通过闭环的循环调度机制,获得硬件系统的执行控制权,并将该控制权根据配置规则,分配其中一部分执行权给目标操作系统,闭环循环调度指令代码进行构件化扩充,通过某种引用方式将构件功能映射到目标操作系统,完成对操作系统的构件化扩充。该闭环循环调度指令代码独立于操作系统,直接运行在硬件逻辑上,其占有和保留部分存储器用于自身运行,与目标操作系统共存,不会被全部或部分卸载,其包括一个加载器、一个调度器、一个构件管理器、一个通讯管理器及一个硬件信号管理器,加载器用于将所有指令代码加载到特定地址空间,调度器划分出合理的CPU资源分配给操作系统使用,构件管理器允许用户加载构件、管理构件引用,通讯管理器完成构件间的信息传递,硬件信号管理器是操作系统与硬件平台间的通信管道。硬件启动,加载器通过硬件初始化获得控制权,并从外存储器中将其余代码读入内存指定位置,更新构件引用符,设置存储空间保护标志,初始化调度器、构件管理器、通讯管理器、硬件信号管理器,然后将通过调度器将控制权交给操作系统自带的加载代码,加载目标操作系统。构件化扩充是指采用API扩充和构件扩充方式,通过运行前的编译和连接进行静态的扩充或在运行中加载已编译的扩充代码。当需要向系统扩充构件时,执行以下步骤(1)目标操作系统通过虚拟设备向构件管理器发送消息激活构件管理器;(2)构件管理器根据消息调用存储设备读取构件将指定的构件,同时向域管理器申请空闲内存,并将构件读入空闲内存;(3)域管理器将新读入的构件所占用的地址空间标为“已占用”,更新构件引用关系;(4)控制权交还给调度器,由调度器交还目标操作系统,构件加载完成。构件扩充代码加载过程结束,目标操作系统正常加载。由于调度作用,操作系统加载和初始化硬件设备时,构件扩充代码会获得CPU控制权,此时构件扩充代码执行硬件信号管理器初始化,与目标操作系统中的虚拟设备接口映射。构件的功能映射到目标操作系统,包括(1)循环调度指令代码通过开放和声明一些功能接口,允许目标操作系统引用;(2)循环调度指令代码通过替换硬件系统缺省的功能引用,使目标操作系统引用扩充功能;(3)循环调度指令代码查找和修改目标操作系统的引用指针,实现对目标操作系统的功能替换或扩充。当构件不再使用时,可以被卸载。步骤如下(1)目标操作系统通过虚拟设备向构件管理器发送消息激活构件管理器;(2)构件管理器根据消息检查欲卸载的构件引用数是否为0,如果为0则执行步骤3,否则返回“构件正在使用,不允许卸载”的错误信息;(3)通过通讯管理器向域管理器发送消息,注销构件;(4)域管理器根据内存使用情况决定是否释放构件占用的内存;(5)构件卸载完毕,控制权由调度器交还给操作系统,操作系统继续运行。本专利技术的技术效果本方法通过一组直接运行于硬件平台上的循环调度指令代码提供一种简单的扩充方法,用户可以通过构件契约描述,以构件化的方式扩充操作系统,且扩充方法不受硬件平台和操作系统变化的影响,以构件化技术本身的高重用性和灵活性解决操作系统扩充问题。当然,本方法同样支持通过传统软件调用接口的方法进行扩充。本方法允许用户在现有技术基础上迭代开发,特别适合于现在嵌入式产品领域产品生命周期越来越短的趋势。附图说明图1为本专利技术的总体关系示意图;图2为本专利技术的加载过程流程图;图3为本专利技术的构件扩充过程流程图。具体实施例方式操作系统的构件扩充方法,依靠一组直接运行于硬件平台上的指令代码实现。这组代码中包括一个加载器、一个调度器、一个构件管理器、一个通讯管理器、一个硬件信号管理器。加载器用于将本方法的所有指令代码加载到特定地址空间,构件管理器允许用户加载构件、管理构件引用,通讯管理器完成构件间的信息传递,硬件信号管理器是操作系统与硬件平台间的通信管道,调度器划分出合理的CPU资源分配给操作系统使用。上述的加载器至少具有目标硬件平台存储空间描述表,用于定义和描述具体的加载地址;构件引用符描述表,用于调整构件引用和指针的对应关系;存储设备读写构件,用于从外存储器读取需要加载的代码;上述加载器通过硬件初始化获得控制权,并从外存储器中将其余代码读入内存指定位置,更新构件引用符,设置存储空间保护标志,初始化调度器、构件管理器、通讯管理器、硬件信号管理器,然后将通过调度器将控制权交给操作系统自带的加载代码,加载目标操作系统。上述的调度器至少具有调度策略接口,用于保存调度策略信息;构件引用接口,用于把CPU资源分配给指定构件;操作系统引用接口,用于把CPU资源分配给操作系统。上述的构件管理器至少具有多层构件框架架构,用于加载和运行第三方构件;域管理器,用于保护和隔离构件;构件通讯插口,用于提供构件间通讯和构件-操作系统间通讯。上述通讯管理器至少具有消息缓冲区,用于存储构件通讯消息队列;消息描述符表,用于对应消息于构件的从属关系。上述硬件信号管理器至少具有虚拟设备接口,供目标操作系统加载和使用,提供目标操作系统和扩充构件间的交互借口;设备描述符表,用于抽象设备的管理;中断描述符表,用于中断信号的分发管理;端口描述符表,用于物理设备端口的注册管理。另外还有一个虚拟设备驱动程序,以传统驱动程序的方法加载目标操作系统,提供目标操作系统与本构件扩充代码的相互引用。加载器加载的具体过程为步骤1使用目标硬件平台存储空间描述表确定具体的目标加载地址;步骤2调用存储设备读取构件从外存储器读取所有需要加载的代码到目标加载地址;步骤3根据构件引用符描述表,确定构件的入口地址,并修改构件引用符与地址的映射关系;步骤4对硬件的存储器配置作相应修改,将以占用的地址空间置为占用标志;步骤5初始化调度器、构件管理器、通讯管理器、硬件信号管理器的数据结构;步骤6调用调度策略接口,设置硬件定时器和中断,把控制权交给调度器;步骤7调度器将CPU资源分配给操作系统自带的加载代码,启动操作系统加载过程;至此,构件扩充代码加载过程结束,目标操作系统正常加载。由于调度器的作用,操作系统加载和初始化硬件设备时,构件扩充代码会获得CPU控制权,此时构件扩充代码执行硬件信号管理器初始化,与目标操作系统中的虚拟设备接口映射。步骤为步骤8硬件信号管理器与在目标操作系统中注册的虚拟设备本文档来自技高网...

【技术保护点】
一种操作系统的构件化扩充方法,采用一组运行于硬件之上的闭环循环调度指令代码,通过闭环的循环调度机制,获得硬件系统的执行控制权,并将该控制权根据配置规则,分配其中一部分执行权给目标操作系统,闭环循环调度指令代码进行构件化扩充,通过某种引用方式将构件功能映射到目标操作系统,完成对操作系统的构件化扩充。

【技术特征摘要】
1.一种操作系统的构件化扩充方法,采用一组运行于硬件之上的闭环循环调度指令代码,通过闭环的循环调度机制,获得硬件系统的执行控制权,并将该控制权根据配置规则,分配其中一部分执行权给目标操作系统,闭环循环调度指令代码进行构件化扩充,通过某种引用方式将构件功能映射到目标操作系统,完成对操作系统的构件化扩充。2.如权利要求1所述的操作系统的构件化扩充方法,其特征在于该闭环循环调度指令代码包括一个加载器、一个调度器、一个构件管理器、一个通讯管理器及一个硬件信号管理器,加载器用于将所有指令代码加载到特定地址空间,调度器划分出合理的CPU资源分配给操作系统使用,构件管理器允许用户加载构件、管理构件引用,通讯管理器完成构件间的信息传递,硬件信号管理器是操作系统与硬件平台间的通信管道。3.如权利要求1或2所述的操作系统的构件化扩充方法,其特征在于所述构件化扩充是指采用API扩充和构件扩充方式,通过运行前的编译和连接进行静态的扩充或在运行中加载已编译的扩充代码。4.如权利要求1或2所述的操作系统的构件化扩充方法,其特征在于所述通过某种引用方式将构件功能映射到目标操作系统,包括(1)循环调度指令代码通过开放和声明一些功能接口,允许目标操作系统引用;(2)循环调度指令代码通过替换硬件系统缺省的功能引用,使目标操作系统引用扩充功能;(3)循环调度指令代码查找和修改目标操作系统的引用指针,实现对目标操作系统的功能替换或扩充。5.如权利要求2所述的操作系统的构件化扩充方法,其特征在于当需要向系统扩充构件时,执行以下步骤(1)目标操作系统通过虚拟设备向构件管理器发送消息激活构件管理器;(2)构件管理器根据消息调用存储设备读取构件将指定的构件,同时向域管理器申请空闲内存,并将构件读入空闲内存;(3)域管理器将新读入的构件所占用的地址空间标为“已占用”,更新构件引用关系;(4)...

【专利技术属性】
技术研发人员:史兴国
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1