并行运行多用户操作系统间的数据安全传输方法及系统.pdf

上传人:e2 文档编号:1031804 上传时间:2018-03-27 格式:PDF 页数:12 大小:499.66KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910189434.X

申请日:

2009.12.25

公开号:

CN102110196A

公开日:

2011.06.29

当前法律状态:

授权

有效性:

有权

法律详情:

专利权人的姓名或者名称、地址的变更IPC(主分类):G06F 21/60变更事项:专利权人变更前:中国长城计算机深圳股份有限公司变更后:中国长城科技集团股份有限公司变更事项:地址变更前:518057 广东省深圳市南山区科技园长城计算机大厦变更后:518057 广东省深圳市南山区科技园长城计算机大厦|||授权|||实质审查的生效IPC(主分类):G06F 21/00申请日:20091225|||公开

IPC分类号:

G06F21/00; G06F12/08

主分类号:

G06F21/00

申请人:

中国长城计算机深圳股份有限公司

发明人:

宋靖; 贾兵; 刘欣房; 林诗达; 王淼; 顾文锦

地址:

518057 广东省深圳市南山区科技园长城计算机大厦

优先权:

专利代理机构:

深圳中一专利商标事务所 44237

代理人:

张全文

PDF下载: PDF下载
内容摘要

本发明适用于计算机技术领域,提供了一种并行运行多用户操作系统间的数据安全传输方法及系统,所述方法包括下述步骤:数据传输模块申请共享物理内存;数据传输模块向操作系统申请虚拟内存页;数据传输模块将虚拟内存页的虚拟地址进行转换,生成与虚拟地址对应的物理地址,并存储共享物理内存之前的虚拟地址和物理地址间的直接映射关系;数据传输模块传输虚拟内存页的物理地址至虚拟机监控器,实现虚拟地址到物理地址的重新映射;虚拟机监控器将用户操作系统所提交的物理地址映射至同一块共享物理内存;数据传输模块写入数据至共享物理内存中或者从共享物理内存中读取数据。本发明不需要借助第三方工具即可完成数据的交换,操作安全、方便。

权利要求书

1: 一种并行运行多用户操作系统间的数据安全传输方法, 其特征在于, 所述方法包括 下述步骤 : 数据传输模块接收输入的数据传输的请求指令, 并通过定义的动态链接库提供的接口 申请共享物理内存 ; 数据传输模块根据该请求指令向操作系统申请虚拟内存页 ; 数据传输模块读取该虚拟内存页的虚拟地址, 并将该地址进行转换, 生成与该虚拟内 存页的虚拟地址对应的物理地址, 同时在各用户操作系统中添加新的数据结构来存储共享 物理内存之前的虚拟地址和物理地址间的直接映射关系 ; 数据传输模块传输虚拟内存页的物理地址至虚拟机监控器, 实现虚拟地址到物理地址 的重新映射 ; 虚拟机监控器将用户操作系统所提交的物理地址映射至同一块预先分配好的共享物 理内存 ; 数据传输模块写入数据至所述共享物理内存中或者从所述共享物理内存中读取数据。
2: 如权利要求 1 所述的方法, 其特征在于, 所述虚拟内存页的大小是计算机在平常运 行中实际使用的内存页大小。
3: 一种数据传输模块, 其特征在于, 所述数据传输模块包括 : 共享物理内存申请单元, 用于接收输入的数据传输的请求指令, 并通过定义的动态链 接库提供的接口申请共享物理内存 ; 虚拟内存页申请单元, 用于根据所述请求指令向操作系统申请虚拟内存页 ; 地址转换单元, 用于读取所述虚拟内存页的虚拟地址, 并将所述地址进行转换, 生成与 所述虚拟内存页的虚拟地址对应的物理地址, 同时在各用户操作系统中添加新的数据结构 来存储共享物理内存之前的虚拟地址和物理地址间的直接映射关系 ; 地址传输单元, 用于传输虚拟内存页的物理地址至虚拟机监控器, 实现虚拟地址到物 理地址的重新映射 ; 数据传输单元, 用于写入数据至所述共享物理内存申请单元预先分配好的共享物理内 存中或者从所述共享物理内存读取数据。
4: 如权利要求 3 所述的数据传输模块, 其特征在于, 所述虚拟内存页的大小是计算机 在平常运行中实际使用的内存页大小。
5: 一种虚拟机监控器, 其特征在于, 所述虚拟机监控器包括 : 地址映射单元, 用于将数据传输模块所传输的虚拟内存页的物理地址映射至预先分配 好的物理内存。
6: 一种并行运行多用户操作系统间的数据安全传输系统, 其特征在于, 所述系统包括 虚拟机监控器和数据传输模块 ; 所述虚拟机监控器包括 : 地址映射单元, 用于将数据传输模块所传输的虚拟内存页的物理地址映射至预先分配 好的物理内存 ; 所述数据传输模块包括 : 共享物理内存申请单元, 用于接收输入的数据传输的请求指令, 并通过定义的动态链 接库提供的接口申请共享物理内存 ; 2 虚拟内存页申请单元, 用于根据所述请求指令向操作系统申请虚拟内存页 ; 地址转换单元, 用于读取所述虚拟内存页的虚拟地址, 并将所述地址进行转换, 生成与 所述虚拟内存页的虚拟地址对应的物理地址, 同时在各用户操作系统中添加新的数据结构 来存储共享物理内存之前的虚拟地址和物理地址间的直接映射关系 ; 地址传输单元, 用于传输虚拟内存页的物理地址至虚拟机监控器, 实现虚拟地址到物 理地址的重新映射 ; 数据传输单元, 用于写入数据至所述共享物理内存申请单元预先分配好的共享物理内 存中或者从所述共享物理内存读取数据。
7: 如权利要求 6 所述的系统, 其特征在于, 所述虚拟内存页的大小是计算机在平常运 行中实际使用的内存页大小。
8: 一种计算机系统, 包括硬件驱动层和应用层, 其特征在于, 所述系统还包括如权利要 求 6 或 7 所述的并行运行多用户操作系统间的数据安全传输系统。

