[发明专利]一种基于系统调用代理的安卓虚拟化方法及系统有效
申请号: | 202110557154.0 | 申请日: | 2021-05-21 |
公开(公告)号: | CN113296890B | 公开(公告)日: | 2023-09-26 |
发明(设计)人: | 曹春;廖祥森;徐经纬;马晓星 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/54;H04L9/40 |
代理公司: | 南京乐羽知行专利代理事务所(普通合伙) 32326 | 代理人: | 李玉平 |
地址: | 210023 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 系统 调用 代理 虚拟 方法 | ||
1.一种基于系统调用代理的安卓虚拟化方法,其特征在于,以支持安卓系统在运行时动态地绑定硬件资源,包括基于系统调用代理的远程系统调用协议部分和安卓硬件资源动态绑定部分;
所述基于系统调用代理的远程系统调用协议部分,通过系统调用代理技术,完成将安卓硬件抽象层发出的本地系统调用,转换为对远程硬件设备的系统调用;
所述安卓硬件资源动态绑定部分,根据系统调用所处的硬件抽象层模块类型,决定安卓虚拟机与远程硬件设备虚拟机间的绑定关系,生成消息路由表,以此转发远程系统调用消息,在安卓系统运行时只需重启硬件抽象层模块所处的系统服务即可重置资源绑定关系。
2.根据权利要求1所述的基于系统调用代理的安卓虚拟化方法,其特征在于,所述的系统调用代理技术拦截安卓硬件抽象层中的本地系统调用,转换为对远程节点设备驱动的系统调用,通过运行在安卓系统侧的编码过程与运行在设备驱动侧的解码过程合作实现远程系统调用协议。
3.根据权利要求2所述的基于系统调用代理的安卓虚拟化方法,其特征在于,所述远程系统调用编解码过程,取决于系统调用参数及返回值的数据类型,包括基本数据类型、指针类型、文件描述符、函数错误码四种数据类型;
所述基本数据类型的编码过程往消息体中直接写入值即可;
所述指针类型是一个指向用户态内存的地址,根据内核的数据拷贝方向,分为内核只读、内核只写、内核读写三类:
对于内核只读类型指针,编码过程将其所指的内存数据写入到消息体中,在系统调用前,解码过程根据数据长度分配内存并写入对应的数据内容,系统调用结束后,解码过程负责回收内存对象;
对于内核只写类型指针,编码过程将其所指内存数据大小写入到消息体中,在系统调用前,解码过程根据数据长度分配内存,在系统调用后,解码过程将数据内容写入到返回消息中,编码过程将返回消息中的数据内容写入到该指针对应的内存地址中;
对于内核读写类型指针,则综合内核只读类型指针和内核只写类型指针两种编解码过程即可;
所述文件描述符被内核用来索引各进程对内核资源的使用情况,不同进程中是独立的,解码过程需要维护一个本地和远程文件描述符的映射关系,将远程的文件描述符映射到本地打开的文件描述符之上;
所述错误码是指当系统调用出错时,内核会将错误原因写入到用户态一个名为errno的全局变量之中,解码过程读取系统调用的返回值,若为负数则代表系统调用失败,读取errno并写入到消息体中,否则将返回值写入到消息体中,若编码过程发现消息体中的errno不为空,则设置对应的全局变量以便于硬件抽象层模块的后续错误处理。
4.根据权利要求1所述的基于系统调用代理的安卓虚拟化方法,其特征在于,所述远程系统调用消息的格式包含资源类型、资源使用编号、资源编号、系统调用号、返回值、错误码、系统调用参数列表七个部分。
5.根据权利要求1所述的基于系统调用代理的安卓虚拟化方法,其特征在于,所述安卓硬件资源动态绑定方法分为资源注册、资源绑定、资源使用三个过程,通过资源使用情况表来描述安卓虚拟机与硬件资源的绑定关系,通过消息路由表描述如何转发远程系统调用消息;
所述资源使用情况表包含资源类型、设备虚拟机编号、节点编号、节点地址、是否被占用属性,被所有的节点所共享;
所述消息路由表包含资源类型、安卓虚拟机编号、远程节点地址、远程设备虚拟机编号属性,各个运行安卓虚拟机的计算节点单独维护。
6.根据权利要求5所述的基于系统调用代理的安卓虚拟化方法,其特征在于,所述资源注册过程是指资源节点根据它所连接的硬件资源配置,启动包含相应设备驱动的轻量化设备虚拟机,并将这些资源信息添加到资源使用情况表之中;
所述轻量化设备虚拟机系统中只包含必要的设备驱动与远程系统调用协议的实现,通过PCI直通的方式直接访问节点上的硬件设备;
所述资源绑定过程是指安卓硬件抽象层模块初始化时,在资源使用情况表中检索类型匹配的空闲资源并绑定,在计算节点的消息路由表中添加路由条目;
所述资源使用过程中,安卓虚拟机发出的远程系统调用消息,根据所处计算节点上的消息路由表决定发送到哪个远程节点的设备虚拟机之中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110557154.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:建筑节能数据采集装置
- 下一篇:取代的氧代吡啶衍生物