CN103136059A - 一种内存区间相互隔离的程序之间的通讯方法及处理单元 - Google Patents

一种内存区间相互隔离的程序之间的通讯方法及处理单元 Download PDF

Info

Publication number
CN103136059A
CN103136059A CN201210037138XA CN201210037138A CN103136059A CN 103136059 A CN103136059 A CN 103136059A CN 201210037138X A CN201210037138X A CN 201210037138XA CN 201210037138 A CN201210037138 A CN 201210037138A CN 103136059 A CN103136059 A CN 103136059A
Authority
CN
China
Prior art keywords
privileged domain
authorized
communication
memory page
domain
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
CN201210037138XA
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201210037138XA priority Critical patent/CN103136059A/zh
Priority to PCT/CN2012/073400 priority patent/WO2013075443A1/zh
Publication of CN103136059A publication Critical patent/CN103136059A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种内存区间相互隔离的程序之间快速建立通讯及进行通讯的方法和处理单元,该方法包括:第一非特权域向特权域提出授权给其他非特权域的授权请求;特权域根据所述授权请求,按照内存地址重映射建立所述第一非特权域与被授权的其他非特权域的通讯窗口;所述第一非特权域与所述被授权的其他非特权域进行通讯。所述处理单元分别应用于非特权域和特权域,其中,应用于非特权域的处理单元,包括指示模块、通讯窗口建立/关闭模块和通讯模块,应用于特权域的处理单元,包括接收模块、地址重映射模块和控制模块,该方法及处理单元利用地址重映射技术,可以改善内存区间相互隔离的程序之间的通讯性能,提高工作效率,节省系统资源。

Description

