本发明专利技术属于机载航电系统应用软件技术领域,具体涉及一种基于分区操作系统的一次扩展系统调用能力提出的一种面向分区操作系统的系统调用二级扩展方法。本方法的主要步骤是:1)搭建二级扩展系统;)2)根据二级扩展系统进行系统的二级扩展2.1)自定义扩展系统调用号;2.2)创建扩展系统调用组表;2.3)创建组内扩展系统调用组表;2.4)二级派发;通过本发明专利技术的方法能够同时满足驱动开发和应用开发对系统调用的二次扩展需求。
【技术实现步骤摘要】
本专利技术属于机载航电系统应用软件
,具体涉及一种基于分区操作系统的一次扩展系统调用能力提出的一种面向分区操作系统的系统调用二级扩展方法。
技术介绍
某重点型号飞机的航空电子系统使用综合化模块化计算机系统和分区操作系统天脉2构成其核心处理平台。该计算机系统集成了多种硬件资源,网络资源包括光纤网络、军用1394网络、RapidIO通信网络等,存储资源包括RAM、flash、非易失存储器等。天脉2操作系统分为上下两层,分别为分区层和核心层,分区层可配置运行多个应用分区,每个应用分区可包含多个进程。应用分区通过系统调用使用核心层提供的功能服务。为支持多分区多进程访问硬件资源,驱动软件需在分区层和核心层实现相应功能代码。在核心层实现访问硬件资源的功能,在分区层实现向分区应用提供的功能接口,分区层功能接口通过扩展系统调用来访问核心层的服务,实现对硬件资源的访问。但针对系统调用二次开发,天脉2通常只提供一次扩展能力,不能同时满足驱动开发和应用开发对系统调用的二次扩展需求。
技术实现思路
为了克服
技术介绍
中的问题,本专利技术提出一种面向分区操作系统的系统调用二级扩展方法,以同时满足驱动开发和应用开发对系统调用的二次扩展需求。本专利技术的具体技术方案是:一种面向分区操作系统的系统调用二级扩展方法,其特征在于,包括以下步骤:1)搭建二级扩展系统;所述二级扩展系统包括初始化单元、扩展组号分配单元、组内扩展系统调用表注册单元以及一级程序单元;所述初始单元用于创建扩展系统调用组表以及在核心层注册一级程序处理单元;所述扩展组号分配单元用于支持用户注册扩展组名;用于为用户注册的扩展组名从扩展系统调用组表中分配一个表项,表项编号作为扩展组号输出给用户;所述组内扩展系统调用表注册单元用于定位输入的扩展组号在扩展系统调用组表中的表项,然后将输入的组内扩展数和组内扩展系统调用表首地址写入表项的相应位置;所述一级程序处理单元:用于支持分区层用户程序获取指定扩展组名对应的扩展组号和扩展调用数;用于依据扩展系统调用号中的扩展组号索引访问扩展系统调用组表,获取表中对应表项保存的组内扩展系统调用表入口,然后依据扩展系统调用号中的组内扩展系统调用号索引访问组内扩展系统调用表,获取表中对应表项保存的扩展系统调用处理程序地址,最后使用该程序地址执行处理程序调用;2)根据二级扩展系统进行系统的二级扩展;2.1)自定义扩展系统调用号;所述扩展系统调用号包括扩展组号和组内扩展系统调用号;所述扩展系统调用号是一个32位整数,其前8位代表扩展组号,后24为代表组内扩展系统调用号;所述扩展组号的最后一位数字作为保留组号;2.2)创建扩展系统调用组表;所述扩展系统调用组表由多个表项构成,每个表项包含三个域,分别为扩展组名、组内扩展数和组内扩展系统调用表入口;所述扩展组名是用户为一组待扩展的系统调用接口所取的名称;所述组内扩展数是用户注册的待扩展的系统调用接口数;所述组内扩展系统调用入口是用户注册的组内扩展系统调用表的首地址;2.3)创建组内扩展系统调用组表;所述组内扩展系统调用组表用于存储一组用户待扩展的系统调用处理程序的地址;2.4)二级派发;2.4.1)调用初始化单元,在核心层注册一级程序处理单元;2.4.2)用户使用扩展组名为输入参数调用扩展组号分配单元,获取扩展组号;2.4.3)以步骤2.4.2)获取的扩展组号、组内扩展系统调用表首地址和组内扩展系统调用表表项数为输入参数调用组内扩展系统调用表注册单元;组内扩展系统调用表注册单元用于定位输入的扩展组号在扩展系统调用组表中的表项,然后将输入的组内扩展数和组内扩展系统调用表首地址写入表项的相应位置;2.4.4)用户分区层程序以保留组号和扩展组名为输入参数调用分区层操作系统的系统调用接口,分区操作系统派发进入一级程序处理单元执行,一级程序处理单元识别出扩展组号为保留组号,进而在扩展系统调用组表中查找扩展组名所在表项,并将该表项中保存的组内扩展调用数和表项对应的编号作为扩展组号返回给用户的分区程序;2.4.5)使用步骤2.4.4)获得的扩展组号和步骤1)中组内扩展系统调用号组织扩展系统调用号,并以此为输入参数,调用分区操作系统的系统调用接口,分区操作系统派发进入一级程序处理单元对程序执行,一级程序处理单元识别出扩展组号为非保留组号,进而基于扩展组号和组内扩展系统调用号进行二级派发,最终进入用户核心层处理程序执行。本专利技术的优点在于:本方法提供了灵活的系统调用扩展支持,很好地满足了多种驱动对系统调用的二次扩展需求,同时为分区应用保留了足够的扩展能力。附图说明图1为本专利技术设计元素及其关系的示意图。具体实施方式本专利技术基于基于分区操作系统的一次扩展能力提出了一种面向分区操作系统的系统调用二级扩展方法。使用本方法前,首先需要确定扩展系统调用号、扩展系统调用表和组内扩展系统调用表三个设计元素,现结合图1,对本专利技术的具体工作过程和设计元素及其关系进行描述:步骤1)搭建二级扩展系统;具体地说,二级扩展系统包括初始化单元、扩展组号分配单元、组内扩展系统调用表注册单元以及一级程序单元;其中,初始单元用于创建扩展系统调用组表以及在核心层注册一级程序处理单元;其中,扩展组号分配单元用于支持用户注册扩展组名;用于为用户注册的扩展组名从扩展系统调用组表中分配一个表项,表项编号作为扩展组号输出给用户;其中,组内扩展系统调用表注册单元用于定位输入的扩展组号在扩展系统调用组表中的表项,然后将输入的组内扩展数和组内扩展系统调用表首地址写入表项的相应位置;其中,一级程序处理单元:用于支持分区层用户程序获取指定扩展组名对应的扩展组号和扩展调用数;用于依据扩展系统调用号中的扩展组号索引访问扩展系统调用组表,获取表中对应表项保存的组内扩展系统调用表入口,然后依据扩展系统调用号中的组内扩展系统调用号索引访问组内扩展系统调用表,获取表中对应表项保存的扩展系统调用处理程序地址,最后使用该程序地址执行处理程序调用;步骤2)根据二级扩展系统进行系统的二级扩展;步骤2.1)自定义扩展系统调用号(EXT_SC_ID);具体地说,扩展系统调用号:占用一个32位无符号整数,其高8位和低2本文档来自技高网...
【技术保护点】
一种面向分区操作系统的系统调用二级扩展方法,其特征在于,包括以下步骤:1)搭建二级扩展系统;所述二级扩展系统包括初始化单元、扩展组号分配单元、组内扩展系统调用表注册单元以及一级程序单元;所述初始单元用于创建扩展系统调用组表以及在核心层注册一级程序处理单元;所述扩展组号分配单元用于支持用户注册扩展组名;用于为用户注册的扩展组名从扩展系统调用组表中分配一个表项,表项编号作为扩展组号输出给用户;所述组内扩展系统调用表注册单元用于定位输入的扩展组号在扩展系统调用组表中的表项,然后将输入的组内扩展数和组内扩展系统调用表首地址写入表项的相应位置;所述一级程序处理单元:用于支持分区层用户程序获取指定扩展组名对应的扩展组号和扩展调用数;用于依据扩展系统调用号中的扩展组号索引访问扩展系统调用组表,获取表中对应表项保存的组内扩展系统调用表入口,然后依据扩展系统调用号中的组内扩展系统调用号索引访问组内扩展系统调用表,获取表中对应表项保存的扩展系统调用处理程序地址,最后使用该程序地址执行处理程序调用;2)根据二级扩展系统进行系统的二级扩展;2.1)自定义扩展系统调用号;所述扩展系统调用号包括扩展组号和组内扩展系统调用号;所述扩展系统调用号是一个32位整数,其前8位代表扩展组号,后24为代表组内扩展系统调用号;所述扩展组号的最后一位数字作为保留组号;2.2)创建扩展系统调用组表;所述扩展系统调用组表由多个表项构成,每个表项包含三个域,分别为扩展组名、组内扩展数和组内扩展系统调用表入口;所述扩展组名是用户为一组待扩展的系统调用接口所取的名称;所述组内扩展数是用户注册的待扩展的系统调用接口数;所述组内扩展系统调用入口是用户注册的组内扩展系统调用表的首地址;2.3)创建组内扩展系统调用组表;所述组内扩展系统调用组表用于存储一组用户待扩展的系统调用处理程序的地址;2.4)二级派发;2.4.1)调用初始化单元,在核心层注册一级程序处理单元;2.4.2)用户使用扩展组名为输入参数调用扩展组号分配单元,获取扩展组号;2.4.3)以步骤2.4.2)获取的扩展组号、组内扩展系统调用表首地址和组内扩展系统调用表表项数为输入参数调用组内扩展系统调用表注册单元;组内扩展系统调用表注册单元用于定位输入的扩展组号在扩展系统调用组表中的表项,然后将输入的组内扩展数和组内扩展系统调用表首地址写入表项的相应位置;2.4.4)用户分区层程序以保留组号和扩展组名为输入参数调用分区层操作系统的系统调用接口,分区操作系统派发进入一级程序处理单元执行,一级程序处理单元识别出扩展组号为保留组号,进而在扩展系统调用组表中查找扩展组名所在表项,并将该表项中保存的组内扩展调用数和表项对应的编号作为扩展组号返回给用户的分区程序;2.4.5)使用步骤2.4.4)获得的扩展组号和步骤1)中组内扩展系统调用号组织扩展系统调用号,并以此为输入参数,调用分区操作系统的系统调用接口,分区操作系统派发进入一级程序处理单元对程序执行,一级程序处理单元识别出扩展组号为非保留组号,进而基于扩展组号和组内扩展系统调用号进行二级派发,最终进入用户核心层处理程序执行。...
【技术特征摘要】
1.一种面向分区操作系统的系统调用二级扩展方法,其特征在
于,包括以下步骤:
1)搭建二级扩展系统;
所述二级扩展系统包括初始化单元、扩展组号分配单元、组内扩
展系统调用表注册单元以及一级程序单元;
所述初始单元用于创建扩展系统调用组表以及在核心层注册一
级程序处理单元;
所述扩展组号分配单元用于支持用户注册扩展组名;用于为用户
注册的扩展组名从扩展系统调用组表中分配一个表项,表项编号作为
扩展组号输出给用户;
所述组内扩展系统调用表注册单元用于定位输入的扩展组号在
扩展系统调用组表中的表项,然后将输入的组内扩展数和组内扩展系
统调用表首地址写入表项的相应位置;
所述一级程序处理单元:用于支持分区层用户程序获取指定扩展
组名对应的扩展组号和扩展调用数;用于依据扩展系统调用号中的扩
展组号索引访问扩展系统调用组表,获取表中对应表项保存的组内扩
展系统调用表入口,然后依据扩展系统调用号中的组内扩展系统调用
号索引访问组内扩展系统调用表,获取表中对应表项保存的扩展系统
调用处理程序地址,最后使用该程序地址执行处理程序调用;
2)根据二级扩展系统进行系统的二级扩展;
2.1)自定义扩展系统调用号;
所述扩展系统调用号包括扩展组号和组内扩展系统调用号;
所述扩展系统调用号是一个32位整数,其前8位代表扩展组号,
后24为代表组内扩展系统调用号;所述扩展组号的最后一位数字作
为保留组号;
2.2)创建扩展系统调用组表;
所述扩展系统调用组表由多个表项构成,每个表项包含三个域,
\t分别为扩展组名、组内扩展数和组内扩展系统调用表入口;
所述扩展组名是用户为一...
【专利技术属性】
技术研发人员:张树兵,牟明,崔西宁,王宁,韩春阳,王婷,
申请(专利权)人:中国航空工业集团公司第六三一研究所,
类型:发明
国别省市:陕西;61
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。