[发明专利]一种I/O监控方法有效
申请号: | 201010123369.3 | 申请日: | 2010-03-12 |
公开(公告)号: | CN102194064A | 公开(公告)日: | 2011-09-21 |
发明(设计)人: | 宋靖;贾兵;林诗达;王淼;刘欣房;顾文锦 | 申请(专利权)人: | 中国长城计算机深圳股份有限公司 |
主分类号: | G06F21/00 | 分类号: | G06F21/00 |
代理公司: | 深圳中一专利商标事务所 44237 | 代理人: | 张全文 |
地址: | 518057 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 监控 方法 | ||
技术领域
本发明属于计算机技术领域,尤其涉及一种I/O监控方法。
背景技术
计算机硬件I/O设备包括端口I/O和内存I/O,其中,端口I/O主要监控IN和OUT,对端口I/O操作的监控。
硬盘是计算机主要的存储媒介,硬盘设备通过并行ATA(PATA/IDE)接口或串行ATA接口(SATA)与主机中PCI总线上硬盘控制器连接,如图1所示,硬盘控制器连接作为桥设备实现ATA总线到PCI总线的转换。每个硬盘控制器一般提供两个ATA通道,每个通道可以连接两个ATA设备。处理器通过访问三组寄存器对硬盘设备进行控制,这三组寄存器分别为:命令块寄存器组、控制块寄存器组和ATA总线控制寄存器组。三组寄存器的I/O基地址由硬盘的PCI配置空间来确定,命令块寄存器组用于传输命令和参数,占用8个PIO端口,共10个可访问寄存器;控制块寄存器组占用一个PIO端口,读端口时访问的是命令块寄存器组中的状态寄存器,写端口时访问的是设备控制寄存器。
但是,现有的硬盘数据的访问存在一定的弊端,现有的监控系统设置在操作系统,由于操作系统本身的安全性不高,因此,导致对硬盘的数据读取访问也存在不安全性。
发明内容
本发明实施例的目的在于提供一种I/O监控方法,旨在解决现有的监控系统设置在操作系统之上,由于操作系统本身的安全性不高导致对硬盘数据的读取访问也存在不安全性的问题。
本发明实施例的另一目的在于提供一种I/O监控方法,所述方法包括下述步骤:
1.1检测对虚拟硬件设备的端口访问的类型,所述对虚拟硬件设备的端口访问的类型包括通过客户软件模块对虚拟硬件设备PIO端口的访问和通过指令模拟模块对虚拟硬件设备的MMIO端口的访问;
1.2当所述对虚拟硬件设备的端口访问的类型为通过客户软件模块对虚拟硬件设备PIO端口的访问时,控制虚拟机监控器截获用户操作系统向CMD寄存器读写指令,并监控从数据寄存器读数据操作状态,当监控到从所述数据寄存器读数据时,将所述数据返回给所述操作系统;
1.3当所述对虚拟硬件设备的端口访问的类型为通过指令模拟模块对虚拟硬件设备的MMIO端口的访问时,控制虚拟机监控器将物理地址空间转换为真实物理地址空间,在所述虚拟硬件设备与PRD表中指定的内存之间进行DMA数据传输。
在本发明实施例中,检测对虚拟硬件设备的端口访问的类型;当通过客户软件模块对虚拟硬件设备PIO端口的访问时,控制虚拟机监控器截获用户操作系统向CMD寄存器读写指令,并监控从数据寄存器读数据操作状态,当监控到从数据寄存器读数据时,将数据返回给所述操作系统;当通过指令模拟模块对虚拟硬件设备的MMIO端口的访问时,控制虚拟机监控器将物理地址空间转换为真实物理地址空间,在虚拟硬件设备与PRD表中指定的内存之间进行DMA数据传输,在底层实现对硬盘端口的监控,保证硬盘数据的读取的安全性。
附图说明
图1是本发明实施例提供的I/O监控系统的结构框图;
图2是本发明实施例提供的I/O监控方法的实现流程图;
图3是本发明实施例提供的通过PIO方式读取硬盘数据的实现流程图;
图4是本发明实施例提供的通过DMA方式访问硬盘数据的实现流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,检测对虚拟硬件设备的端口访问的类型;当通过客户软件模块对虚拟硬件设备PIO端口的访问时,控制虚拟机监控器截获用户操作系统向CMD寄存器读写指令,并监控从数据寄存器读数据操作状态,当监控到从数据寄存器读数据时,将数据返回给所述操作系统;当通过指令模拟模块对虚拟硬件设备的MMIO端口的访问时,控制虚拟机监控器将物理地址空间转换为真实物理地址空间,在虚拟硬件设备与PRD表中指定的内存之间进行DMA数据传输。
图1示出了本发明实施例提供的I/O监控系统的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。
系统包括虚拟硬件设备、客户软件模块、内存虚拟管理模块、指令模拟模块和虚拟中断控制器,其中:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国长城计算机深圳股份有限公司,未经中国长城计算机深圳股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010123369.3/2.html,转载请声明来源钻瓜专利网。