一种内存区间相互隔离的程序之间的通讯方法及处理单元
技术领域
本发明涉及计算机操作系统领域,具体涉及一种内存区间相互隔离的程序之间快速建立通讯以及进行通讯的方法及处理单元。
背景技术
为了保证计算机操作系统域之间的安全性,不同的操作系统域之间内存地址相互隔离,内存区间不能相互访问,图1提供了一种传统的内存区域的使用模式,表示内存地址相互隔离的程序对内存的使用模式。如图1所示,运行于非特权域1的程序只能访问自己的私有内存空间,同样,运行于非特权域2的程序也只能访问自己的私有内存空间,而位于特权域的程序则可以访问所有的内存空间,上述程序是指例如进程、操作系统、虚拟机、安全性程序等。
图1中非特权域1与非特权域2之间不能直接相互访问,在该内存使用模式下,不同区域程序间通讯的传统方法如图2所示,位于非特权域1的程序向非特权域2的程序发送数据,包括以下步骤:
S101:非特权域1在私有地址空间申请通讯使用的物理内存页及虚拟内存页,并建立两者地址的映射关系;
S102:非特权域2在私有地址空间申请通讯使用的物理内存页及虚拟内存页,并建立两者地址的映射关系;
S103:非特权域1的程序向私有内存页写数据;
S104:通知特权域复制该数据到特权域的内存页;
S105:特权域通知非特权域2数据到达,并把该数据复制到非特权域2的私有内存页;
S106:非特权域2的程序读取通讯数据,完成一次发送通讯。
综上所述,虽然不同的操作系统内存区间不能相互访问,保证了安全性,但是却造成了通讯障碍,即,当非特权程序之间需要进行通讯时,必须通过非特权空间和特权空间的多次数据复制才能完成一次通讯,通讯性能较差,效率极低,浪费系统资源。
发明内容
本发明需要解决的技术问题是提供一种内存区间相互隔离的程序之间快速建立通讯以及进行通讯的方法及处理单元,可以改善内存区间相互隔离的程序之间的通讯性能,提高工作效率,节省系统资源。
为了解决上述技术问题,本发明提供了一种内存区间相互隔离的程序之间快速建立通讯方法,包括:
特权域收到第一非特权域授权给其他非特权域的授权请求,根据所述授权请求,按照内存地址重映射建立所述第一非特权域与被授权的其他非特权域的通讯窗口。
进一步地,所述授权请求中携带有被授权的非特权域标识以及所述第一非特权域的物理内存页地址。
进一步地,所述特权域根据所述授权请求,按照内存地址重映射建立所述第一非特权域与被授权的其他非特权域的通讯窗口包括:
所述特权域根据所述授权请求,建立所述被授权的其他非特权域的虚拟内存页地址到所述第一非特权域的物理内存页地址的映射。
为了解决上述技术问题,本发明提供了一种内存区间相互隔离的程序之间的通讯方法,包括:
第一非特权域向特权域提出授权给其他非特权域的授权请求;
所述特权域根据所述授权请求,按照内存地址重映射建立所述第一非特权域与被授权的其他非特权域的通讯窗口;
所述第一非特权域与所述被授权的其他非特权域进行通讯。
进一步地,所述授权请求中携带有被授权的非特权域标识以及所述第一非特权域的物理内存页地址。
进一步地,所述特权域根据所述授权请求,按照内存地址重映射建立所述第一非特权域与被授权的其他非特权域的通讯窗口,包括:
所述特权域根据所述授权请求,建立所述被授权的其他非特权域的虚拟内存页地址到所述第一非特权域的物理内存页地址的映射。
进一步地,所述第一非特权域与所述其他非特权域进行通讯包括:
所述第一非特权域向所述其他非特权域发送数据时,向所述第一非特权域的物理内存页写入需要发送的数据,所述其他非特权域从其与所述物理内存页存在映射关系的所述虚拟内存页读取数据。
进一步地,所述第一非特权域与所述其他非特权域进行通讯包括:
所述第一非特权域从所述其他非特权域接收数据时,所述其他非特权域向其虚拟内存页写入数据,所述第一非特权域从其与所述虚拟内存页存在映射关系的所述物理内存页读取数据。
进一步地,所述方法还包括:所述第一非特权域向所述特权域请求关闭通讯;
所述特权域根据所述请求,取消所述被授权的其他非特权域的虚拟内存页地址到所述第一非特权域的物理内存页地址的映射。
为了解决上述技术问题,本发明提供了一种内存区间相互隔离的程序之间通讯的处理单元,应用于非特权域,包括:
指示模块,用于向特权域提出授权给其他非特权域的授权请求;
通讯窗口建立/关闭模块,用于根据特权域确定的内存地址重映射建立与所述被授权的其他非特权域的通讯窗口;
通讯模块,用于与所述被授权的其他非特权域进行通讯。
进一步地,所述授权请求中携带有被授权的非特权域标识以及请求授权的非特权域的物理内存页地址。
进一步地,所述通讯窗口建立/关闭模块,用于根据特权域确定的内存地址重映射建立与所述被授权的其他非特权域的通讯窗口包括:
所述通讯窗口建立/关闭模块收到所述特权域根据所述授权请求建立的所述被授权的其他非特权域的虚拟内存页地址到所述请求授权的非特权域的物理内存页地址的映射后,根据所述映射建立与所述被授权的其他非特权域的通讯窗口。
进一步地,所述通讯模块,用于与所述被授权的其他非特权域进行通讯,包括:
所述通讯模块向所述被授权的其他非特权发送数据时,向所述非特权域的物理内存页写入需要发送的数据,所述被授权的其他非特权从与所述物理内存页存在映射关系的所述虚拟内存页读取数据。
进一步地,所述通讯模块,用于与所述被授权的其他非特权域进行通讯,还包括:
所述通讯模块从所述被授权的其他非特权域接收数据时,所述被授权的其他非特权域向其虚拟内存页写入数据,所述通讯模块从与所述虚拟内存页存在映射关系的所述物理内存页读取数据。
进一步地,所述指示模块,还用于向所述特权域请求关闭通讯;
所述通讯窗口建立/关闭模块,还用于关闭与所述被授权的其他非特权域的通讯窗口。
进一步地,所述通讯窗口建立/关闭模块,用于关闭与所述被授权的其他非特权域的通讯窗口,包括:
所述通讯窗口建立/关闭模块,用于取消所述非特权域的物理内存页地址与所述被授权的其他非特权域的虚拟内存页地址的映射。
为了解决上述技术问题,本发明提供了一种内存区间相互隔离的程序之间快速建立通讯的处理单元,应用于特权域,包括:
接收模块,用于接收第一非特权域授权给其他非特权域的授权请求;
地址重映射模块,用于根据所述授权请求,按照内存地址重映射建立所述第一非特权域与被授权的其他非特权域的通讯窗口;
控制模块,用于控制所述第一非特权域与所述被授权的其他非特权域进行通讯。
进一步地,所述授权请求中携带有被授权的非特权域标识以及所述第一非特权域的物理内存页地址。
进一步地,所述地址重映射模块用于根据所述授权请求,按照内存地址重映射建立所述第一非特权域与被授权的其他非特权域的通讯窗口包括:
所述地址重映射模块根据所述授权请求,建立所述被授权的其他非特权域的虚拟内存页地址到所述第一非特权域的物理内存页地址的映射。
进一步地,所述地址重映射模块,还用于将所述授权请求中携带的被授权的非特权域标识以及所述第一非特权域的物理内存页地址记录在授权表中。
进一步地,所述接收模块,还用于接收所述第一非特权域向关闭通讯的请求;
所述地址重映射模块,还用于根据所述请求,取消所述被授权的其他非特权域的虚拟内存页地址到所述第一非特权域的物理内存页地址的映射,将所述授权表中记录的被授权的非特权域标识以及所述第一非特权域的物理内存页地址清除。
与现有技术相比,本发明提供的内存区间相互隔离的程序之间快速建立通讯以及进行通讯的方法及处理单元利用地址重映射技术,非特权域与特权域不需要内存复制,建立映射的非特权域直接读写就可以完成非特权域之间的通讯过程,改善了内存区间相互隔离的程序之间的通讯性能,大大提高了工作效率,节省了系统资源。
附图说明
图1是传统的内存区域的使用模式示意图;
图2是在传统的内存使用模式下,不同区域程序间通讯方法示意图;
图3是实施例中内存区间相互隔离的程序之间快速建立通讯的流程图;
图4是实施例中内存区间相互隔离的程序之间的通讯流程图;
图5是实施例中内存区间相互隔离的程序之间通讯的处理单元(应用于非特权域)的结构图;
图6是实施例中内存区间相互隔离的程序之间快速建立通讯的处理单元(应用于特权域)的结构图;
图7是一个应用示例中非特权域1与非特权域2的程序之间进行通讯的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
实施例:
如图3所示,本实施例提供了一种内存区间相互隔离的程序之间快速建立通讯方法,包括以下步骤:
S301:特权域收到第一非特权域授权给其他非特权域的授权请求;
其中,第一非特权域与其他非特权域内存区间相互隔离,不能直接互相访问。
所述授权请求中携带有被授权的非特权域标识以及所述非特权域的物理内存页地址。
S302:特权域根据所述授权请求,按照内存地址重映射建立所述第一非特权域与所述其他非特权域的通讯窗口。
具体包括:所述特权域根据所述授权请求,建立被授权的其他非特权域的虚拟内存页地址到所述第一非特权域的物理内存页地址的映射。
此外,所述特权域将所述授权请求中携带的被授权的非特权域标识以及所述第一非特权域的物理内存页地址记录在授权表中。
如图4所示,本实施例还提供了一种内存区间相互隔离的程序之间的通讯方法,包括以下步骤:
步骤S401~S402与上述步骤S301~S302相同;
S403:所述第一非特权域与所述其他非特权域进行通讯。
其中,所述第一非特权域与所述其他非特权域进行通讯包括:
所述第一非特权域向所述其他非特权域发送数据时,向所述第一非特权域的物理内存页写入需要发送的数据,所述其他非特权域从其与所述物理内存页存在映射关系的所述虚拟内存页读取数据;
所述第一非特权域从所述其他非特权域接收数据时,所述其他非特权域向其虚拟内存页写入数据,第一非特权域从其与所述虚拟内存页存在映射关系的所述物理内存页读取数据。
当第一非特权域欲关闭与其他非特权域的通讯时,取消对其他非特权域的授权时,本实施例进一步还包括以下步骤:
S404:所述第一非特权域向特权域请求关闭通讯;
S405:所述特权域根据所述请求,取消所述被授权的其他非特权域的虚拟内存页地址到所述第一非特权域的物理内存页地址的映射。
此外,特权域还将所述授权表中记录的被授权的非特权域标识以及所述第一非特权域的物理内存页地址清除。
如图5所示,本实施例还提供了一种内存区间相互隔离的程序之间通讯的处理单元,应用于非特权域,包括依次相连的指示模块、通讯窗口建立/关闭模块和通讯模块,其中:
指示模块,用于向特权域提出授权给其他非特权域的授权请求;
其中,所述授权请求中携带有被授权的非特权域标识以及所述非特权域的物理内存页地址。
通讯窗口建立/关闭模块,用于根据特权域确定的内存地址重映射建立与所述被授权的其他非特权域的通讯窗口;
其中,具体地,所述通讯窗口建立/关闭模块收到所述特权域根据所述授权请求建立的所述被授权的其他非特权域的虚拟内存页地址到所述请求授权的非特权域的物理内存页地址的映射后,根据所述映射建立与所述被授权的其他非特权域的通讯窗口。
其中,所述指示模块,还用于向所述特权域请求关闭通讯;
所述通讯窗口建立/关闭模块,还用于关闭与所述被授权的其他非特权域的通讯窗口,具体包括:取消所述非特权域的物理内存页地址与所述被授权的其他非特权域的虚拟内存页地址的映射。
通讯模块,用于与所述被授权的其他非特权域进行通讯。
其中,所述通讯模块向所述被授权的其他非特权发送数据时,向所述非特权域的物理内存页写入需要发送的数据,所述被授权的其他非特权从与所述物理内存页存在映射关系的所述虚拟内存页读取数据。
所述通讯模块从所述被授权的其他非特权域接收数据时,所述被授权的其他非特权域向其虚拟内存页写入数据,所述通讯模块从与所述虚拟内存页存在映射关系的所述物理内存页读取数据。
如图6所示,本实施例还提供了一种内存区间相互隔离的程序之间快速建立通讯的处理单元,应用于特权域,包括依次相连的接收模块、地址重映射模块和控制模块,其中:
接收模块,用于接收第一非特权域授权给其他非特权域的授权请求;
其中,所述授权请求中携带有被授权的非特权域标识以及所述第一非特权域的物理内存页地址。
地址重映射模块,用于根据所述授权请求,按照内存地址重映射建立所述第一非特权域与被授权的其他非特权域的通讯窗口;
其中,具体地,所述地址重映射模块根据所述授权请求,建立所述被授权的其他非特权域的虚拟内存页地址到所述第一非特权域的物理内存页地址的映射。
此外,所述地址重映射模块,还用于将所述授权请求中携带的被授权的非特权域标识以及所述第一非特权域的物理内存页地址记录在授权表中。
此外,所述接收模块,还用于接收所述第一非特权域向关闭通讯的请求;
所述地址重映射模块,还用于根据所述请求,取消所述被授权的其他非特权域的虚拟内存页地址到所述第一非特权域的物理内存页地址的映射,并将所述授权表中记录的被授权的非特权域标识以及所述第一非特权域的物理内存页地址清除。
控制模块,用于控制所述第一非特权域与所述被授权的其他非特权域进行通讯。
在一个应用示例中,如图7所示,非特权域1与非特权域2的程序之间进行通讯的方法,包括以下初始化步骤S501~S502、建立通讯步骤S503~S504以及通讯相关步骤S505~S508:
S501:发送数据的非特权域1在私有地址空间获得通讯使用的物理内存页;
非特权域1与非特权域2是内存区间相互隔离的,非特权域1欲与非特权域2进行通讯,其中,物理内存页是在申请虚拟内存页时,系统自动分配给非特权域1的。非特权域1的页表表明了物理内存页地址和虚拟内存页地址的映射关系。
S502:接收数据的非特权域2在私有地址空间申请通讯使用的虚拟内存页;
S503:非特权域1请求特权域将非特权域1的物理内存页授权给非特权域2使用;
其中,特权域将需要授权的物理内存页地址(非特权域1的)、拥有者信息(非特权域1信息)以及被授权者信息(非特权域2信息)记录在授权表中;
S504:特权域采用内存地址重映射技术,修改了非特权域2的页表,使非特权域2的虚拟内存页地址映射到非特权域1的物理内存页地址上;
此时,在特权域的管理程序中存有表示非特权域2的虚拟内存页与非特权域1的物理内存页的地址映射关系的授权表。
S505:非特权域1向非特权域2发送数据,非特权域2接收数据;
其中,非特权域1向其物理内存页写入需要发送的数据,非特权域2从其虚拟内存页读取数据。
S506:非特权域2向非特权域1发送数据,非特权域1接收数据;
其中,非特权域2向其虚拟内存页写入数据,非特权域1从其物理内存页读取数据。
S507:非特权域1请求特权域关闭通讯;
S508:特权域修改非特权域2的页表,删除非特权域1物理内存页和非特权域2虚拟内存页的地址映射关系,删除步骤S503中特权域记录的非特权域1的物理内存页地址、非特权域1信息、非特权域2信息,通讯关闭。
至此,非特权域1与非特权域2之间通讯结束。
此外,上述实施例提供的内存区间相互隔离的程序之间的通讯方法可应用于计算机操作系统领域,所涉及的程序包括例如进程、操作系统、虚拟机、安全性程序等,本实施例提供的方法还可以用于操作系统进程间通讯、linux进程间通讯、虚拟化操作系统域之间的通讯、虚拟机之间的通讯、内存地址隔离的安全性程序之间的通讯,又如手机安全性程序和普通应用程序之间的通讯等。
从上述实施例可以看出,相对于现有技术,上述实施例中提供的内存区间相互隔离的程序之间快速建立通讯以及进行通讯的方法利用内存管理器的地址重映射技术,通过在特权域提供一些功能管理程序,使得非特权域的程序之间能够调用这些程序,把私有内存页授权给其它非特权域的程序(内存区间相互隔离的非特权域)使用,使得内存区间的相互隔离被局部轻度打破,临时产生一个非特权域之间的通讯窗口(内存页),完成通讯后关闭窗口,恢复地址隔离。非特权域之间的通讯不必经过非特权域与特权域的内存复制过程,而是可以直接写入或读出数据,大大提高了非特权域之间的通讯效率,改善了内存区间相互隔离的程序之间的通讯性能,节省了系统资源。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上所述仅为本发明的优选实施例而已,并非用于限定本发明的保护范围。根据本发明的发明内容,还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (21)

