1.一种基于分区操作系统的虚拟化权限控制通信方法,其特征在于,包括以下步骤:步骤一,在分区操作系统的分区之间创建虚拟数据交互通道;
步骤二,以应用分区APj作为通道发送端,以服务分区SPi作为通道接收端,设置服务分区SPi和应用分区APj的描述符;
步骤三,通道发送端应用分区APj向通道接收端服务分区SPi发送数据,具体的发送步骤包括:
步骤S1,应用分区APj内的应用任务调用系统服务接口获取所在分区的虚拟数据交互通道;
步骤S2,在获得虚拟数据交互通道的使用权后,应用任务向通道中写入数据,同时通过系统调用向虚拟机监视器发出数据发送虚中断指令;
步骤S3,虚拟机监视器在收到数据发送虚中断指令后,首先进行安全性检查,若发送端应用分区APj或者通道接收端服务分区SPi均为安全分区,则做进一步的操作;
其次,虚拟机监视器修改通道发送端应用分区APj对该虚拟数据交互通道的映射属性从读写改为只读,保证数据一旦发送,发送方就无权篡改数据;
随后虚拟机监视器检查该虚拟数据交互通道所在的地址空间是否已经在接收分区的内存管理单元映射关系中;
最后,虚拟机监视器向通道接收端服务分区SPi投递通信请求通知;
步骤S4,发送任务在收到虚拟机监视器通信完成通知后,将该次通信的虚拟数据交互通道的数据块状态从繁忙修改为空闲;
步骤四,通道接收端服务分区SPi接收通道发送端应用分区APj发送的数据;
所述应用分区APj的描述符记录本分区通信通道的大小、剩余空间、发送等待队列、以及通信码(cc1ǁcc2)的信息;
其中,cc1和cc2均为二进制序列,其长度均为l,并且l为偶数;
所述服务分区SPi的描述符包含有一个分区位图,接收任务查询位图信息,判断是否有通信请求,还有对应的通信通道的起始地址、通信数据量、以及通信码(cc1ǁcc2)的信息;
所述安全性检查的方法包括以下步骤:(1)检查通道发送端应用分区APj是否为安全分区,其具体的检查过程如下:通道发送端应用分区APj首先随机选取一次性交互通信码(cciǁccj),其中,(cciǁccj)为二进制序列,其长度为l,并且l为偶数,然后进行如下计算,具体为:CC1=(cciǁccj) ⊕cc1;
CC2=(cciǁccj) ⊕cc2;
最后将一次性验证通信码CC1和CC2传输给通道接收端服务分区SPi;
通道接收端服务分区SPi接收到一次性验证通信码CC1和CC2之后,开始进行如下计算:CC1'=CC1⊕cc1;
CC2'=CC2⊕cc2;
之后验证等式CC1'=CC2'是否成立;
若上述等式成立,则证明通道发送端应用分区APj为安全分区;
(2)检查通道接收端服务分区SPi是否为安全分区,其具体的检查过程参照上述的步骤(1)。
2.根据权利要求1所述的基于分区操作系统的虚拟化权限控制通信方法,其特征在于,所述通道接收端服务分区SPi接收通道发送端应用分区APj发送的数据,具体的接收步骤包括:
步骤S1,服务分区SPi内的应用任务在收到虚拟机监视器投递的通信请求通知后,根据该通知包含的具体信息,从虚拟数据交互通道中获取通信的数据;
步骤S2,在获取到指定的通信数据后,该任务通过系统调用向虚拟机监视器发送数据发送虚中断指令;
步骤S3,虚拟机监视器在收到数据发送虚中断指令后,恢复通道发送端应用分区APj对该虚拟数据交互通道的映射属性从只读改为读写,同时向发送任务投递通信完成通知。
3.根据权利要求2所述的基于分区操作系统的虚拟化权限控制通信方法,其特征在于,所述虚拟数据交互通道的创建步骤包括:在同一硬件处理平台的分区操作系统上构建服务分区SPi(i=1,2,…,m)、应用分区APj(j=1,2,…,n);
在上述的服务分区SPi与应用分区APj之间创建虚拟数据交互通道。
4.根据权利要求1所述的基于分区操作系统的虚拟化权限控制通信方法,其特征在于,所述数据发送虚中断指令包含的信息有:虚拟数据交互通道的起始地址、虚拟数据交互通道的大小、目标分区标识、以及发送分区标识。