说明书


并行运行多用户操作系统间的数据安全传输方法及系统

    技术领域 本发明属于计算机技术领域, 尤其涉及一种并行运行多用户操作系统间的数据安 全传输方法及系统。
     背景技术 传统的多 ( 双 ) 用户操作系统并行运行方案是通过多台主机完全独立运行实现, 这样, 多 ( 双 ) 用户操作系统间的数据传输, 一种是必须借助外部存储设备, 例如通过 U 盘、 硬盘等, 操作不方便, 并且, 这些外部存储设备可能会被窃取、 丢失或感染病毒, 存在安全隐 患; 另一种是采用传统的硬盘共享的技术。 然而, 这两种技术均是在多台主机完全独立运行 多 ( 双 ) 用户操作系统的情况下所使用的数据共享方法, 并不适用于单机多 ( 双 ) 用户操 作系统并行运行的计算机系统, 其中, 在多 ( 双 ) 用户操作系统并行运行的计算机系统中, 多 ( 双 ) 用户操作系统所使用的物理设备, 包括硬盘、 网卡、 显卡都是独立的, 内存按地址段 隔离、 CPU 按核分配, 多 ( 双 ) 用户操作系统间数据完全物理隔离。
     发明内容 本发明实施例的目的在于提供一种并行运行多用户操作系统间的数据安全传输 方法, 旨在解决现有技术提供的数据传输方法不能应用在并行运行的多用户操作系统间进 行数据传输以及现有的数据传输方法操作不方便或者安全性低的问题。
     本发明实施例是这样实现的, 一种并行运行多用户操作系统间的数据安全传输方 法, 所述方法包括下述步骤 :
     数据传输模块接收输入的数据传输的请求指令, 并通过定义的动态链接库提供的 接口申请共享物理内存 ;
     数据传输模块根据该请求指令向操作系统申请虚拟内存页 ;
     数据传输模块读取该虚拟内存页的虚拟地址, 并将该地址进行转换, 生成与该虚 拟内存页的虚拟地址对应的物理地址, 同时在各用户操作系统中添加新的数据结构来存储 共享物理内存之前的虚拟地址和物理地址间的直接映射关系 ;
     数据传输模块传输虚拟内存页的物理地址至虚拟机监控器, 实现虚拟地址到物理 地址的重新映射 ;
     虚拟机监控器将用户操作系统所提交的物理地址映射至同一块预先分配好的共 享物理内存 ;
     数据传输模块写入数据至所述共享物理内存中或者从所述共享物理内存中读取 数据。
     本发明实施例的另一目的在于提供一种数据传输模块, 所述数据传输模块包括 :
     共享物理内存申请单元, 用于接收输入的数据传输的请求指令, 并通过定义的动 态链接库提供的接口申请共享物理内存 ;
     虚拟内存页申请单元, 用于根据该请求指令向操作系统申请虚拟内存页 ;
     地址转换单元, 用于读取该虚拟内存页的虚拟地址, 并将该地址进行转换, 生成与 该虚拟内存页的虚拟地址对应的物理地址, 同时在各用户操作系统中添加新的数据结构来 存储共享物理内存之前的虚拟地址和物理地址间的直接映射关系 ;
     地址传输单元, 用于传输虚拟内存页的物理地址至虚拟机监控器, 实现虚拟地址 到物理地址的重新映射 ;
     数据传输单元, 用于写入数据至所述共享物理内存申请单元预先分配好的共享物 理内存中或者从所述共享物理内存读取数据。
     本发明实施例的另一目的在于提供一种虚拟机监控器, 所述虚拟机监控器包括 :
     地址映射单元, 用于将数据传输模块所传输的虚拟内存页的物理地址映射至预先 分配好的共享物理内存。
     本发明实施例的另一目的在于提供一种并行运行多用户操作系统间的数据安全 传输系统, 所述系统包括虚拟机监控器和数据传输模块 ;
     所述虚拟机监控器包括 :
     地址映射单元, 用于将数据传输模块所传输的虚拟内存页的物理地址映射至预先 分配好的物理内存 ;
     所述数据传输模块包括 :
     共享物理内存申请单元, 用于接收输入的数据传输的请求指令, 并通过定义的动 态链接库提供的接口申请共享物理内存 ;
     虚拟内存页申请单元, 用于根据所述请求指令向操作系统申请虚拟内存页 ;
     地址转换单元, 用于读取所述虚拟内存页的虚拟地址, 并将所述地址进行转换, 生 成与所述虚拟内存页的虚拟地址对应的物理地址, 同时在各用户操作系统中添加新的数据 结构来存储共享物理内存之前的虚拟地址和物理地址间的直接映射关系 ;
     地址传输单元, 用于传输虚拟内存页的物理地址至虚拟机监控器, 实现虚拟地址 到物理地址的重新映射 ;
     数据传输单元, 用于写入数据至所述共享物理内存申请单元预先分配好的共享物 理内存中或者从所述共享物理内存读取数据。
     本发明实施例的另一目的在于提供一种计算机系统, 包括硬件驱动层和应用层, 所述系统还包括如上所述的并行运行多用户操作系统间的数据安全传输系统。
     在本发明实施例中, 通过先申请共享物理内存, 然后将第一操作系统的用户和第 二操作系统的用户申请的虚拟内存页的物理地址都指向该共享物理内存, 再向该共享物理 内存写入数据或从该共享物理内存读取数据来完成数据的交换, 不需要借助第三方工具即 可实现单机并行运行的多个操作系统之间数据的交换, 操作方便, 在保证了多个操作系统 的隔离性的同时, 又保证了数据传输过程中的安全性。 附图说明 图 1 是本发明实施例提供的多用户操作系统并行运行计算机系统架构示例图 ;
     图 2 是本发明实施例提供的并行运行多用户操作系统间的数据安全传输方法的 实现流程图 ;
     图 3 是本发明实施例提供的数据传输模块的结构示意图 ;
     图 4 是本发明实施例提供的虚拟机监控器的结构示意图。具体实施方式
     为了使本发明的目的、 技术方案及优点更加清楚明白, 以下结合附图及实施例, 对 本发明进行进一步详细说明。 应当理解, 此处所描述的具体实施例仅仅用以解释本发明, 并 不用于限定本发明。
     在本发明实施例中, 通过先申请共享物理内存, 然后将第一操作系统的用户和第 二操作系统的用户申请的虚拟内存页的物理地址都指向该物理内存, 再向该共享物理内存 写入数据或从该共享物理内存读取数据来完成数据的交换。
     图 1 示出了本发明实施例提供的多用户操作系统并行运行计算机系统架构, 在本 实施例中, 以单机双用户操作系统并行运行计算机系统为例来进行说明, 该系统分为三层 : 硬件驱动层 11、 虚拟机监控层 12 和应用层 13。
     硬件驱动层 11 基于硬件辅助虚拟化技术, 实现单机双操作系统并行运行计算机 产品, 此外, 硬件驱动层 11 基本使用双硬件架构, 即一台计算机包括双硬盘 ( 单硬盘也可以 实现, 双硬盘的隔离性更好一些 )、 双显卡、 双网卡、 双内存和双显示器 ( 可选 ), 实现双系统 的完全隔离、 独立、 并行运行。双用户操作系统分别使用独立的物理硬盘或者物理硬盘分 区、 网卡和显卡资源。至于显示器, 支持双用户操作系统的任务同步, 可以通过双显示器分 别输出两个操作系统需要显示的信息, 同时, 也支持双用户操作系统的任务, 通过预先定义 的快捷键或者切换热键通过同一个显示器异步输出两个操作系统需要显示的信息。 虚拟机监控层 12, 即虚拟机监控器, 由自主研发的微内核系统 ( 也称为虚拟机监 控管理平台 )121 和 Domain0122 两部分组成, 微内核系统 121 负责对上层双用户操作系统 的管理和计算机系统内存等硬件资源在双用户操作系统间的分配及硬件属性修改, 并将 其嵌入到定制开发的国产操作系统内核 (Domain0) 中, 解决了传统的虚拟机监控器 ( 比如 XEN) 存在明显缺陷, 比如, 图形处理能力低、 双系统间通讯采用虚拟网卡时存在安全隐患、 用户部署复杂等。本发明实施例对传统的虚拟机监控器 ( 比如 XEN) 的这些缺陷做了改 进, 包括 : 通过 1 ∶ 1 内存映射机制, 可以避免用户操作系统误访问微内核系统的代码和堆 栈所使用的内存, 导致系统崩溃的问题 ; 通过对显卡和串口设备的直接访问, 解决了基于硬 件辅助虚拟化技术的操作系统图形处理能力低的问题 ; 提供了电源管理机制、 双系统快速 切换机制等等。Domain0122 包含三个进程, 虚拟化管理模块 1221、 第一 IOEMU1222 和第二 IOEMU1223。其中, 第一 IOEMU1222 为用户 1 提供虚拟化设备, 第二 IOEMU1223 为用户 2 提 供虚拟化设备, 虚拟化管理模块实现对虚拟机的管理 ( 如用户 1 或用户 2 的创建、 启动、 关 闭、 睡眠、 重启 ) 以及信息的输入和显示的切换。IOEMU 负责实现设备虚拟化, 负责和微内 核系统 121 的交互, 为用户 1 或用户 2 提供一整套虚拟设备 ( 包括 PCI 总线、 显卡、 串口、 鼠 标、 键盘和硬盘控制器等 )。
     应用层 13, 主要包括基于第一用户操作系统 131 和第二用户操作系统 132 的第 一数据传输模块 133 和第二数据传输模块 134 以及其它模块。数据传输模块 131 的实 现基于计算机底层双操作系统间独立的数据通道和操作系统应用层的用户界面 (User Interface, UI) 来表现。
     图 2 示出了本发明实施例提供的并行运行多用户操作系统间的数据安全传输方
     法的实现流程, 在本实施例中, 以双用户为例来进行说明, 详述如下 :
     在步骤 S201 中, 数据传输模块接收输入的数据传输的请求指令, 并通过定义的动 态链接库提供的接口申请共享物理内存。
     作为本发明的一个实施例, 运行在操作系统 1 和操作系统 2 中的数据传输模块分 别接收用户 1 和用户 2 输入的数据传输的请求指令, 并调用预先定义的动态链接库提供的 接口, 通过该动态链接库提供的接口申请共享物理内存。
     在步骤 S202 中, 数据传输模块根据该请求指令向操作系统申请虚拟内存页。
     作为本发明的一个实施例, 需要进行数据传输的各用户操作系统中的数据传输模 块向其所属的操作系统申请虚拟内存页, 对于不同的计算机而言, 可申请不同大小的虚拟 内存页, 一般取 “物理内存 *2.5” 或者 “物理内存 *1.5” , 但是并不适用于所有的计算机, 确 定申请的虚拟内存页的大小的最准确的方法是获取计算机在平常运行中实际使用的内存 页大小。
     在步骤 S203 中, 数据传输模块读取该虚拟内存页的虚拟地址, 并将该地址进行转 换, 生成与该虚拟内存页的虚拟地址对应的物理地址, 同时在各用户操作系统中添加新的 数据结构来存储共享物理内存之前的虚拟地址和物理地址间的直接映射关系。 在本发明实施例中, 可以采用直接映象的页地址转换、 多级页表的地址转换、 反向 页表的地址转换或者快表的地址转换, 将读取到的虚拟内存页的虚拟地址转换成与该虚拟 内存页的虚拟地址对应的物理地址, 同时在各用户操作系统中添加新的数据结构来存储共 享物理内存之前的虚拟地址和物理地址间的直接映射关系。
     在步骤 S204 中, 数据传输模块传输虚拟内存页的物理地址至虚拟机监控器, 实现 虚拟地址到物理地址的重新映射。
     作为本发明的一个实施例, 操作系统 1 和操作系统 2 中的数据传输模块分别将其 申请得到的虚拟内存页的物理地址提交给虚拟机监控器, 实现虚拟地址到物理地址的重新 映射。
     在步骤 S205 中, 虚拟机监控器将用户操作系统所提交的的物理地址映射到同一 块预先分配好的共享物理内存。
     作为本发明的一个实施例, 虚拟机监控器将操作系统 1 和操作系统 2 所提交的物 理地址按照一定的映射规则指向同一块预先分配好的物理内存, 实现不同的地址指向同一 块共享物理内存, 至此, 两个操作系统中的用户就可访问一个相同的共享物理内存, 写入数 据至该共享物理内存或者从该共享物理内存读取数据, 在退出数据传输模块或传输结束时 调用预先定义的动态链接库提供的接口取消该共享物理内存, 同时取消两个用户操作系统 所提交的物理地址到共享物理内存的映射, 以便实现双用户操作系统间数据的安全交换和 传输。
     在步骤 S206 中, 数据传输模块访问该共享物理内存, 写入数据至该共享物理内存 中或者从该共享物理内存读取数据。
     本领域普通技术人员可以理解, 实现上述实施例方法中的全部或部分步骤是可以 通过程序来指令相关的硬件来完成, 所述的程序可以在存储于一计算机可读取存储介质 中, 所述的存储介质, 如 ROM/RAM、 磁盘、 光盘等。
     图 3 示出了本发明实施例提供的数据传输模块的结构, 为了便于说明仅示出了与
     本发明实施例相关的部分。
     该数据传输模块可以用于具有单机并行运行多用户操作系统的计算机系统的应 用层中, 可以是运行于单机并行运行多用户操作系统的计算机系统内的应用层软件单元、 硬件单元或者软硬件相结合的单元, 也可以作为独立的挂件集成到单机并行运行多用户操 作系统的计算机系统的应用层中, 该数据传输模块包括 : 共享物理内存申请单元 31、 虚拟 内存页申请单元 32、 地址转换单元 33、 地址传输单元 34、 数据传输单元 35。
     其中, 共享物理内存申请单元 31 接收输入的数据传输的请求指令, 并通过定义的 动态链接库提供的接口申请共享物理内存。
     虚拟内存页申请单元 32 根据共享物理内存申请单元 31 接收到的请求指令向操作 系统申请虚拟内存页。
     地址转换单元 33 读取虚拟内存页申请单元 32 所申请的虚拟内存页的虚拟地址, 并将该地址进行转换, 生成与该虚拟内存页的虚拟地址对应的物理地址, 同时在各用户操 作系统中添加新的数据结构来存储共享物理内存之前的虚拟地址和物理地址间的直接映 射关系。
     地址传输单元 34 传输地址转换单元 33 所生成虚拟内存页的物理地址至虚拟机监 控器, 实现虚拟地址到物理地址的重新映射。 数据传输单元 35 写入数据至共享物理内存申请单元 31 预先分配好的共享物理内 存中或者从该共享物理内存读取数据。具体情况如上所述, 在此不再赘述。
     图 4 示出了本发明实施例提供的虚拟机监控器的结构, 为了便于说明仅示出了与 本发明实施例相关的部分。
     该虚拟机监控器可以用于具有单机并行运行多用户操作系统的计算机系统中, 可 以是运行于单机并行运行多用户操作系统的计算机系统内的软件单元、 硬件单元或者软硬 件相结合的单元, 也可以作为独立的挂件集成到单机并行运行多用户操作系统的计算机系 统中, 该虚拟机监控器包括 : 地址映射单元 41 。
     地址映射单元 41 将两个用户操作系统所提交的物理地址映射至同一块预先分配 好的共享物理内存。作为本发明的一个实施例, 虚拟机监控器将操作系统 1 和操作系统 2 所提交的物理地址按照一定的映射规则指向同一块预先分配好的共享物理内存, 实现不同 的地址指向同一块共享物理内存, 至此, 两个操作系统中的用户就可访问一个相同的共享 物理内存, 写入数据至该共享物理内存或者从该共享物理内存读取数据, 在退出数据传输 模块或传输结束时调用预先定义的动态链接库提供的接口取消该共享物理内存, 同时取消 两个用户操作系统所提交的物理地址到共享物理内存的映射, 以便实现双用户操作系统间 数据的安全交换和传输。
     在本发明实施例中, 通过先申请共享物理内存, 然后将第一操作系统的用户和第 二操作系统的用户申请的虚拟内存页的物理地址都指向该物理内存, 再向该物理内存写入 数据或从该内存读取数据来完成数据的交换, 并在退出数据传输模块或数据传输结束时调 用定义的动态链接库提供的接口取消共享物理内存, 同时取消物理地址到共享物理内存的 映射, 安全可靠。不需要借助第三方工具即可在并行运行的多个操作系统之间完成数据的 交换, 操作方便, 在保证了多个操作系统的隔离性的同时, 又保证了数据传输过程中的安全 性, 另外, 多个操作系统之间数据传输的速度更快。
     以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明, 凡在本发明的精 神和原则之内所作的任何修改、 等同替换和改进等, 均应包含在本发明的保护范围之内。