1.一种内存区间相互隔离的程序之间快速建立通讯的方法,包括:
特权域收到第一非特权域授权给其他非特权域的授权请求,根据所述授权请求,按照内存地址重映射建立所述第一非特权域与被授权的其他非特权域的通讯窗口。
2.如权利要求1所述的方法,其特征在于:
所述授权请求中携带有被授权的非特权域标识以及所述第一非特权域的物理内存页地址。
3.如权利要求2所述的方法,其特征在于:
所述特权域根据所述授权请求,按照内存地址重映射建立所述第一非特权域与被授权的其他非特权域的通讯窗口包括:
所述特权域根据所述授权请求,建立所述被授权的其他非特权域的虚拟内存页地址到所述第一非特权域的物理内存页地址的映射。
4.一种内存区间相互隔离的程序之间的通讯方法,包括:
第一非特权域向特权域提出授权给其他非特权域的授权请求;
所述特权域根据所述授权请求,按照内存地址重映射建立所述第一非特权域与被授权的其他非特权域的通讯窗口;
所述第一非特权域与所述被授权的其他非特权域进行通讯。
5.如权利要求4所述的方法,其特征在于:
所述授权请求中携带有被授权的非特权域标识以及所述第一非特权域的物理内存页地址。
6.如权利要求5所述的方法,其特征在于:
所述特权域根据所述授权请求,按照内存地址重映射建立所述第一非特权域与被授权的其他非特权域的通讯窗口,包括:
所述特权域根据所述授权请求,建立所述被授权的其他非特权域的虚拟内存页地址到所述第一非特权域的物理内存页地址的映射。
7.如权利要求4所述的方法,其特征在于:
所述第一非特权域与所述其他非特权域进行通讯包括:
所述第一非特权域向所述其他非特权域发送数据时,向所述第一非特权域的物理内存页写入需要发送的数据,所述其他非特权域从其与所述物理内存页存在映射关系的所述虚拟内存页读取数据。
8.如权利要求4所述的方法,其特征在于:
所述第一非特权域与所述其他非特权域进行通讯包括:
所述第一非特权域从所述其他非特权域接收数据时,所述其他非特权域向其虚拟内存页写入数据,所述第一非特权域从其与所述虚拟内存页存在映射关系的所述物理内存页读取数据。
9.如权利要求4所述的方法,其特征在于:
所述方法还包括:所述第一非特权域向所述特权域请求关闭通讯;
所述特权域根据所述请求,取消所述被授权的其他非特权域的虚拟内存页地址到所述第一非特权域的物理内存页地址的映射。
10.一种内存区间相互隔离的程序之间通讯的处理单元,应用于非特权域,包括:
指示模块,用于向特权域提出授权给其他非特权域的授权请求;
通讯窗口建立/关闭模块,用于根据特权域确定的内存地址重映射建立与所述被授权的其他非特权域的通讯窗口;
通讯模块,用于与所述被授权的其他非特权域进行通讯。
11.如权利要求10所述的处理单元,其特征在于:
所述授权请求中携带有被授权的非特权域标识以及请求授权的非特权域的物理内存页地址。
12.如权利要求10所述的处理单元,其特征在于:
所述通讯窗口建立/关闭模块,用于根据特权域确定的内存地址重映射建立与所述被授权的其他非特权域的通讯窗口包括:
所述通讯窗口建立/关闭模块收到所述特权域根据所述授权请求建立的所述被授权的其他非特权域的虚拟内存页地址到所述请求授权的非特权域的物理内存页地址的映射后,根据所述映射建立与所述被授权的其他非特权域的通讯窗口。
13.如权利要求10所述的处理单元,其特征在于:
所述通讯模块,用于与所述被授权的其他非特权域进行通讯,包括:
所述通讯模块向所述被授权的其他非特权发送数据时,向所述非特权域的物理内存页写入需要发送的数据,所述被授权的其他非特权从与所述物理内存页存在映射关系的所述虚拟内存页读取数据。
14.如权利要求10所述的处理单元,其特征在于:
所述通讯模块,用于与所述被授权的其他非特权域进行通讯,还包括:
所述通讯模块从所述被授权的其他非特权域接收数据时,所述被授权的其他非特权域向其虚拟内存页写入数据,所述通讯模块从与所述虚拟内存页存在映射关系的所述物理内存页读取数据。
15.如权利要求10所述的处理单元,其特征在于:
所述指示模块,还用于向所述特权域请求关闭通讯;
所述通讯窗口建立/关闭模块,还用于关闭与所述被授权的其他非特权域的通讯窗口。
16.如权利要求15所述的处理单元,其特征在于:
所述通讯窗口建立/关闭模块,用于关闭与所述被授权的其他非特权域的通讯窗口,包括:
所述通讯窗口建立/关闭模块,用于取消所述非特权域的物理内存页地址与所述被授权的其他非特权域的虚拟内存页地址的映射。
17.一种内存区间相互隔离的程序之间快速建立通讯的处理单元,应用于特权域,包括:
接收模块,用于接收第一非特权域授权给其他非特权域的授权请求;
地址重映射模块,用于根据所述授权请求,按照内存地址重映射建立所述第一非特权域与被授权的其他非特权域的通讯窗口;
控制模块,用于控制所述第一非特权域与所述被授权的其他非特权域进行通讯。
18.如权利要求17所述的处理单元,其特征在于:
所述授权请求中携带有被授权的非特权域标识以及所述第一非特权域的物理内存页地址。
19.如权利要求17所述的处理单元,其特征在于:
所述地址重映射模块用于根据所述授权请求,按照内存地址重映射建立所述第一非特权域与被授权的其他非特权域的通讯窗口包括:
所述地址重映射模块根据所述授权请求,建立所述被授权的其他非特权域的虚拟内存页地址到所述第一非特权域的物理内存页地址的映射。
20.如权利要求17所述的处理单元,其特征在于:
所述地址重映射模块,还用于将所述授权请求中携带的被授权的非特权域标识以及所述第一非特权域的物理内存页地址记录在授权表中。
21.如权利要求17所述的处理单元,其特征在于:
所述接收模块,还用于接收所述第一非特权域向关闭通讯的请求;
所述地址重映射模块,还用于根据所述请求,取消所述被授权的其他非特权域的虚拟内存页地址到所述第一非特权域的物理内存页地址的映射,将所述授权表中记录的被授权的非特权域标识以及所述第一非特权域的物理内存页地址清除。
CN201210037138XA 2011-11-24 2012-02-17 一种内存区间相互隔离的程序之间的通讯方法及处理单元 Pending CN103136059A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201210037138XA CN103136059A (zh) 2011-11-24 2012-02-17 一种内存区间相互隔离的程序之间的通讯方法及处理单元
PCT/CN2012/073400 WO2013075443A1 (zh) 2011-11-24 2012-03-31 一种内存区间相互隔离的程序之间的通讯方法及处理单元

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201110378779.7 2011-11-24
CN201110378779 2011-11-24
CN201210037138XA CN103136059A (zh) 2011-11-24 2012-02-17 一种内存区间相互隔离的程序之间的通讯方法及处理单元

