发明名称 一种面向分区操作系统的系统调用二级扩展方法
摘要 本发明属于机载航电系统应用软件技术领域,具体涉及一种基于分区操作系统的一次扩展系统调用能力提出的一种面向分区操作系统的系统调用二级扩展方法。本方法的主要步骤是:1)搭建二级扩展系统;)2)根据二级扩展系统进行系统的二级扩展2.1)自定义扩展系统调用号;2.2)创建扩展系统调用组表;2.3)创建组内扩展系统调用组表;2.4)二级派发;通过本发明的方法能够同时满足驱动开发和应用开发对系统调用的二次扩展需求。
申请公布号 CN104360888A 申请公布日期 2015.02.18
申请号 CN201410719366.4 申请日期 2014.11.29
申请人 中国航空工业集团公司第六三一研究所 发明人 张树兵;牟明;崔西宁;王宁;韩春阳;王婷
分类号 G06F9/445(2006.01)I 主分类号 G06F9/445(2006.01)I
代理机构 西安智邦专利商标代理有限公司 61211 代理人 王少文
主权项 一种面向分区操作系统的系统调用二级扩展方法,其特征在于,包括以下步骤: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)中组内扩展系统调用号组织扩展系统调用号,并以此为输入参数,调用分区操作系统的系统调用接口,分区操作系统派发进入一级程序处理单元对程序执行,一级程序处理单元识别出扩展组号为非保留组号,进而基于扩展组号和组内扩展系统调用号进行二级派发,最终进入用户核心层处理程序执行。
地址 710119 陕西省西安市锦业二路15号