Document
拖动滑块完成拼图
个人中心

预订订单
服务订单
发布专利 发布成果 人才入驻 发布商标 发布需求

在线咨询

联系我们

龙图腾公众号
首页 专利交易 IP管家助手 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索
当前位置 : 首页 > 专利喜报 > 电子科技大学;中移物联网有限公司肖堃获国家专利权

电子科技大学;中移物联网有限公司肖堃获国家专利权

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

龙图腾网获悉电子科技大学;中移物联网有限公司申请的专利基于微内核Hypervisor的虚拟机跨操作系统通信方法获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN119440734B

龙图腾网通过国家知识产权局官网在2025-07-29发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202411575402.4,技术领域涉及:G06F9/455;该发明授权基于微内核Hypervisor的虚拟机跨操作系统通信方法是由肖堃;周佳清;李蒙;罗蕾;陈丽蓉设计研发完成,并于2024-11-06向国家知识产权局提交的专利申请。

基于微内核Hypervisor的虚拟机跨操作系统通信方法在说明书摘要公布了:本发明公开了一种基于微内核Hypervisor的虚拟机跨操作系统通信方法,由微内核Hypervisor创建在各自的操作系统环境中独立运行的虚拟机,然后在两个具有通信需求的虚拟机之间构建起一个共享内存,两个虚拟机分别初始化虚拟机共享设备,将共享内存映射到自身的虚拟地址中,当一个虚拟机需要向对方传送数据时,发起通信将数据写入共享内存中,接收数据的虚拟机则从共享内存读取该数据,从而实现虚拟机的跨操作系统通信。本发明基于共享内存技术,利用微内核Hypervisor对共享内存和虚拟机的通信过程进行管理,实现虚拟机之间的跨操作系统通信。

本发明授权基于微内核Hypervisor的虚拟机跨操作系统通信方法在权利要求书中公布了:1.一种基于微内核hypervisor的虚拟机跨操作系统通信方法,其特征在于,包括以下步骤: S1:微内核Hypervisor创建虚拟机和配置共享内存,具体方法如下: S1.1:微内核Hypervisor根据用户设置的配置文件创建虚拟机VM_A和VM_B,VM_A和VM_B在各自的操作系统环境中独立运行、互不干扰,配置文件包含每个虚拟机通信所需的配置参数,主要包括虚拟机通信通道标识符shmid,共享内存地址shm_addr,共享内存大小shm_size和中断号irq_num; S1.2:Hypervisor根据共享内存大小shm_size,使用malloc函数为虚拟机VM_A和VM_B的共享内存分配一块内存,其标识符设置为虚拟机通信通道标识符shmid;然后通过二级页表将这块共享内存映射给虚拟机VM_A和VM_B; S1.3:Hypervisor初始化事件通道通知机制,具体方法为:Hypervisor通过notification_init函数初始化notification对象用于管理虚拟机间的通信,接着根服务rootserver发起系统调用syscall,根据权能指针cptr找到与notification对象关联的处理函数,并调用notification_wait函数使得根服务rootserver中用于虚拟机通信数据管理的服务线程阻塞,等待hypercall的到来; S1.4:在根服务rootserver初始化一个用于管理所有虚拟机间通信的一个优先级通信队列priority_queue_t,该优先级通信队列priority_queue_t基于双向链表实现,包括双向链表节点结构list_head_t和队列元素结构queue_node_t,其中: 双向链表节点结构list_head_t包含指向前一个节点和后一个节点的指针; 队列元素结构queue_node_t包含优先级prio、虚拟机通信通道标识符shmid、数据缓冲区指针buf以及一个双向链表节点node; S2:虚拟机VM_A和VM_B分别创建虚拟机共享设备VMshm并进行初始化,具体方法为: 虚拟机为虚拟机共享设备VMshm划分两块内存区域,一块用作写缓冲区writebuffer,另一块用作读缓冲区readbuffer; 然后定义用于管理共享内存的读写缓冲区的VM_shmem结构体,包含设备ID、读写缓冲区基址及大小、物理基址;虚拟机通过VM_shmem_read_fops函数和VM_shmem_write_fops函数,分别处理对共享内存的读取和写入操作,其中:读取操作将共享内存中的数据复制到读缓冲区,读取操作则通过中断机制来实现,每个虚拟机共享设备VMshm都有对应的中断号irq_num,并注册对应中断的处理函数,当虚拟中断被注入虚拟机后,虚拟机找到对应的中断处理程序,然后调用VM_shmem_read_fops从readbuffer读取数据;写入操作则从写缓冲区将数据复制到共享内存,并通过VM_shmem_hvc函数发起hypercall,通知对应的虚拟机读取数据; 虚拟机在Linux平台设备中注册和初始化虚拟机共享设备VMshm,包括设备树属性的读取、共享内存的映射、字符设备的创建和设备节点的生成; S3:当虚拟机VM_A和VM_B中其中一个虚拟机需要向对方发起通信时,该虚拟机向绑定的虚拟机共享设备VMshm的写缓冲区writebuffer写入数据,发起hypercall向寄存器x1写入虚拟机通信通道标识符shmid,向寄存器x2写入优先级prio,寄存器x0用于接收Hypervisor处理完hypercall后返回的结果; S4:Hypervisor接收来自发起虚拟机的hypercall后,跳转到内核的aborts_sync_handler函数进行同步异常处理,根据异常类型找到对应的处理函数,然后找到初始化时的notification指针对象,调用notification_signal函数去解除阻塞用于虚拟机通信数据管理的服务线程,将处理转移到根服务rootserver中去; S5:根服务rootserver中的用于虚拟机通信数据管理的服务线程解除阻塞后,提取出hypercall传来的虚拟机通信通道标识符shmid,优先级prio和通信数据,新建一个队列节点用于保存这些信息,具体方法为:首先根据虚拟机通信通道标识符shmid找到与共享内存关联的写缓冲区writebuffer的地址,直接使用内存拷贝函数将数据从写缓冲区writebuffer拷贝到新建的队列节点相应字段中;然后根据优先级prio将该节点插入到优先级通信队列priority_queue_t对应的位置; S6:Hypervisor的根服务rootserver中已经解除阻塞的服务线程依次从优先级通信队列priority_queue_t中取出队列首节点;当两个节点的虚拟机通信通道标识符shmid相同,则表明这两个虚拟机是在建立通信,然后将节点保存的通信数据拷贝到接收虚拟机的读缓冲区readbuffer中去,找到接收虚拟机所处的物理核信息,发起核间通信,通知中断控制器注入相应的虚拟中断; 接收通信的虚拟机接收到虚拟中断后,根据中断号irq_num确定这是用于虚拟机通信的设备,然后调用对应中断的中断处理程序从读缓冲区readbuffer读取数据,完成一次通信。

如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人电子科技大学;中移物联网有限公司,其通讯地址为:611731 四川省成都市高新区(西区)西源大道2006号;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。