Publications (1)

Publication Number Publication Date
CN103136059A true CN103136059A (zh) 2013-06-05

Family

ID=48469058

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210037138XA Pending CN103136059A (zh) 2011-11-24 2012-02-17 一种内存区间相互隔离的程序之间的通讯方法及处理单元

Country Status (2)

Country Link
CN (1) CN103136059A (zh)
WO (1) WO2013075443A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104133761A (zh) * 2013-11-28 2014-11-05 腾讯科技(成都)有限公司 一种移动终端的内存占用分析方法、装置和系统
CN106096429A (zh) * 2016-08-16 2016-11-09 天津大学 基于内存隔离的安全架构处理方法及处理器
CN107179936A (zh) * 2016-03-11 2017-09-19 中国电子科技集团公司电子科学研究院 一种基于特权分离的虚拟化隔离方法
CN111259380A (zh) * 2017-08-22 2020-06-09 海光信息技术有限公司 内存页转移方法和函数调用方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116361033B (zh) * 2023-04-04 2023-12-29 亿咖通(湖北)技术有限公司 通信方法、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1184576A (zh) * 1996-02-15 1998-06-10 国际商业机器公司 减少系统开销的tcp通信系统
CN1831790A (zh) * 2005-03-08 2006-09-13 微软公司 虚拟机环境中的客机物理地址虚拟化方法和系统
US20060277357A1 (en) * 2005-06-06 2006-12-07 Greg Regnier Inter-domain data mover for a memory-to-memory copy engine
CN101819564A (zh) * 2009-02-26 2010-09-01 国际商业机器公司 协助在虚拟机之间进行通信的方法和装置
CN102110196A (zh) * 2009-12-25 2011-06-29 中国长城计算机深圳股份有限公司 并行运行多用户操作系统间的数据安全传输方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1184576A (zh) * 1996-02-15 1998-06-10 国际商业机器公司 减少系统开销的tcp通信系统
CN1831790A (zh) * 2005-03-08 2006-09-13 微软公司 虚拟机环境中的客机物理地址虚拟化方法和系统
US20060277357A1 (en) * 2005-06-06 2006-12-07 Greg Regnier Inter-domain data mover for a memory-to-memory copy engine
CN101819564A (zh) * 2009-02-26 2010-09-01 国际商业机器公司 协助在虚拟机之间进行通信的方法和装置
CN102110196A (zh) * 2009-12-25 2011-06-29 中国长城计算机深圳股份有限公司 并行运行多用户操作系统间的数据安全传输方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104133761A (zh) * 2013-11-28 2014-11-05 腾讯科技(成都)有限公司 一种移动终端的内存占用分析方法、装置和系统
CN107179936A (zh) * 2016-03-11 2017-09-19 中国电子科技集团公司电子科学研究院 一种基于特权分离的虚拟化隔离方法
CN106096429A (zh) * 2016-08-16 2016-11-09 天津大学 基于内存隔离的安全架构处理方法及处理器
CN106096429B (zh) * 2016-08-16 2019-02-19 天津大学 基于内存隔离的安全架构处理方法及处理器
CN111259380A (zh) * 2017-08-22 2020-06-09 海光信息技术有限公司 内存页转移方法和函数调用方法

