一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

虚拟化管理下的服务请求响应方法、装置、设备及介质与流程

2023-02-04 16:26:30 来源:中国专利 TAG:


1.本发明涉及虚拟化技术领域,尤其涉及一种虚拟化管理下的服务请求响应方法、装置、设备及介质。


背景技术:

2.当今的智能座舱解决方案中,越来越多的操作系统运行在座舱内,以满足不同区域用户体验。为了实现这一目标,增加座舱内soc个数会增加汽车硬件成本。同时,纳米级soc芯片能力随着纳米精细化越来越高,单个soc运行单个操作系统往往会造成硬件能力过剩。
3.单个soc上运行多个系统的技术方案开始层出不穷。现有技术中基于硬件隔离可以实现单个soc上运行多个系统。但硬件隔离后各系统无法访问相同的外部设备,则需要在多个系统布置多份外部设备,无疑加大了成本。


技术实现要素:

4.本发明实施例提供了一种虚拟化管理下的服务请求响应方法、装置、车辆及介质,以实现硬件隔离下的各soc中的系统共享外部设备的场景。
5.第一方面,本实施例提供了一种虚拟化管理下的服务请求响应方法,应用于同一系统级芯片soc,所述soc上包括至少一个操作系统域,各所述操作系统域分别连接至少一个执行设备,所述方法包括:
6.上电后通过内存中相对各所述操作系统域的镜像文件,启动各所述操作系统域,各所述操作系统域中包括内核态下运行的内核模拟程序;
7.通过源操作系统域中的内核模拟程序,如果接收到服务请求且通过对所述服务请求的分析,确定所述服务请求所对应执行设备未与所述源操作系统域连接,则将所述服务请求转发至目标操作系统域,所述源操作系统域为任一操作系统域,所述目标操作系统域为与所述执行设备连接的操作系统域;
8.通过所述目标操作系统中的内核模拟程序,控制所述执行设备响应所述服务请求,并将处理结果传递至所述源操作系统。
9.第二方面,本实施例提供了一种虚拟化管理下的服务请求响应装置,应用于同一系统级芯片soc,所述soc上包括至少一个操作系统域,各所述操作系统域分别连接至少一个执行设备,所述装置包括:
10.上电启动模块,用于上电后通过内存中相对各所述操作系统域的镜像文件,启动各所述操作系统域,各所述操作系统域中包括内核态下运行的内核模拟程序;
11.请求转发模块,用于通过源操作系统域中的内核模拟程序,如果接收到服务请求且通过对所述服务请求的分析,确定所述服务请求所对应执行设备未与所述源操作系统域连接,则将所述服务请求转发至目标操作系统域,所述源操作系统域为任一操作系统域,所述目标操作系统域为与所述执行设备连接的操作系统域;
12.结果传递模块,用于通过所述目标操作系统中的内核模拟程序,控制所述执行设备响应所述服务请求,并将处理结果传递至所述源操作系统。
13.第三方面,本实施例提供了一种电子设备,所述电子设备包括:
14.至少一个系统级芯片soc,所述soc上包括至少一个操作系统域,各所述操作系统域分别连接至少一个执行设备;以及
15.与所述至少一个soc通信连接的存储器;其中,
16.所述存储器存储有可被所述至少一个soc执行的计算机程序,所述计算机程序被所述至少一个soc执行,以使所述至少一个soc能够执行本发明任一项实施例所述的虚拟化管理下的服务请求响应方法。
17.第四方面,本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使soc执行时实现本发明任一实施例所述的虚拟化管理下的服务请求响应方法。
18.本发明实施例提供一种虚拟化管理下的服务请求响应方法、装置、设备及介质,应用于同一soc,soc上包括至少一个操作系统域,各操作系统域分别连接至少一个执行设备,包括:上电后通过内存中相对各操作系统域的镜像文件,启动各操作系统域及内核模拟程序;通过源操作系统域中的内核模拟程序,通过对接收到的服务请求的分析,确定对应执行设备未与源操作系统域连接,则将服务请求转发至目标操作系统域;通过目标操作系统中的内核模拟程序,控制执行设备响应服务请求,并将处理结果传递至源操作系统。利用该方法,在单个soc上运行多个系统,每个系统布置不同的执行设备,通过代理请求的形式实现执行设备的共享,减少硬件成本,使设备虚拟化处理标准化。
19.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
20.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
21.图1为本发明实施例一提供的一种虚拟化管理下的服务请求响应方法的流程示意图;
22.图2为本发明实施例二提供的一种虚拟化管理下的服务请求响应方法的流程示意图;
23.图3为本发明实施例二提供的一种虚拟化管理下的服务请求响应方法的示例流程图;
24.图4为本发明实施例三提供的一种虚拟化管理下的服务请求响应装置的结构示意图;
25.图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
26.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
27.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“原始”、“目标”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
28.实施例一
29.图1为本发明实施例一提供的一种虚拟化管理下的服务请求响应方法的流程示意图,该方法可适用于单个soc上运行多个系统控制域的情况,该方法可以由虚拟化管理下的服务请求响应装置来执行,该虚拟化管理下的服务请求响应装置可以采用硬件和/或软件的形式实现,该装置可配置于电子设备中。
30.该方法应用于同一系统级芯片soc,soc上包括至少一个操作系统域,各操作系统域分别连接至少一个执行设备。
31.如图1所示,本实施例一提供的一种虚拟化管理下的服务请求响应方法具体可以包括以下步骤:
32.s110、上电后通过内存中相对各操作系统域的镜像文件,启动各操作系统域,各操作系统域中包括内核态下运行的内核模拟程序。
33.本实施例中,操作系统域可以理解为按照不同功能对汽车中的设备进行划分,而形成的可以控制不同外部设备实现相应功能的区块。镜像文件可以理解为其对应的操作系统域的数据的副本文件。内核模拟程序可以理解为负责与源操作系统域的设备代理职责或者设备虚拟化任务的实现内核功能的程序,可以运行在目标操作系统域的内核态中。
34.需要知道的是,一个系统级芯片soc中可以包括多个核,可以按照各操作系统域的硬件能力为其分配cpu核数,实现各操作系统域的隔离。硬件能力越强,则该操作系统域的内核模拟程序分配到的cpu核数越多,其对应的外部设备布置的也更全;硬件能力越弱,则分配到的cpu核数越少,其对应的外部设备布置的更少。
35.具体的,当设备上电启动后,引导程序可以加载各操作系统域的镜像文件至内存,在各镜像文件加载至内存后,启动相应的操作系统域。各操作系统域可以布置有一个或多个外部设备,并按照硬件能力分配cpu核数,各操作系统域可以初始化内核的各个模块,并且各操作系统域可以初始化其对应的外部设备所对应的驱动程序,soc可以控制各操作系统域的内核模拟程序启动。
36.s120、通过源操作系统域中的内核模拟程序,如果接收到服务请求且通过对服务请求的分析,确定服务请求所对应执行设备未与源操作系统域连接,则将服务请求转发至
目标操作系统域,源操作系统域为任一操作系统域,目标操作系统域为与执行设备连接的操作系统域。
37.在本实施例中,源操作系统域可以理解为接收到服务请求的操作系统域。目标操作系统域可以理解为包含可以响应服务请求对应的外部设备的操作系统域。
38.在本实施例中,服务请求可以理解为实现操作系统域对应的功能而需要外部设备进行协助处理的请求。如源操作系统域为仪表系统域接收到相机拍摄的图像后,需要执行相机原始图像进行图像格式转换、图像翻转或图像缩放等功能,则可以接收相应的服务请求,服务请求中可以包括相应的控制命令及数据。执行设备可以理解为可以响应服务请求的设备。如响应图像格式转换请求的执行设备可以为2d gpu,响应播放请求的执行设备可以为磁盘,响应网络发送请求的执行设备可以为网卡等。
39.具体的,源操作系统域启动后,通过源操作系统域中的内核模拟程序可以接收到相应设备发送服务请求,可以对该服务请求进行分析,从而确定响应该服务请求对应的执行设备,判断执行设备是否布置于源操作系统域,即是否与源操作系统域直接连接,即是否可以通过源操作系统域响应该服务请求。当源操作系统域未与该服务请求对应的执行设备连接时,则可以确定可以响应该服务请求的执行设备布置于哪个操作系统域上,将布置执行设备的操作系统域作为目标操作系统域。可以通过内核模拟程序对服务请求进行转发,发送至包含相应执行设备的目标操作系统域。
40.示例性的,仪表系统域(即源操作系统域)硬件能力简单,分配得到的cpu核数较少,外部设备较少。当仪表系统域完成初始化后,相机获取原始图像的yuv格式的图像数据,而进行展示时需要调整格式至rgb形式。则接收到包含原始图像yuv/rgb格式转换指令及相应的图像数据的服务请求。仪表系统域中不包括可以进行图像格式转换功能的2d gpu,则源操作系统域未与服务请求对应的执行设备2d gpu连接。中控系统域(即目标操作系统域)的硬件能力更强,分配得到的cpu核数更多,外部设备布置更加齐全,则将2d gpu布置于中控系统域。可以通过运行在中控系统域内核态中的预先设定的内核模拟程序,对服务请求进行转发,转发至中控系统域。
41.s130、通过目标操作系统中的内核模拟程序,控制执行设备响应服务请求,并将处理结果传递至源操作系统。
42.在本实施例中,处理结果可以理解为按照服务请求中的控制命令对相关数据进行处理得到的结果。
43.具体的,目标操作系统域中该执行设备的物理驱动,可以通过目标操作系统中的内核模拟程序控制物理驱动与执行设备进行交互,将服务请求发送至执行设备进行响应,内核模拟程序将响应后的处理结果传送至物理驱动,并通知目标操作系统域该执行设备中断,即完成对服务请求的响应,目标操作系统域获取处理结果,物理驱动继续轮询等待的内核线程队列,与执行设备继续进行交互。目标操作系统域告知内核模拟程序处理结果物理地址,可以通过内核模拟程序将处理结果通过共享内存等传递方式传递回源操作系统域。
44.本发明实施例提供一种虚拟化管理下的服务请求响应方法,通过上电后通过内存中相对各操作系统域的镜像文件,启动各操作系统域及内核模拟程序;通过源操作系统域中的内核模拟程序,通过对接收到的服务请求的分析,确定对应执行设备未与源操作系统域连接,则将服务请求转发至目标操作系统域;通过目标操作系统中的内核模拟程序,控制
执行设备响应服务请求,并将处理结果传递至源操作系统。利用该方法,在单个soc上运行多个系统,每个系统布置不同的执行设备,通过代理请求的形式实现执行设备的共享,减少硬件成本,使设备虚拟化处理标准化。
45.作为本实施例一的第一可选实施例,在上述实施例的基础上,进一步优化包括:
46.通过源操作系统域中的内核模拟程序,如果接收到服务请求且通过对服务请求的分析,确定与服务请求的执行设备连接,则控制执行设备响应服务请求。
47.具体的,源操作系统域启动后,源操作系统域可以通过内核模拟程序接收到相应设备发送服务请求,内核模拟程序可以对该服务请求进行分析,从而确定响应该服务请求对应的执行设备,判断执行设备布置于源操作系统域,即可以与源操作系统域直接连接,此时,可以通过源操作系统域中的执行设备响应该服务请求。
48.进一步地,控制执行设备响应服务请求的具体步骤可以为:
49.a1、将服务请求传送至执行设备对应的物理驱动。
50.在本实施例中,物理驱动可以理解为驱动执行设备的驱动硬件。
51.具体的,通过源操作系统域中的内核模拟程序可以查找服务请求对应执行设备的物理驱动,并将服务请求传送至执行设备对应的物理驱动。
52.b1、控制物理驱动将服务请求转发至执行设备。
53.具体的,内核模拟程序可以调用执行设备的用户态驱动api,控制物理驱动将服务请求通过相应的api转发至执行设备。
54.c1、通过执行设备响应服务请求,得到处理结果并反馈至物理驱动。
55.具体的,当执行设备接收到服务请求后,可以将原始服务请求中的数据按照控制命令进行处理,得到处理结果,通过相应的物理驱动接口将处理结果反馈至物理驱动并存入内存中。
56.示例性的,服务请求中的控制命令可以为将图像格式从yuv转换至rgb,则执行设备2d gpu可以对服务请求中的原始图像数据进行格式转换,得到rgb下的图像数据,则rgb下的图像数据即为处理结果,并将处理结果通过相应的接口反馈回物理驱动。
57.d1、控制源操作系统域读取处理结果。
58.具体的,内核模拟程序可以控制源操作系统域中相应的执行设备用户程序可以获取处理结果对应的物理地址,根据物理地址读取接收的处理结果。
59.本实施例一的第一可选实施例,通过这样的设置,通过源操作系统域中设定的内核模拟程序接收到服务请求时,首先判断源操作系统域是否与服务请求对应的执行设备连接,当直接连接时,可以通过物理驱动与执行设备进行交互,实现对服务请求的快速响应。
60.作为本实施例一的第二可选实施例,在上述实施例将服务请求转发至目标操作系统域之后,进一步优化包括:
61.通过目标操作系统域中的内核模拟程序,如果接收到本地服务请求且通过对本地服务请求的分析,确定与本地服务请求的执行设备连接,则控制执行设备响应本地服务请求。
62.在本实施例中,本地服务请求可以理解为目标操作系统域本地接收到的,与源操作系统域转发的服务请求对应的执行设备相同的服务请求。
63.具体的,在服务请求转发至目标操作系统域之后,目标操作系统域中的内核模拟
程序可以接收到相应设备发送的本地服务请求,可以对该本地服务请求进行分析,从而确定响应该本地服务请求对应的执行设备,执行设备布置于目标操作系统域,即可以与目标操作系统域直接连接,即可以通过目标操作系统域响应本地服务请求。
64.进一步地,控制执行设备响应本地服务请求的具体步骤可以包括:
65.a2、将本地服务请求传送至执行设备对应的物理驱动。
66.需要知道的是,当目标操作系统域通过内核模拟程序接收到转发的其他操作系统域的服务请求后,又接收到本地服务请求时,可能出现执行设备不知道执行哪一个服务请求,而导致无法响应服务请求的情况。则可以通过该服务请求对应的执行设备用户程序按照接收时间对服务请求进行排序,形成等待的内核线程队列,按照队列顺序进行轮询。
67.具体的,目标操作系统域通过内核模拟程序将本地服务请求传送至执行设备对应的物理驱动。物理驱动程序轮询等待的内核线程队列,若没有其他服务请求,则可以对该本地服务请求进行下一步与执行设备的交互;若还包括其他服务请求,如包括转发的服务请求,则内核模拟程序可以将该本地服务请求加入等待的内核线程队列,暂时挂起,直至队列中该本地服务请求前的服务请求均完成响应后,控制该本地服务请求进行下一步与执行设备的交互。
68.b2、控制物理驱动将服务请求转发至执行设备。
69.具体的,物理驱动程序轮询等待的内核线程队列,没有其他服务请求,则可以将服务请求转发至执行设备进行响应处理。
70.c2、控制执行设备将响应本地服务请求后的处理结果反馈至物理驱动。
71.具体的,执行设备响应本地服务请求,内核模拟程序可以按照本地服务请求中的控制命令对数据进行处理,得到处理结果,将处理结果反馈回物理驱动并存入相应的内存中。
72.d2、控制物理驱动根据处理结果,生成执行设备对应的设备中断信息,并发送至内核模拟程序。
73.在本实施例中,设备中断信息可以理解为用于指示执行设备处理完处于空闲状态的信息。
74.具体的,物理驱动程序在接收到处理结果后,可以将处理结果存入相应的内存中,并获取物理地址,得知执行设备执行完毕,并处于空闲状态,可以继续轮询等待的内核线程队列,将下一服务请求发送至执行设备。同时可以根据物理地址及设备处于空闲状态,生成执行设备对应的设备中断信息,并将设备中断信息发送至目标操作系统域中的内核模拟程序。
75.e2、接收设备中断信息,并获取处理结果。
76.具体的,目标操作系统域可以通过内核模拟程序接收物理驱动程序传送的设备中断信息,确定此时执行设备已完成响应,可以获取处理结果,则目标操作系统域可以在相应的内存中对物理地址进行查找,获取该物理地址下的处理结果。
77.本实施例一的第二可选实施例,通过这样的设置,目标操作系统域在接收到其他操作系统域转发的服务请求后,目标操作系统域又接收到本地服务请求,按照相应的顺序形成内核线程队列,对队列中的服务请求进行轮询,当执行设备响应服务请求生成处理结果后,可以生成中断信息,并轮询队列中下一等待的服务请求,避免了服务信息冲突而导致
的无法正常响应服务请求的情况,保证了服务请求的及时响应,在对其他操作系统域的服务请求进行响应的同时,保证本地服务请求也可以进行及时响应。
78.实施例二
79.图2为本发明实施例二提供的一种虚拟化管理下的服务请求响应方法的流程示意图,本实施例为上述实施例的如果源操作系统域接收到服务请求,且未与服务请求的执行设备连接时,源操作系统域获取的处理结果的进一步优化。
80.如图2所示,本实施例二提供一种虚拟化管理下的服务请求响应方法,具体包括如下步骤:
81.s201、上电后通过内存中相对各操作系统域的镜像文件,启动各操作系统域,各操作系统域中包括内核态下运行的内核模拟程序。
82.s202、对服务请求进行封装,得到封装服务请求。
83.在本实施例中,封装服务请求可以理解为对控制命令及数据进行整合而形成的服务请求。
84.具体的,如果源操作系统域通过内核模拟程序接收到服务请求且通过对服务请求的分析,确定未与服务请求的执行设备连接时,可以控制源操作系统域中该服务请求对应的用户程序对服务请求进行封装,将控制命令及数据进行整合,形成封装服务请求。
85.s203、将封装服务请求转发至目标操作系统域。
86.需要说明的是,源操作系统域可以作为前端驱动,目标操作系统域可以作为后端设备。同时cpu cache相互隔离时,前端设备驱动写入数据至后端设备后需要配合cache flush,从后端设备读取数据前需要配合cache invalid等操作。
87.具体的,源操作系统域中的内核模拟程序将该服务请求对应的用户程序可以将封装服务请求上传至内存中,并将地址信息反馈回内核模拟程序。内核模拟程序根据地址信息在内存中进行查找,获取封装服务请求,将封装服务请求转发至目标操作系统域的内核模拟程序。
88.s204、解析接收到的封装服务请求,并将解析后的原始服务请求通过相匹配的物理驱动转发至执行设备。
89.在本实施例中,原始服务请求可以理解为封装前的服务请求。
90.具体的,通过内核模拟程序对封装服务请求进行解析,解析原始服务请求中的控制命令,并获取封装服务请求中的数据,将解析后的控制命令和数据透传至中控系统域中的相匹配的物理驱动中,并通过物理驱动转发至执行设备。
91.s205、控制执行设备将响应原始服务请求后的处理结果通过物理驱动反馈至目标操作系统域。
92.具体的,执行设备接收到服务请求后,可以将原始服务请求中的数据按照控制命令进行处理,得到处理结果,并将处理结果反馈至物理驱动,再通过物理驱动反馈至目标操作系统域。
93.进一步地,控制执行设备将响应原始服务请求后的处理结果通过物理驱动反馈至目标操作系统域,具体包括:
94.a3、控制执行设备响应原始服务请求,得到处理结果并反馈至物理驱动。
95.具体的,执行设备接收到服务请求后,可以将原始服务请求中的数据按照控制命
令进行处理,得到处理结果,通过相应的物理驱动接口将处理结果反馈至物理驱动。
96.b3、控制物理驱动根据处理结果,生成执行设备对应的设备中断信息,并发送至目标操作系统域。
97.具体的,物理驱动程序在接收到处理结果后,可以将处理结果存入相应的内存中,并获取物理地址,得知执行设备执行完毕,并处于空闲状态,可以继续轮询等待的内核线程队列,将下一服务请求发送至执行设备。同时可以根据物理地址及设备处于空闲状态,生成执行设备对应的设备中断信息,并将设备中断信息发送至目标操作系统域。
98.c3、接收设备中断信息,并获取处理结果。
99.具体的,目标操作系统域可以接收物理驱动程序传送的设备中断信息,确定此时执行设备已完成响应,可以获取处理结果,则目标操作系统域可以在相应的内存中对物理地址进行查找,获取该物理地址下的处理结果。
100.s206、将处理结果由目标操作系统域传递至源操作系统域。
101.具体的,内核模拟程序可以将处理结果上传至共享内存,源操作系统域可以在共享内存中获取处理结果。
102.进一步地,控制执行设备将响应原始服务请求后的处理结果通过物理驱动反馈至目标操作系统域,具体包括:
103.a4、将处理结果传送至共享内存,并通过相应的机制同步源操作系统域。
104.需要说明的是,同时cpu cache相互隔离,前端设备驱动写入数据至后端设备后需要配合cache flush,从后端设备读取数据前需要配合cache invalid等操作。
105.在本实施例中,共享内存可以理解为多个操作系统域均可访问的储存器。
106.具体的,内核模拟程序可以将处理结果传送至共享内存,获取共享内存中的数据地址,可以通过相应的消息传递机制,消息传递机制优选为rpmsg机制,可以通过rpmsg机制将处理结果对应的在共享内存中的数据地址同步至源操作系统域。
107.b4、读取共享内存中的处理结果。
108.具体的,源操作系统域可以接收数据地址,根据数据地址在共享内存中进行查找,获取处理结果。
109.本发明实施例二提供一种虚拟化管理下的服务请求响应方法,通过目标操作系统域中的内核模拟程序接收源操作系统域转发的服务请求,解析服务请求并通过物理驱动与执行设备进行交互,通过轮询内核线程队列响应服务请求并形成处理结果,内核模拟程序上传处理结果至共享内存,源控制服务器读取处理结果。通过内核模拟程序代理服务请求的形式实现了执行设备在多个操作系统域间的共享,没有配置执行设备的操作系统域也可实现相应的服务请求,使执行设备虚拟化处理标准化,减少了硬件成本。
110.为了更清楚的表述本发明实施例,以汽车系统中的一个soc下的多操作系统域运行场景为例进行描述,假设多操作系统域是指中控系统域和仪表系统域。服务请求为camera传送的格式为yuv的图像原始数据,需要将yuv格式转换为rgb格式。其中,2d gpu为可以执行yuv/rgb格式转换的执行设备。
111.图3为本发明实施例二提供的一种虚拟化管理下的服务请求响应方法的示例流程图。如图3所示,虚拟化管理下的服务请求响应步骤可以表述为:
112.s1、汽车系统启动,引导系统加载两个操作系统域的镜像文件,启动两个系统域;
113.s2、仪表系统域启动;其中,仪表系统域需要进行快启及早期发声;
114.s3、内核模拟程序初始化;
115.s4、接收2d gpu用户程序的服务请求;
116.s5、判断仪表系统域是否与服务请求的执行设备连接;若是,则跳转至s6;若否,则跳转至s12;
117.s6、将服务请求通过2d gpu物理驱动传送至2d gpu执行设备,并接收处理后的结果;
118.s7、2d gpu执行设备接收并响应服务请求,得到处理结果并反馈至物理驱动;
119.s8、仪表系统域的2d gpu用户程序读取处理结果;
120.s9、中控系统域启动;
121.s10、内核模拟程序初始化;
122.s11、内核模拟程序解析控制命令,读取原始数据;
123.s12、对服务请求(控制命令和原始数据)进行封装,得到封装服务请求;
124.s13、接收2d gpu用户程序的本地服务请求;
125.s14、本地服务请求加入等待线程队列,2d gpu物理驱动根据控制命令将原始数据传送至2d gpu执行设备并接收处理结果,轮询等待线程队列;
126.s15、2d gpu执行设备接收并响应服务请求,得到处理结果并反馈至物理驱动;
127.s16、物理驱动根据处理结果,生成执行设备对应的设备中断信息,并发送至中控系统域;
128.s17、接收设备中断信息,并获取处理结果;
129.s18、通过rpmsg机制同步仪表系统域,并对处理结果进行共享。
130.实施例三
131.图4为本发明实施例三提供的一种虚拟化管理下的服务请求响应装置的结构示意图,可适用于单个soc上运行多个系统控制域的情况,该装置可以采用硬件和/或软件的形式实现,并一般应用于同一系统级芯片soc,所述soc上包括至少一个操作系统域,各所述操作系统域分别连接至少一个执行设备。如图4所示,该装置包括:上电启动模块31、请求转发模块32以及结果传递模块33。其中,
132.上电启动模块31,用于上电后通过内存中相对各操作系统域的镜像文件,启动各操作系统域,各操作系统域中包括内核态下运行的内核模拟程序;
133.请求转发模块32,用于通过源操作系统域中的内核模拟程序,如果接收到服务请求且通过对服务请求的分析,确定服务请求所对应执行设备未与源操作系统域连接,则将服务请求转发至目标操作系统域,源操作系统域为任一操作系统域,目标操作系统域为与执行设备连接的操作系统域;
134.结果传递模块33,用于通过目标操作系统中的内核模拟程序,控制执行设备响应服务请求,并将处理结果传递至源操作系统。
135.本发明实施例提供一种虚拟化管理下的服务请求响应装置,通过在单个soc上运行多个系统,每个系统布置不同的执行设备,通过代理请求的形式实现执行设备的共享,减少硬件成本,使设备虚拟化处理标准化。
136.可选地,请求转发模块32,具体用于:
137.对服务请求进行封装,得到封装服务请求;
138.将封装服务请求转发至目标操作系统域。
139.可选地,结果传递模块33,包括:
140.驱动转发单元,用于解析接收到的封装服务请求,并将解析后的原始服务请求通过相匹配的物理驱动转发至执行设备;
141.结果反馈单元,用于控制执行设备将响应原始服务请求后的处理结果通过物理驱动反馈至目标操作系统域;
142.结果转发单元,用于将处理结果由目标操作系统域传递至源操作系统域。
143.进一步地,结果反馈单元,具体用于:
144.控制执行设备响应原始服务请求,得到处理结果并反馈至物理驱动;
145.控制物理驱动根据处理结果,生成执行设备对应的设备中断信息,并发送至目标操作系统域;
146.接收设备中断信息,并获取处理结果。
147.进一步地,结果传递单元,具体用于:
148.将处理结果传送至共享内存,并通过相应的机制同步源操作系统域;
149.读取共享内存中的处理结果。
150.优选地,该装置,还包括:
151.源请求响应模块,用于通过源操作系统域中的内核模拟程序,如果接收到服务请求且通过对服务请求的分析,确定与服务请求的执行设备连接,则控制执行设备响应服务请求。
152.进一步地,请求响应模块,具体用于:
153.将服务请求传送至执行设备对应的物理驱动;
154.控制物理驱动将服务请求转发至执行设备;
155.通过执行设备响应服务请求,得到处理结果并反馈至物理驱动;
156.读取处理结果。
157.优选地,该装置,将服务请求转发至目标操作系统域之后,还包括:
158.目标请求响应模块,用于通过目标操作系统域中的内核模拟程序,如果接收到本地服务请求且通过对本地服务请求的分析,确定与本地服务请求的执行设备连接,则控制执行设备响应本地服务请求。
159.进一步地,目标请求响应模块,具体用于:
160.将本地服务请求传送至执行设备对应的物理驱动;
161.控制物理驱动将服务请求转发至执行设备;
162.控制执行设备将响应本地服务请求后的处理结果反馈至物理驱动;
163.控制物理驱动根据处理结果,生成执行设备对应的设备中断信息,并发送至内核模拟程序;
164.接收设备中断信息,并获取处理结果。
165.本发明实施例所提供的虚拟化管理下的相机调用装置可执行本发明任意实施例所提供的虚拟化管理下的服务请求响应方法,具备执行方法相应的功能模块和有益效果。
166.实施例四
167.图5示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
168.如图5所示,电子设备10包括至少一个系统级芯片soc,所述soc上包括至少一个操作系统域,各所述操作系统域分别连接至少一个执行设备,以及与至少一个soc11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个soc执行的计算机程序,soc11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储电子设备10操作所需的各种程序和数据。soc11、rom 12以及ram 13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
169.电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
170.soc11执行上文所描述的各个方法和处理,例如虚拟化管理下的服务请求响应方法。
171.在一些实施例中,虚拟化管理下的服务请求响应方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到ram 13并由soc11执行时,可以执行上文描述的虚拟化管理下的服务请求响应方法的一个或多个步骤。备选地,在其他实施例中,soc11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行虚拟化管理下的服务请求响应方法。
172.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程soc的可编程系统上执行和/或解释,该可编程soc可以是专用或者通用可编程soc,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
173.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的soc,使得计算机程序当由soc执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
174.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存
储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
175.为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
176.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括第一件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、第一件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
177.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
178.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
179.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献