CN114356594A - 一种多域隔离操作系统分区间通信方法和系统 - Google Patents

一种多域隔离操作系统分区间通信方法和系统 Download PDF

Info

Publication number
CN114356594A
CN114356594A CN202111506228.4A CN202111506228A CN114356594A CN 114356594 A CN114356594 A CN 114356594A CN 202111506228 A CN202111506228 A CN 202111506228A CN 114356594 A CN114356594 A CN 114356594A
Authority
CN
China
Prior art keywords
communication
partition
host
data
inter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111506228.4A
Other languages
English (en)
Inventor
兰雨晴
谢星宇
孙维华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN202111506228.4A priority Critical patent/CN114356594A/zh
Publication of CN114356594A publication Critical patent/CN114356594A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本申请公开一种多域隔离操作系统分区间通信方法和系统,为多域隔离架构的操作系统添加了域间通信的能力,计算机的管理者可以将计算机所持有的资源分配到不同的分区中,隔离不同类型、不同级别的应用程序,通过多域隔离架构的分区间通信方法,可以让一些分区承担特定的功能,持有关键的资源。解决了现有的多域隔离架构所构建的域之间是完全独立的,操作系统不能支持多域隔离架构下的域间通信,在应用中受到很大的限制的技术问题。

Description

一种多域隔离操作系统分区间通信方法和系统
技术领域
本申请涉及网络通信技术领域,尤其涉及一种多域隔离操作系统分区间通信方法和系统。
背景技术
常见的通用操作系统有Windows、iOS、Android等,在通用操作系统中,现有的虚拟化软件能够在操作系统中构建各自独立的运行环境,实现多域隔离的操作系统架构。通过一些现有的软件方法,可以令虚拟机能够使用宿主机的资源以及和宿主机进行数据交换。
但是现有的多域隔离架构所构建的域之间是完全独立的,操作系统不能支持多域隔离架构下的域间通信,在应用中受到很大的限制。
发明内容
本申请实施例提供了一种域隔离操作系统分区间通信方法和系统,用以解决现有的多域隔离架构所构建的域之间是完全独立的,操作系统不能支持多域隔离架构下的域间通信,在应用中受到很大的限制的技术问题。
有鉴于此,本申请第一方面提供了一种多域隔离操作系统分区间通信方法,包括以下步骤:
在物理主机的宿主上创建分区,所述分区包括通信发起分区和通信目标分区,所述通信发起分区和所述通信目标分区均包括用户态和内核态,所述用户态中设置有用户态接口,所述内核态中设置数据传输协议和通信接口,所述宿主设置有通信路由;
通过所述通信发起分区内的数据传输协议和通信接口向所述宿主发起数据传输请求;
所述宿主接收所述通信发起分区发起的数据传输请求,所述宿主中通信路由将通信数据进行解析并发送至所述通信目标分区;
所述通信目标分区通过内核态中的通信接口和数据传输协议接收并处理所述通信数据。
可选地,所述数据传输请求为读请求或写请求。
可选地,所述通过所述通信发起分区内的数据传输协议和通信接口向所述宿主发起数据传输请求包括:
所述通信发起分区内的读文件操作通过系统调用并进入内核态;
所述通信发起分区的内核态调用数据传输协议申请内存地址空间,将所述数据传输请求中所涉及的通信数据填写进所述内存地址空间中,并将所述内存地址空间发送至所述通信接口;
通过所述通信接口将所述内存地址空间发送至所述宿主。
可选地,所述宿主中通信路由将通信数据进行解析并发送至所述通信目标分区包括:
所述宿主通过所述内存地址空间解析获得通信信息和解析数据并发送至所述通信目标分区。
可选地,还包括:
所述宿主对分区间通信行为进行记录保存。
本申请第二方面提供了一种多域隔离操作系统分区间通信系统,包括物理主机上的宿主及宿主上的分区,所述分区包括通信发起分区和通信目标分区,所述通信发起分区和所述通信目标分区均包括用户态和内核态,所述用户态中设置有用户态接口,所述内核态中设置数据传输协议和通信接口,所述宿主设置有通信路由;
用户态接口,用于调用分区间通信的对应功能;
数据传输协议,用于接收所述用户态接口的调用指令,申请内存地址空间,并将所述内存地址空间发送至通信接口;
所述通信接口,用于接收所述内存地址空间并发送至通信路由;
所述通信路由,用于负责接收来自分区的数据传输,并将数据转发给目标分区。
可选地,还包括:
通信缓存,用于保存最近发生的分区间通信行为。
从以上技术方案可以看出,本申请实施例具有以下优点:
本发明为多域隔离架构的操作系统添加了域间通信的能力,计算机的管理者可以将计算机所持有的资源分配到不同的分区中,隔离不同类型、不同级别的应用程序,通过多域隔离架构的分区间通信方法,可以让一些分区承担特定的功能,持有关键的资源。通过分区无法获得直接的访问其他分区资源的方法、分区必须通过受到宿主监控的分区间通信方法访问资源和系统在安全性上具有很好的可扩展性,可以在后续的开发中在宿主的通信路由上添加访问控制功能,从而过滤来自不安全分区的恶意程序的资源访问。可见分区间通信机制有效提升了多域隔离架构的操作系统的数据安全性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例中提供的一种多域隔离操作系统分区间通信方法的示意图;
图2为本申请实施例中提供的一个分区读另一个分区中资源的处理流程示意图;
图3为本申请实施例中提供的一个分区写另一个分区中资源的处理流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例1
为了便于理解,请参阅图1,本申请第一方面提供的一种多域隔离操作系统分区间通信方法的一个实施例,包括以下步骤:
步骤S1、在物理主机的宿主上创建分区,分区包括通信发起分区和通信目标分区,通信发起分区和通信目标分区均包括用户态和内核态,用户态中设置有用户态接口,内核态中设置数据传输协议和通信接口,宿主设置有通信路由;
步骤S2、通过通信发起分区内的数据传输协议和通信接口向宿主发起数据传输请求;
步骤S3、宿主接收通信发起分区发起的数据传输请求,宿主中通信路由将通信数据进行解析并发送至通信目标分区;
步骤S4、通信目标分区通过内核态中的通信接口和数据传输协议接收并处理通信数据。
需要说明的是,将运行在计算机硬件上的环境称为宿主,通过宿主使用虚拟化技术构建的运行环境称为分区,分区包括通信发起分区和通信目标分区,通信发起分区、宿主和通信目标分区创建数据交互通道,通信发起分区和通信目标分区均包括用户态和内核态,用户态是一种面向用户的空间,内核态是一种提供操作系统基本服务的运行空间。
通过在分区用户态实现软件接口并在分区的内核态中实现数据传输协议和通信接口,让分区获得进行域间通信的能力。在分区中实现一个通信路由,在宿主接收到来自通信发起分区的通信行为后,由通信路由来执行数据传输,将数据交给目标。通信目标分区针对接收的数据执行后续处理。
本申请设置了一个面向分区间通信的协议,这个协议主要包括通信数据的数据格式和分区间通信的信息流控制,分区进行资源访问,在安全性上具有很好的可扩展性,可以在后续的开发中在宿主的通信路由上添加访问控制功能,从而过滤来自不安全分区的恶意程序的资源访问,有效提升了多域隔离架构的操作系统的数据安全性。
作为实施例1的进一步改进,在步骤S2中,通过通信发起分区内的数据传输协议和通信接口向宿主发起数据传输请求包括:
步骤S21、通信发起分区内的读文件操作通过系统调用并进入内核态;
步骤S22、通信发起分区的内核态调用数据传输协议申请内存地址空间,将数据传输请求中所涉及的通信数据填写进内存地址空间中,并将内存地址空间发送至通信接口;
步骤S23、通过通信接口将内存地址空间发送至宿主。
进一步的,宿主中通信路由将通信数据进行解析并发送至通信目标分区包括:
宿主通过内存地址空间解析获得通信信息和解析数据并发送至通信目标分区。
需要说明的是,分区用户态的接口是一种通过内核态暴露出的接口,使用计算机系统的用户可以使用这种接口调用分区间通信的对应功能。来自用户态接口的调用会令内核执行对应的数据传输协议。
分区内核态的数据传输协议在收到来自分区用户态借口的调用之后,操作系统内核执行数据传输协议中的功能,这种功能会在计算机系统的内存中申请一段地址空间,将通信所涉及的数据填写入这段空间中,并将这段内存地址交给通信接口。
进一步的,为了保证数据传输的一致性,需要设置一个统一的数据传输协议格式,这样的优点是可以令通信发起分区和接收分区使用统一的数据结构来对通信数据进行解析。因此本申请的一种分区的数据交换格式如下表所示:
Figure BDA0003403250380000051
Figure BDA0003403250380000061
该格式也称为协议头。使用这种格式的主要优点是无需在软件层面组织太多的参数,而使用统一的数据传输和解析方法来让参与分区的不同角色正确获取通信信息和数据。
分区内核态的通信接口其作用在于将通信协议模块组装的数据发送给宿主。
宿主的通信路由负责接收来自分区的数据传输,并将数据转发给目标分区。
作为实施例1的进一步改进,还包括:宿主对分区间通信行为进行记录保存;
需要说明的是,宿主中的通信缓存能够保存最近发生的分区间通信行为,帮助通信路由快速查找。
作为实施例1的进一步改进,数据传输请求为读请求或写请求,
进一步地,分区间通信的数据传输过程中,对资源的访问的形式包括“读”和“写”两种形式;
为了便于理解,请参阅图2,通过一个分区读另一个分区中资源的处理流程,具体包括以下步骤:
第一步:分区中的任何用户态的读文件操作都会通过系统调用并进入内核态,其参数为文件描述符、读取数据的缓冲区地址和读取长度;
第二步:分区中的内核态调用数据传输协议,并根据规定协议填充字段,将内存的地址、长度、属性信息发送给宿主,同时让内核态的读取进入等待状态;
第三步:宿主获取到内存块信息,创建一段内存存储来自分区的数据。将通信数据写入到目标分区,通知目标分区进行下一步处理;
第四步:目标分区的内核通过通信接口获取通信信息,读取协议头中的参数,分配完成通信所需长度的内存块,将指定读入的数据写入内存块。最后通过通信接口将完成设置的内存块信息发送给宿主;
第五步:宿主根据收到的数据块中的sender字段和jiffies字段找出发起通信分区提供的内存块,将目标分区给出的数据复制到内存块的数据区中并将结果返回给该分区的内核;
第六步:分区内核获取返回结果,唤醒对应的进入等待的读取操作,向用户态返回读取的数据,完成分区间通信的读操作。
为了便于理解,请参阅图3,通过一个分区写另一个分区中资源(即向另一个分区发送数据)的处理流程,具体包括以下步骤:
第一步:分区用户态的任何写文件操作都会通过系统调用而进入内核态。
第二步:进入分区内核,通过数据传输协议创建通信定的数据存储空间,将内存信息发送给宿主并且进入等待。
第三步:宿主内核获取内存块信息,将通信信息发送给目标分区并通知。
第四步:流程到达目标分区内核。目标分区根据协议头分配对应大小内存,交给宿主。
第五步:宿主获取目标分区分配的内存信息,将来自通信发起分区的数据复制到目标分区的内存块上,并且通知目标分区数据已经抵达。
第六步:目标分区接收到数据,并且通信发起分区获得处理结果。
本申请第二方面还提供了一种多域隔离操作系统分区间通信系统,包括物理主机上的宿主及宿主上的分区,分区包括通信发起分区和通信目标分区,通信发起分区和通信目标分区均包括用户态和内核态,用户态中设置有用户态接口,内核态中设置数据传输协议和通信接口,宿主设置有通信路由;
用户态接口,用于调用分区间通信的对应功能;
数据传输协议,用于接收用户态接口的调用指令,申请内存地址空间,并将内存地址空间发送至通信接口;
通信接口,用于接收内存地址空间并发送至通信路由;
通信路由,用于负责接收来自分区的数据传输,并将数据转发给目标分区;
还包括:
通信缓存,用于保存最近发生的分区间通信行为。
本申请的多域隔离操作系统分区间通信系统的工作原理和上述方法的流程相同,在此不做赘述。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (7)