Also Published As

Publication number Publication date
WO2013075443A1 (zh) 2013-05-30

Similar Documents

Publication Publication Date Title
EP3301584B1 (en) Storage system, storage management device, storage device, hybrid storage device, and storage management method
RU2602793C2 (ru) Способ модификации разрешений на доступ к памяти в защищенной процессорной среде
US7636800B2 (en) Method and system for memory address translation and pinning
US9268712B2 (en) Method, system and apparatus for region access control
CN103136059A (zh) 一种内存区间相互隔离的程序之间的通讯方法及处理单元
US20160232103A1 (en) Block storage apertures to persistent memory
JP5085180B2 (ja) 情報処理装置およびアクセス制御方法
CN113312676B (zh) 数据访问方法、装置、计算机设备及可读存储介质
CN100517276C (zh) 一种数据安全存储的方法及装置
CN103593225A (zh) 移动虚拟化场景中多Android系统复用Binder IPC机制的方法
US20020038408A1 (en) Data consistency memory management system and method and associated multiprocessor network
CN102541984A (zh) 一种分布式文件系统客户端的文件系统
CN109587106A (zh) 密码分区的云中的跨域安全性
CN101877246A (zh) 加密u盘实现方法
CN110058946B (zh) 设备虚拟化方法、装置、设备及存储介质
CN103714014A (zh) 处理缓存数据的方法
JP2021507362A (ja) 間接アクセスメモリコントローラ向けの保護機能を追加するための機器
CN103631682B (zh) 数据备份的实现方法和装置
US9772776B2 (en) Per-memory group swap device
US7979601B2 (en) External direct memory access of embedded controller memory
US9330016B2 (en) Systems and methods for managing read-only memory
KR101535792B1 (ko) 운영체제 구성 장치 및 방법
CN102301369B (zh) 数据存储设备访问方法及装置
JP4922443B2 (ja) コンピュータシステム、情報処理装置およびセキュリティ保護方法
CN102495987A (zh) 一种电子信息本地防泄密访问的方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20130605

RJ01 Rejection of invention patent application after publication