并行运行多用户操作系统间的数据安全传输方法及系统.pdf_第1页
第1页 / 共12页
并行运行多用户操作系统间的数据安全传输方法及系统.pdf_第2页
第2页 / 共12页
并行运行多用户操作系统间的数据安全传输方法及系统.pdf_第3页
第3页 / 共12页
点击查看更多>>
资源描述

《并行运行多用户操作系统间的数据安全传输方法及系统.pdf》由会员分享,可在线阅读,更多相关《并行运行多用户操作系统间的数据安全传输方法及系统.pdf(12页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102110196A43申请公布日20110629CN102110196ACN102110196A21申请号200910189434X22申请日20091225G06F21/00200601G06F12/0820060171申请人中国长城计算机深圳股份有限公司地址518057广东省深圳市南山区科技园长城计算机大厦72发明人宋靖贾兵刘欣房林诗达王淼顾文锦74专利代理机构深圳中一专利商标事务所44237代理人张全文54发明名称并行运行多用户操作系统间的数据安全传输方法及系统57摘要本发明适用于计算机技术领域,提供了一种并行运行多用户操作系统间的数据安全传输方法及系统,所述方法包括。

2、下述步骤数据传输模块申请共享物理内存;数据传输模块向操作系统申请虚拟内存页;数据传输模块将虚拟内存页的虚拟地址进行转换,生成与虚拟地址对应的物理地址,并存储共享物理内存之前的虚拟地址和物理地址间的直接映射关系;数据传输模块传输虚拟内存页的物理地址至虚拟机监控器,实现虚拟地址到物理地址的重新映射;虚拟机监控器将用户操作系统所提交的物理地址映射至同一块共享物理内存;数据传输模块写入数据至共享物理内存中或者从共享物理内存中读取数据。本发明不需要借助第三方工具即可完成数据的交换,操作安全、方便。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书6页附图3页CN10211。

3、0200A1/2页21一种并行运行多用户操作系统间的数据安全传输方法,其特征在于,所述方法包括下述步骤数据传输模块接收输入的数据传输的请求指令,并通过定义的动态链接库提供的接口申请共享物理内存;数据传输模块根据该请求指令向操作系统申请虚拟内存页;数据传输模块读取该虚拟内存页的虚拟地址,并将该地址进行转换,生成与该虚拟内存页的虚拟地址对应的物理地址,同时在各用户操作系统中添加新的数据结构来存储共享物理内存之前的虚拟地址和物理地址间的直接映射关系;数据传输模块传输虚拟内存页的物理地址至虚拟机监控器,实现虚拟地址到物理地址的重新映射;虚拟机监控器将用户操作系统所提交的物理地址映射至同一块预先分配好的。

4、共享物理内存;数据传输模块写入数据至所述共享物理内存中或者从所述共享物理内存中读取数据。2如权利要求1所述的方法,其特征在于,所述虚拟内存页的大小是计算机在平常运行中实际使用的内存页大小。3一种数据传输模块,其特征在于,所述数据传输模块包括共享物理内存申请单元,用于接收输入的数据传输的请求指令,并通过定义的动态链接库提供的接口申请共享物理内存;虚拟内存页申请单元,用于根据所述请求指令向操作系统申请虚拟内存页;地址转换单元,用于读取所述虚拟内存页的虚拟地址,并将所述地址进行转换,生成与所述虚拟内存页的虚拟地址对应的物理地址,同时在各用户操作系统中添加新的数据结构来存储共享物理内存之前的虚拟地址和。

5、物理地址间的直接映射关系;地址传输单元,用于传输虚拟内存页的物理地址至虚拟机监控器,实现虚拟地址到物理地址的重新映射;数据传输单元,用于写入数据至所述共享物理内存申请单元预先分配好的共享物理内存中或者从所述共享物理内存读取数据。4如权利要求3所述的数据传输模块,其特征在于,所述虚拟内存页的大小是计算机在平常运行中实际使用的内存页大小。5一种虚拟机监控器,其特征在于,所述虚拟机监控器包括地址映射单元,用于将数据传输模块所传输的虚拟内存页的物理地址映射至预先分配好的物理内存。6一种并行运行多用户操作系统间的数据安全传输系统,其特征在于,所述系统包括虚拟机监控器和数据传输模块;所述虚拟机监控器包括地。

6、址映射单元,用于将数据传输模块所传输的虚拟内存页的物理地址映射至预先分配好的物理内存;所述数据传输模块包括共享物理内存申请单元,用于接收输入的数据传输的请求指令,并通过定义的动态链接库提供的接口申请共享物理内存;权利要求书CN102110196ACN102110200A2/2页3虚拟内存页申请单元,用于根据所述请求指令向操作系统申请虚拟内存页;地址转换单元,用于读取所述虚拟内存页的虚拟地址,并将所述地址进行转换,生成与所述虚拟内存页的虚拟地址对应的物理地址,同时在各用户操作系统中添加新的数据结构来存储共享物理内存之前的虚拟地址和物理地址间的直接映射关系;地址传输单元,用于传输虚拟内存页的物理地。

7、址至虚拟机监控器,实现虚拟地址到物理地址的重新映射;数据传输单元,用于写入数据至所述共享物理内存申请单元预先分配好的共享物理内存中或者从所述共享物理内存读取数据。7如权利要求6所述的系统,其特征在于,所述虚拟内存页的大小是计算机在平常运行中实际使用的内存页大小。8一种计算机系统,包括硬件驱动层和应用层,其特征在于,所述系统还包括如权利要求6或7所述的并行运行多用户操作系统间的数据安全传输系统。权利要求书CN102110196ACN102110200A1/6页4并行运行多用户操作系统间的数据安全传输方法及系统技术领域0001本发明属于计算机技术领域,尤其涉及一种并行运行多用户操作系统间的数据安全。

8、传输方法及系统。背景技术0002传统的多双用户操作系统并行运行方案是通过多台主机完全独立运行实现,这样,多双用户操作系统间的数据传输,一种是必须借助外部存储设备,例如通过U盘、硬盘等,操作不方便,并且,这些外部存储设备可能会被窃取、丢失或感染病毒,存在安全隐患;另一种是采用传统的硬盘共享的技术。然而,这两种技术均是在多台主机完全独立运行多双用户操作系统的情况下所使用的数据共享方法,并不适用于单机多双用户操作系统并行运行的计算机系统,其中,在多双用户操作系统并行运行的计算机系统中,多双用户操作系统所使用的物理设备,包括硬盘、网卡、显卡都是独立的,内存按地址段隔离、CPU按核分配,多双用户操作系统。

9、间数据完全物理隔离。发明内容0003本发明实施例的目的在于提供一种并行运行多用户操作系统间的数据安全传输方法,旨在解决现有技术提供的数据传输方法不能应用在并行运行的多用户操作系统间进行数据传输以及现有的数据传输方法操作不方便或者安全性低的问题。0004本发明实施例是这样实现的,一种并行运行多用户操作系统间的数据安全传输方法,所述方法包括下述步骤0005数据传输模块接收输入的数据传输的请求指令,并通过定义的动态链接库提供的接口申请共享物理内存;0006数据传输模块根据该请求指令向操作系统申请虚拟内存页;0007数据传输模块读取该虚拟内存页的虚拟地址,并将该地址进行转换,生成与该虚拟内存页的虚拟地。

10、址对应的物理地址,同时在各用户操作系统中添加新的数据结构来存储共享物理内存之前的虚拟地址和物理地址间的直接映射关系;0008数据传输模块传输虚拟内存页的物理地址至虚拟机监控器,实现虚拟地址到物理地址的重新映射;0009虚拟机监控器将用户操作系统所提交的物理地址映射至同一块预先分配好的共享物理内存;0010数据传输模块写入数据至所述共享物理内存中或者从所述共享物理内存中读取数据。0011本发明实施例的另一目的在于提供一种数据传输模块,所述数据传输模块包括0012共享物理内存申请单元,用于接收输入的数据传输的请求指令,并通过定义的动态链接库提供的接口申请共享物理内存;0013虚拟内存页申请单元,用。

11、于根据该请求指令向操作系统申请虚拟内存页;说明书CN102110196ACN102110200A2/6页50014地址转换单元,用于读取该虚拟内存页的虚拟地址,并将该地址进行转换,生成与该虚拟内存页的虚拟地址对应的物理地址,同时在各用户操作系统中添加新的数据结构来存储共享物理内存之前的虚拟地址和物理地址间的直接映射关系;0015地址传输单元,用于传输虚拟内存页的物理地址至虚拟机监控器,实现虚拟地址到物理地址的重新映射;0016数据传输单元,用于写入数据至所述共享物理内存申请单元预先分配好的共享物理内存中或者从所述共享物理内存读取数据。0017本发明实施例的另一目的在于提供一种虚拟机监控器,所述。

12、虚拟机监控器包括0018地址映射单元,用于将数据传输模块所传输的虚拟内存页的物理地址映射至预先分配好的共享物理内存。0019本发明实施例的另一目的在于提供一种并行运行多用户操作系统间的数据安全传输系统,所述系统包括虚拟机监控器和数据传输模块;0020所述虚拟机监控器包括0021地址映射单元,用于将数据传输模块所传输的虚拟内存页的物理地址映射至预先分配好的物理内存;0022所述数据传输模块包括0023共享物理内存申请单元,用于接收输入的数据传输的请求指令,并通过定义的动态链接库提供的接口申请共享物理内存;0024虚拟内存页申请单元,用于根据所述请求指令向操作系统申请虚拟内存页;0025地址转换单。

13、元,用于读取所述虚拟内存页的虚拟地址,并将所述地址进行转换,生成与所述虚拟内存页的虚拟地址对应的物理地址,同时在各用户操作系统中添加新的数据结构来存储共享物理内存之前的虚拟地址和物理地址间的直接映射关系;0026地址传输单元,用于传输虚拟内存页的物理地址至虚拟机监控器,实现虚拟地址到物理地址的重新映射;0027数据传输单元,用于写入数据至所述共享物理内存申请单元预先分配好的共享物理内存中或者从所述共享物理内存读取数据。0028本发明实施例的另一目的在于提供一种计算机系统,包括硬件驱动层和应用层,所述系统还包括如上所述的并行运行多用户操作系统间的数据安全传输系统。0029在本发明实施例中,通过先。

14、申请共享物理内存,然后将第一操作系统的用户和第二操作系统的用户申请的虚拟内存页的物理地址都指向该共享物理内存,再向该共享物理内存写入数据或从该共享物理内存读取数据来完成数据的交换,不需要借助第三方工具即可实现单机并行运行的多个操作系统之间数据的交换,操作方便,在保证了多个操作系统的隔离性的同时,又保证了数据传输过程中的安全性。附图说明0030图1是本发明实施例提供的多用户操作系统并行运行计算机系统架构示例图;0031图2是本发明实施例提供的并行运行多用户操作系统间的数据安全传输方法的实现流程图;0032图3是本发明实施例提供的数据传输模块的结构示意图;说明书CN102110196ACN1021。

15、10200A3/6页60033图4是本发明实施例提供的虚拟机监控器的结构示意图。具体实施方式0034为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。0035在本发明实施例中,通过先申请共享物理内存,然后将第一操作系统的用户和第二操作系统的用户申请的虚拟内存页的物理地址都指向该物理内存,再向该共享物理内存写入数据或从该共享物理内存读取数据来完成数据的交换。0036图1示出了本发明实施例提供的多用户操作系统并行运行计算机系统架构,在本实施例中,以单机双用户操作系统并行运行计算机。

16、系统为例来进行说明,该系统分为三层硬件驱动层11、虚拟机监控层12和应用层13。0037硬件驱动层11基于硬件辅助虚拟化技术,实现单机双操作系统并行运行计算机产品,此外,硬件驱动层11基本使用双硬件架构,即一台计算机包括双硬盘单硬盘也可以实现,双硬盘的隔离性更好一些、双显卡、双网卡、双内存和双显示器可选,实现双系统的完全隔离、独立、并行运行。双用户操作系统分别使用独立的物理硬盘或者物理硬盘分区、网卡和显卡资源。至于显示器,支持双用户操作系统的任务同步,可以通过双显示器分别输出两个操作系统需要显示的信息,同时,也支持双用户操作系统的任务,通过预先定义的快捷键或者切换热键通过同一个显示器异步输出两。

17、个操作系统需要显示的信息。0038虚拟机监控层12,即虚拟机监控器,由自主研发的微内核系统也称为虚拟机监控管理平台121和DOMAIN0122两部分组成,微内核系统121负责对上层双用户操作系统的管理和计算机系统内存等硬件资源在双用户操作系统间的分配及硬件属性修改,并将其嵌入到定制开发的国产操作系统内核DOMAIN0中,解决了传统的虚拟机监控器比如XEN存在明显缺陷,比如,图形处理能力低、双系统间通讯采用虚拟网卡时存在安全隐患、用户部署复杂等。本发明实施例对传统的虚拟机监控器比如XEN的这些缺陷做了改进,包括通过11内存映射机制,可以避免用户操作系统误访问微内核系统的代码和堆栈所使用的内存,导。

18、致系统崩溃的问题;通过对显卡和串口设备的直接访问,解决了基于硬件辅助虚拟化技术的操作系统图形处理能力低的问题;提供了电源管理机制、双系统快速切换机制等等。DOMAIN0122包含三个进程,虚拟化管理模块1221、第一IOEMU1222和第二IOEMU1223。其中,第一IOEMU1222为用户1提供虚拟化设备,第二IOEMU1223为用户2提供虚拟化设备,虚拟化管理模块实现对虚拟机的管理如用户1或用户2的创建、启动、关闭、睡眠、重启以及信息的输入和显示的切换。IOEMU负责实现设备虚拟化,负责和微内核系统121的交互,为用户1或用户2提供一整套虚拟设备包括PCI总线、显卡、串口、鼠标、键盘和硬。

19、盘控制器等。0039应用层13,主要包括基于第一用户操作系统131和第二用户操作系统132的第一数据传输模块133和第二数据传输模块134以及其它模块。数据传输模块131的实现基于计算机底层双操作系统间独立的数据通道和操作系统应用层的用户界面USERINTERFACE,UI来表现。0040图2示出了本发明实施例提供的并行运行多用户操作系统间的数据安全传输方说明书CN102110196ACN102110200A4/6页7法的实现流程,在本实施例中,以双用户为例来进行说明,详述如下0041在步骤S201中,数据传输模块接收输入的数据传输的请求指令,并通过定义的动态链接库提供的接口申请共享物理内存。。

20、0042作为本发明的一个实施例,运行在操作系统1和操作系统2中的数据传输模块分别接收用户1和用户2输入的数据传输的请求指令,并调用预先定义的动态链接库提供的接口,通过该动态链接库提供的接口申请共享物理内存。0043在步骤S202中,数据传输模块根据该请求指令向操作系统申请虚拟内存页。0044作为本发明的一个实施例,需要进行数据传输的各用户操作系统中的数据传输模块向其所属的操作系统申请虚拟内存页,对于不同的计算机而言,可申请不同大小的虚拟内存页,一般取“物理内存25”或者“物理内存15”,但是并不适用于所有的计算机,确定申请的虚拟内存页的大小的最准确的方法是获取计算机在平常运行中实际使用的内存页。

21、大小。0045在步骤S203中,数据传输模块读取该虚拟内存页的虚拟地址,并将该地址进行转换,生成与该虚拟内存页的虚拟地址对应的物理地址,同时在各用户操作系统中添加新的数据结构来存储共享物理内存之前的虚拟地址和物理地址间的直接映射关系。0046在本发明实施例中,可以采用直接映象的页地址转换、多级页表的地址转换、反向页表的地址转换或者快表的地址转换,将读取到的虚拟内存页的虚拟地址转换成与该虚拟内存页的虚拟地址对应的物理地址,同时在各用户操作系统中添加新的数据结构来存储共享物理内存之前的虚拟地址和物理地址间的直接映射关系。0047在步骤S204中,数据传输模块传输虚拟内存页的物理地址至虚拟机监控器,。

22、实现虚拟地址到物理地址的重新映射。0048作为本发明的一个实施例,操作系统1和操作系统2中的数据传输模块分别将其申请得到的虚拟内存页的物理地址提交给虚拟机监控器,实现虚拟地址到物理地址的重新映射。0049在步骤S205中,虚拟机监控器将用户操作系统所提交的的物理地址映射到同一块预先分配好的共享物理内存。0050作为本发明的一个实施例,虚拟机监控器将操作系统1和操作系统2所提交的物理地址按照一定的映射规则指向同一块预先分配好的物理内存,实现不同的地址指向同一块共享物理内存,至此,两个操作系统中的用户就可访问一个相同的共享物理内存,写入数据至该共享物理内存或者从该共享物理内存读取数据,在退出数据传。

23、输模块或传输结束时调用预先定义的动态链接库提供的接口取消该共享物理内存,同时取消两个用户操作系统所提交的物理地址到共享物理内存的映射,以便实现双用户操作系统间数据的安全交换和传输。0051在步骤S206中,数据传输模块访问该共享物理内存,写入数据至该共享物理内存中或者从该共享物理内存读取数据。0052本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。0053图3示出了本发明实施例提供的数据传输模块的结构,为了便于说明仅示出了与说明书CN102110。

24、196ACN102110200A5/6页8本发明实施例相关的部分。0054该数据传输模块可以用于具有单机并行运行多用户操作系统的计算机系统的应用层中,可以是运行于单机并行运行多用户操作系统的计算机系统内的应用层软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到单机并行运行多用户操作系统的计算机系统的应用层中,该数据传输模块包括共享物理内存申请单元31、虚拟内存页申请单元32、地址转换单元33、地址传输单元34、数据传输单元35。0055其中,共享物理内存申请单元31接收输入的数据传输的请求指令,并通过定义的动态链接库提供的接口申请共享物理内存。0056虚拟内存页申请单元32根。

25、据共享物理内存申请单元31接收到的请求指令向操作系统申请虚拟内存页。0057地址转换单元33读取虚拟内存页申请单元32所申请的虚拟内存页的虚拟地址,并将该地址进行转换,生成与该虚拟内存页的虚拟地址对应的物理地址,同时在各用户操作系统中添加新的数据结构来存储共享物理内存之前的虚拟地址和物理地址间的直接映射关系。0058地址传输单元34传输地址转换单元33所生成虚拟内存页的物理地址至虚拟机监控器,实现虚拟地址到物理地址的重新映射。0059数据传输单元35写入数据至共享物理内存申请单元31预先分配好的共享物理内存中或者从该共享物理内存读取数据。具体情况如上所述,在此不再赘述。0060图4示出了本发明。

26、实施例提供的虚拟机监控器的结构,为了便于说明仅示出了与本发明实施例相关的部分。0061该虚拟机监控器可以用于具有单机并行运行多用户操作系统的计算机系统中,可以是运行于单机并行运行多用户操作系统的计算机系统内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到单机并行运行多用户操作系统的计算机系统中,该虚拟机监控器包括地址映射单元41。0062地址映射单元41将两个用户操作系统所提交的物理地址映射至同一块预先分配好的共享物理内存。作为本发明的一个实施例,虚拟机监控器将操作系统1和操作系统2所提交的物理地址按照一定的映射规则指向同一块预先分配好的共享物理内存,实现不同的地址指向同。

27、一块共享物理内存,至此,两个操作系统中的用户就可访问一个相同的共享物理内存,写入数据至该共享物理内存或者从该共享物理内存读取数据,在退出数据传输模块或传输结束时调用预先定义的动态链接库提供的接口取消该共享物理内存,同时取消两个用户操作系统所提交的物理地址到共享物理内存的映射,以便实现双用户操作系统间数据的安全交换和传输。0063在本发明实施例中,通过先申请共享物理内存,然后将第一操作系统的用户和第二操作系统的用户申请的虚拟内存页的物理地址都指向该物理内存,再向该物理内存写入数据或从该内存读取数据来完成数据的交换,并在退出数据传输模块或数据传输结束时调用定义的动态链接库提供的接口取消共享物理内存。

28、,同时取消物理地址到共享物理内存的映射,安全可靠。不需要借助第三方工具即可在并行运行的多个操作系统之间完成数据的交换,操作方便,在保证了多个操作系统的隔离性的同时,又保证了数据传输过程中的安全性,另外,多个操作系统之间数据传输的速度更快。说明书CN102110196ACN102110200A6/6页90064以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。说明书CN102110196ACN102110200A1/3页10图1说明书附图CN102110196ACN102110200A2/3页11图2说明书附图CN102110196ACN102110200A3/3页12图3图4说明书附图CN102110196A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1