1.一种多域隔离操作系统分区间通信方法,其特征在于,包括以下步骤:
在物理主机的宿主上创建分区,所述分区包括通信发起分区和通信目标分区,所述通信发起分区和所述通信目标分区均包括用户态和内核态,所述用户态中设置有用户态接口,所述内核态中设置数据传输协议和通信接口,所述宿主设置有通信路由;
通过所述通信发起分区内的数据传输协议和通信接口向所述宿主发起数据传输请求;
所述宿主接收所述通信发起分区发起的数据传输请求,所述宿主中通信路由将通信数据进行解析并发送至所述通信目标分区;
所述通信目标分区通过内核态中的通信接口和数据传输协议接收并处理所述通信数据。
2.根据权利要求1所述的多域隔离操作系统分区间通信方法,其特征在于,所述数据传输请求为读请求或写请求。
3.根据权利要求2所述的多域隔离操作系统分区间通信方法,其特征在于,所述通过所述通信发起分区内的数据传输协议和通信接口向所述宿主发起数据传输请求包括:
所述通信发起分区内的读文件操作通过系统调用并进入内核态;
所述通信发起分区的内核态调用数据传输协议申请内存地址空间,将所述数据传输请求中所涉及的通信数据填写进所述内存地址空间中,并将所述内存地址空间发送至所述通信接口;
通过所述通信接口将所述内存地址空间发送至所述宿主。
4.根据权利要求3所述的多域隔离操作系统分区间通信方法,其特征在于,所述宿主中通信路由将通信数据进行解析并发送至所述通信目标分区包括:
所述宿主通过所述内存地址空间解析获得通信信息和解析数据并发送至所述通信目标分区。
5.根据权利要求1所述的多域隔离操作系统分区间通信方法,其特征在于,还包括:
所述宿主对分区间通信行为进行记录保存。
6.一种多域隔离操作系统分区间通信系统,其特征在于,包括物理主机上的宿主及宿主上的分区,所述分区包括通信发起分区和通信目标分区,所述通信发起分区和所述通信目标分区均包括用户态和内核态,所述用户态中设置有用户态接口,所述内核态中设置数据传输协议和通信接口,所述宿主设置有通信路由;
用户态接口,用于调用分区间通信的对应功能;
数据传输协议,用于接收所述用户态接口的调用指令,申请内存地址空间,并将所述内存地址空间发送至通信接口;
所述通信接口,用于接收所述内存地址空间并发送至通信路由;
所述通信路由,用于负责接收来自分区的数据传输,并将数据转发给目标分区。
7.根据权利要求6所述的多域隔离操作系统分区间通信系统,其特征在于,还包括:
通信缓存,用于保存最近发生的分区间通信行为。
CN202111506228.4A 2021-12-10 2021-12-10 一种多域隔离操作系统分区间通信方法和系统 Pending CN114356594A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111506228.4A CN114356594A (zh) 2021-12-10 2021-12-10 一种多域隔离操作系统分区间通信方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111506228.4A CN114356594A (zh) 2021-12-10 2021-12-10 一种多域隔离操作系统分区间通信方法和系统

