一种基于操作系统的对象模型构建方法及其系统调用接口与流程

文档序号:29566480发布日期:2022-04-09 02:37阅读:143来源:国知局
一种基于操作系统的对象模型构建方法及其系统调用接口与流程

1.本发明涉及计算机通讯技术领域,具体涉及一种基于操作系统的对象模型构建方法以及应用该方法所实现的系统调用接口。


背景技术:

2.随着计算机技术的发展,用户可以在计算机系统中安装各式各样的应用程序来满足其不同的使用需求。当前传统的操作系统主要是基于1960年代提出的进程模型,存在开发方式原始、开发效率低下、确定性不好、不支持不同安全关键等级软件集成等问题,其运行实体抽象结构并不能够为众核处理器提供完整、高效、适合高性能并行计算的运行期支持。
3.因此,传统的操作系统不能对任务概念进行拓展以及将软件功能与通信端口封装在一起,缺乏了一种套用于在对象模型操作系统的系统调用接口以及调用方法。


技术实现要素:

4.为了克服现有技术的不足,本发明的目的在于提供一种基于操作系统的对象模型构建方法及其系统调用接口,本发明可以解决现有技术中的开发方式原始、开发效率低下、确定性不好、不支持不同安全关键等级软件集成等问题,可以保证对象在系统内部独立运行能力的同时,极大的丰富了对象间交互控制方式。
5.为解决上述问题,本发明所采用的技术方案如下:
6.一种基于操作系统的对象模型构建方法,包括以下步骤:获取携带有调用参数的调用指令,创建对象所需的通信端口,基于该调用指令构建对象模型,将操作系统的任务概念进行拓展,以此作为最小的系统调度实体来支持软件构件化开发;其中,该对象模型以对象作为调度运行的基本单位,将多种用于ipc的端口作为对象的通信端口;
7.当有多个对象进行通信时,各个对象被独立寻址并通过自身带有的端口与其他对象进行网络的透明通信;其中,其它对象可以通过输入端口向当前对象传递数据、发送信号和事件以及无阻塞地从当前对象输出端口获取信息。
8.进一步的方案是,在其他对象通过输入端口向当前对象传递数据、发送信号和事件时,包括:对象之间通过数据端口交互、对象之间通过信号端口交互以及对象之间通过事件端口交互。
9.更进一步的方案是,当对象之间通过数据端口交互时,当前对象的数据端口是输入端口,由其他对象向当前对象的数据端口写入数据,其中,拥有数据端口的对象只能读该数据端口的数据。
10.更进一步的方案是,由其他对象向该对象的数据端口写入数据具体包括:由对象a查询对象b指定的数据端口,判断是否查询到指定的数据端口,如是,则获取到对象b的数据端口地址,并向该数据端口写入数据。
11.更进一步的方案是,当对象之间通过信号端口交互时,当前对象的信号端口是输
入端口,其他对象向当前对象的信号端口写入信号前,当前对象需要设置好信号的处理函数,当该信号端口接收到信号后,由系统查看该信号端口的内容,并执行相应的信号处理程序。
12.更进一步的方案是,当对象之间通过事件端口交互时,当前对象的事件端口用于负责同步事件响应,其他对象向当前对象的事件端口发送事件时需要先设置事件,然后写入事件。
13.更进一步的方案是,对象的输出端口是以告示板形式发布数据,以环形缓冲区的形式实现输出端口的数据存储,当环形缓冲区存满数据后,对象向输出端口输出数据时,直接覆盖缓冲区中最旧的数据,即输出端口总是保存的是对象输出的最新数据。
14.更进一步的方案是,当对象之间通过输出端口交互时,由其他对象直接读取当前对象的输出端口数据,若当前对象的输出端口无数据,则直接返回。
15.更进一步的方案是,构建对象模型包括:在传统操作系统的进程模型基础上添加4种用于ipc的通信端口作为对象的端口,在每个对象上能配置多个端口,多个端口以链表的形式存储,并记录链表头在对象的数据结构中,其中,4种端口分为两大类,分别为输入端口和输出端口,输入端口分别为数据端口、信号端口和事件端口。
16.由此可见,相比现有技术,本发明提出一种新型的任务模型-对象模型及其构建方法,本发明对传统操作系统的任务概念进行拓展,将软件功能与通信端口封装在一起,定义为对象。其中,基于对象模型的操作系统以对象作为调度运行的基本单位,将多种用于ipc的端口作为对象的通信端口,使用对象模型既可以满足实时性、安全性、可靠性等弹载操作系统基本要求,还可以更好的支持任务并行化运行、保障运行实体提供功能级服务、支持软件的构件化快速生产。
17.此外,本发明采用数据、信号、事件等交互机制,可以使一个对象实体向外提供功能级服务,需求方也可以根据自身需求向其他对象实体请求服务,并进行异步或者同步的控制,满足双方的交互控制需求,实现系统级功能。
18.一种基于操作系统的系统调用接口,包括:对象管理api、对象内存管理api、对象端口管理api、对象系统时间管理api和中断管理api等,这些api是基于上述操作系统的对象模型构建方法来定义和实现的,该系统调用接口在保证对象在系统内部独立运行能力的同时,极大的丰富了对象间交互控制方式。
19.由此可见,本发明的api是基于新型对象模型来定义和实现的,既具有传统操作系统api所具有的功能,又具有基于对象模型操作系统独有的端口通信等功能,这些基于对象模型的api为应用程序提供了一种简单、灵活、统一、标准化的调用接口,能够简便可靠地实现基于构件接口的异步或者同步调用,保证了系统使用以及服务提供的高可靠性及高可用性。
20.下面结合附图和具体实施方式对本发明作进一步详细说明。
附图说明
21.图1是本发明一种基于操作系统的对象模型构建方法实施例的流程图。
22.图2是本发明一种基于操作系统的对象模型构建方法实施例中关于对象模型的原理图。
23.图3是本发明一种基于操作系统的对象模型构建方法实施例中关于两个对象之间通过数据端口交互的流程图。
24.图4是本发明一种基于操作系统的系统调用接口实施例中关于多个对象端口的系统调用接口的应用原理图。
具体实施方式
25.一种基于操作系统的对象模型构建方法实施例:
26.如图1所示,一种基于操作系统的对象模型构建方法,包括以下步骤:
27.步骤s1,获取携带有调用参数的调用指令,创建对象所需的通信端口,基于该调用指令构建对象模型,将操作系统的任务概念进行拓展,以此作为最小的系统调度实体来支持软件构件化开发;其中,该对象模型以对象作为调度运行的基本单位,将多种用于ipc的端口作为对象的通信端口。
28.步骤s2,当有多个对象进行通信时,各个对象被独立寻址并通过自身带有的端口与其他对象进行网络的透明通信;其中,其它对象可以通过输入端口向当前对象传递数据、发送信号和事件以及无阻塞地从当前对象输出端口获取信息。
29.在上述步骤s1中,构建对象模型包括:在传统操作系统的进程模型基础上添加4种用于ipc的通信端口作为对象的端口,在每个对象上能配置多个端口,多个端口以链表的形式存储,并记录链表头在对象的数据结构中,其中,4种端口分为两大类,分别为输入端口和输出端口,输入端口分别为数据端口、信号端口和事件端口。可见,本实施例的对象模型就是将传统操作系统的任务概念进行拓展,增加了系统属性,抽象为对象概念,以此作为最小的系统调度实体,通过对象模型设计、系统api设计来支持软件构件化开发,对象模型如图2所示:
30.具体的,对象模型的构建方法是在传统操作系统的进程基础上添加4种用于ipc的端口,每种端口每个对象能配置多个,这多个端口会以链表的形式存储,并记录链表头在对象的数据结构中,这4个端口分为2大类,分别是输入端口和输出端口(output ports)。其中,输入端口又分为数据端口(data ports)、信号端口(signal ports)和事件端口(event ports)。
31.在本实施例中,其它对象通过输入端口向当前对象传递数据、发送信号和事件时,对象可以等待自身数据端口、事件端口上的数据,或规定信号端口的处理函数。对象可无阻塞地更新输出端口数据,其他对象可以无阻塞地从对象输出端口获得信息。
32.在上述步骤s2中,在其他对象通过输入端口向当前对象传递数据、发送信号和事件时,包括:对象之间通过数据端口交互、对象之间通过信号端口交互以及对象之间通过事件端口交互。
33.在本实施例中,当对象之间通过数据端口交互时,当前对象的数据端口是输入端口,由其他对象向当前对象的数据端口写入数据,其中,拥有数据端口的对象只能读该数据端口的数据。
34.其中,由其他对象向该对象的数据端口写入数据具体包括:由对象a查询对象b指定的数据端口,判断是否查询到指定的数据端口,如是,则获取到对象b的数据端口地址,并向该数据端口写入数据。可见,当前对象的数据端口是输入端口时,只能是其他对象向该端
口写数据,拥有该端口的对象只能读该端口。例如,对象a通过数据端口和对象b交互,对象a向对象b发送数据的流程如图3所示。
35.在本实施例中,当对象之间通过信号端口交互时,当前对象的信号端口是输入端口,其他对象向当前对象的信号端口写入信号前,当前对象需要设置好信号的处理函数,当该信号端口接收到信号后,在某个特定的时机,由系统查看该信号端口的内容,并执行相应的信号处理程序。
36.在本实施例中,当对象之间通过事件端口交互时,当前对象的事件端口用于负责同步事件响应,其他对象向当前对象的事件端口发送事件时需要先设置事件,然后写入事件,其写入过程与数据端口写入的过程一致。
37.其中,对象的输出端口是以告示板形式发布数据,以环形缓冲区的形式实现输出端口的数据存储,当环形缓冲区存满数据后,对象向输出端口输出数据时,直接覆盖缓冲区中最旧的数据,即输出端口总是保存的是对象输出的最新数据,所以对象向输出端口输出数据是无阻塞的。
38.同样,当对象之间通过输出端口交互时,由其他对象直接读取当前对象的输出端口数据,若当前对象的输出端口无数据,则直接返回。
39.因此,本发明使用对象模型既可以满足实时性、安全性、可靠性等弹载操作系统基本要求,还可以更好的支持任务并行化运行、保障运行实体提供功能级服务、支持软件的构件化快速生产,其具体表现在:
40.以对象为运行的基本单位,可以在原有的进程模型上增加通信语义(即端口),通过使用自身的数据端口以告示板等方式来进行数据交互,一方面保障了数据提供端无需等待数据确认即可继续运行应用,另一方面保障了数据获取端可以实时的获取期望的数据,而无需再经过中间实体通过复杂的控制流来获取数据,极大地提高了异步通信效率,同时又保障了通信双方实体的并行运行能力。
41.由此可见,相比现有技术,本发明提出一种新型的任务模型-对象模型及其构建方法,本发明对传统操作系统的任务概念进行拓展,将软件功能与通信端口封装在一起,定义为对象。其中,基于对象模型的操作系统以对象作为调度运行的基本单位,将多种用于ipc的端口作为对象的通信端口,使用对象模型既可以满足实时性、安全性、可靠性等弹载操作系统基本要求,还可以更好的支持任务并行化运行、保障运行实体提供功能级服务、支持软件的构件化快速生产。
42.此外,本发明采用数据、信号、事件等交互机制,可以使一个对象实体向外提供功能级服务,需求方也可以根据自身需求向其他对象实体请求服务,并进行异步或者同步的控制,满足双方的交互控制需求,实现系统级功能。
43.一种基于操作系统的系统调用接口实施例:
44.如表1所示,本发明提供的一种基于操作系统的系统调用接口,该系统调用接口应用于上述的一种基于操作系统的对象模型构建方法进行定义和实现的,该系统调用接口包括:对象管理api、对象内存管理api、对象端口管理api、对象系统时间管理api和中断管理api等。
45.在本实施例中,对于上述对象模型,在操作系统中对象是调度运行的基本单位,可以被独立寻址并通过自身带有的端口与其他对象进行网络透明的通信。对象模型操作系统
中根据对象具有的特性重新定义了一套系统调用接口,来实现系统功能。具体的系统调用接口如下表1所示。
46.表1基于对象模型操作系统的系统调用接口
47.48.[0049][0050]
以某个闭环控制应用为例,说明一下对象模型操作系统调用接口中关于对象端口api的应用情形。例如,如图4所示,应用程序开发者使用oos_object_create()接口创建多个对象,对象1~3负责采集不同传感器数据,并输出到自己的输出端口中;对象4负责做数据处理,从对象1~3的输出端口中读取数据,并对读取的数据做处理,在处理数据后若发现某个或某几个传感器数据异常时,发送对应的事件给对象5的事件端口;对象5等待读取对象4发送过来的事件,并做相应的处理,若传感器的数据异常个数超过某指定值,则向对象6的信号端口写入信号;对象6在特定的时机读取到自身信号端口的数据后执行对应的信号处理程序,给对象7的数据端口写入控制指令数据;对象7从自身的数据端口读取数据后解析,控制控制单元,进而控制执行单元。
[0051]
由此可见,本发明的api是基于新型对象模型来定义和实现的,既具有传统操作系统api所具有的功能,又具有基于对象模型操作系统独有的端口通信等功能,这些基于对象模型的api为应用程序提供了一种简单、灵活、统一、标准化的调用接口,能够简便可靠地实现基于构件接口的异步或者同步调用,保证了系统使用以及服务提供的高可靠性及高可用性。
[0052]
上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1