Publications (1)

Publication Number Publication Date
CN114356594A true CN114356594A (zh) 2022-04-15

Family

ID=81098690

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111506228.4A Pending CN114356594A (zh) 2021-12-10 2021-12-10 一种多域隔离操作系统分区间通信方法和系统

Country Status (1)

Country Link
CN (1) CN114356594A (zh)

Similar Documents

Publication Publication Date Title
CN108537543B (zh) 区块链数据的并行处理方法、装置、设备和存储介质
US9996401B2 (en) Task processing method and virtual machine
JP4942966B2 (ja) パーティションバス
CN110609730B (zh) 一种实现虚拟处理器间中断透传的方法及设备
US10255088B2 (en) Modification of write-protected memory using code patching
EP3627319B1 (en) Display resource scheduling method and device for embedded system
CN111708738B (zh) 实现hadoop文件系统hdfs与对象存储s3数据互访方法及系统
US9213560B2 (en) Affinity of virtual processor dispatching
US20140237151A1 (en) Determining a virtual interrupt source number from a physical interrupt source number
US20140068165A1 (en) Splitting a real-time thread between the user and kernel space
KR20210051325A (ko) 비대칭 멀티프로세싱 시스템의 데이터 공유 장치 및 방법
CA3129984A1 (en) Method and system for accessing distributed block storage system in user mode
WO2023016414A1 (zh) 凭据的轮转方法、计算设备及存储介质
CN114168271A (zh) 一种任务调度方法、电子设备及存储介质
CN115086166A (zh) 计算系统、容器网络配置方法及存储介质
CN112835632A (zh) 一种端能力的调用方法、设备和计算机存储介质
CN112395220B (zh) 共享存储控制器的处理方法、装置、系统及存储控制器
CN106933646B (zh) 一种创建虚拟机的方法及装置
CN112052076A (zh) 一种基于libvirt的dpdk vhostuser网卡管理方法及管理装置
CN114356594A (zh) 一种多域隔离操作系统分区间通信方法和系统
CN111310638A (zh) 一种数据处理方法、装置及计算机可读存储介质
CN113032088A (zh) 脏页记录方法、装置、电子设备及计算机可读介质
CN109347896B (zh) 一种信息处理方法、设备和计算机可读存储介质
US9176910B2 (en) Sending a next request to a resource before a completion interrupt for a previous request
US9251101B2 (en) Bitmap locking using a nodal lock

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination