• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 9
    • 下载费用:30 金币  

    重庆时时彩一号平台可信么: 一种I/O监控方法.pdf

    关 键 词:
    一种 监控 方法
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    摘要
    申请专利号:

    CN201010123369.3

    申请日:

    2010.03.12

    公开号:

    CN102194064A

    公开日:

    2011.09.21

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 专利权人的姓名或者名称、地址的变更IPC(主分类):G06F 13/28变更事项:专利权人变更前:中国长城计算机深圳股份有限公司变更后:中国长城科技集团股份有限公司变更事项:地址变更前:518057 广东省深圳市南山区科技园长城计算机大厦变更后:518057 广东省深圳市南山区科技园长城计算机大厦|||授权|||实质审查的生效IPC(主分类):G06F 21/00申请日:20100312|||公开
    IPC分类号: G06F21/00 主分类号: G06F21/00
    申请人: 中国长城计算机深圳股份有限公司
    发明人: 宋靖; 贾兵; 林诗达; 王淼; 刘欣房; 顾文锦
    地址: 518057 广东省深圳市南山区科技园长城计算机大厦
    优先权:
    专利代理机构: 深圳中一专利商标事务所 44237 代理人: 张全文
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201010123369.3

    授权公告号:

    |||102194064B||||||

    法律状态公告日:

    2017.05.31|||2013.07.10|||2011.11.23|||2011.09.21

    法律状态类型:

    专利权人的姓名或者名称、地址的变更|||授权|||实质审查的生效|||公开

    摘要

    本发明适用于计算机技术领域,提供了一种I/O监控方法,所述方法包括:1.1检测对虚拟硬件设备的端口访问的类型;1.2当通过客户软件??槎孕槟庥布璞窹IO端口的访问时,控制虚拟机监控器截获用户操作系统向CMD寄存器读写指令,并监控从数据寄存器读数据操作状态,当监控到从数据寄存器读数据时,将数据返回给所述操作系统;1.3当通过指令模拟??槎孕槟庥布璞傅腗MIO端口的访问时,控制虚拟机监控器将物理地址空间转换为真实物理地址空间,在虚拟硬件设备与PRD表中指定的内存之间进行DMA数据传输,实现在设备底层对端口的监控。

    权利要求书

    1.一种I/O监控方法,其特征在于,所述方法包括下述步骤:1.1?检测对虚拟硬件设备的端口访问的类型,所述对虚拟硬件设备的端口访问的类型包括通过客户软件??槎孕槟庥布璞窹IO端口的访问和通过指令模拟??槎孕槟庥布璞傅腗MIO端口的访问;1.2?当所述对虚拟硬件设备的端口访问的类型为通过客户软件??槎孕槟庥布璞窹IO端口的访问时,控制虚拟机监控器截获用户操作系统向CMD寄存器读写指令,并监控从数据寄存器读数据操作状态,当监控到从所述数据寄存器读数据时,将所述数据返回给所述操作系统;1.3?当所述对虚拟硬件设备的端口访问的类型为通过指令模拟??槎孕槟庥布璞傅腗MIO端口的访问时,控制虚拟机监控器将物理地址空间转换为真实物理地址空间,在所述虚拟硬件设备与PRD表中指定的内存之间进行DMA数据传输。2.如权利要求1所述的方法,其特征在于,所述步骤1.2具体包括下述步骤:控制虚拟机监控器截获用户操作系统向CMD寄存器读写指令;虚拟机控制器读出真实数据,对读出的数据进行解密并设置状态寄存器;通过硬件中断方式等待中断,并监控从数据寄存器读数据操作状态;当监控从数据寄存器读数据时,将所述数据返回给所述操作系统。3.如权利要求1所述的方法,其特征在于,所述步骤1.3具体包括下述步骤:读取命令块寄存器组中状态寄存器位;当所述状态寄存器中的BSY位为0且DRDY位为1时,设置命令块寄存器组中的扇区数、扇区位置寄存器、指定要访问设备的数据位置与大??;虚拟机监控器将将指定要访问设备的数据位置的物理地址空间转换为真实物理地址空间;写命令块寄存器组中的命令寄存器,控制开始外部设备的数据访问;对所述数据进行加密,并控制在所述虚拟硬件设备与PRD表中指定的内存之间进行DMA数据传输;等待设备硬件中断的产生,读取命令块寄存器组中状态寄存器的BSY位,直到所述BSY位为0;解密所述数据,检查命令块寄存器组中状态寄存器的ERR/CHK位,确定设置访问操作是否有错误。

    说明书

    一种I/O监控方法

    技术领域

    本发明属于计算机技术领域,尤其涉及一种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检测对虚拟硬件设备的端口访问的类型,所述对虚拟硬件设备的端口访问的类型包括通过客户软件??槎孕槟庥布璞窹IO端口的访问和通过指令模拟??槎孕槟庥布璞傅腗MIO端口的访问;

    1.2当所述对虚拟硬件设备的端口访问的类型为通过客户软件??槎孕槟庥布璞窹IO端口的访问时,控制虚拟机监控器截获用户操作系统向CMD寄存器读写指令,并监控从数据寄存器读数据操作状态,当监控到从所述数据寄存器读数据时,将所述数据返回给所述操作系统;

    1.3当所述对虚拟硬件设备的端口访问的类型为通过指令模拟??槎孕槟庥布璞傅腗MIO端口的访问时,控制虚拟机监控器将物理地址空间转换为真实物理地址空间,在所述虚拟硬件设备与PRD表中指定的内存之间进行DMA数据传输。

    在本发明实施例中,检测对虚拟硬件设备的端口访问的类型;当通过客户软件??槎孕槟庥布璞窹IO端口的访问时,控制虚拟机监控器截获用户操作系统向CMD寄存器读写指令,并监控从数据寄存器读数据操作状态,当监控到从数据寄存器读数据时,将数据返回给所述操作系统;当通过指令模拟??槎孕槟庥布璞傅腗MIO端口的访问时,控制虚拟机监控器将物理地址空间转换为真实物理地址空间,在虚拟硬件设备与PRD表中指定的内存之间进行DMA数据传输,在底层实现对硬盘端口的监控,保证硬盘数据的读取的安全性。

    附图说明

    图1是本发明实施例提供的I/O监控系统的结构框图;

    图2是本发明实施例提供的I/O监控方法的实现流程图;

    图3是本发明实施例提供的通过PIO方式读取硬盘数据的实现流程图;

    图4是本发明实施例提供的通过DMA方式访问硬盘数据的实现流程图。

    具体实施方式

    为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

    在本发明实施例中,检测对虚拟硬件设备的端口访问的类型;当通过客户软件??槎孕槟庥布璞窹IO端口的访问时,控制虚拟机监控器截获用户操作系统向CMD寄存器读写指令,并监控从数据寄存器读数据操作状态,当监控到从数据寄存器读数据时,将数据返回给所述操作系统;当通过指令模拟??槎孕槟庥布璞傅腗MIO端口的访问时,控制虚拟机监控器将物理地址空间转换为真实物理地址空间,在虚拟硬件设备与PRD表中指定的内存之间进行DMA数据传输。

    图1示出了本发明实施例提供的I/O监控系统的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分。

    系统包括虚拟硬件设备、客户软件???、内存虚拟管理???、指令模拟??楹托槟庵卸峡刂破?,其中:

    客户软件??榻邮湛突砑孕槟庥布璞窹IO端口的访问,控制实现虚拟处理器与运行的客户软件进行数据交互;内存虚拟管理??榭刂乒芾碛肽诖娣梦氏喙氐牟僮?,将客户内存物理地址空间转换为真实物理地址空间;指令模拟??榻邮湛突砑孕槟庥布璞傅腗MIO端口的访问,解析客户软件当前运行的指令,把客户软件操作请求转发给所述虚拟硬件设备进行处理;虚拟中断控制器处理客户软件对中断控制器的访问,向客户软件注入中断请求。

    在本发明实施例中,虚拟硬件设备通过客户软件??榻邮湛突砑孕槟馍璞窹IO端口的访问,通过所述指令模拟??榻邮湛突砑孕槟馍璞窶MIO端口的访问,通过内存虚拟管理??榉梦士突Ф四诖?,通过虚拟中断控制器向客户注入中断请求,实现硬件设备的虚拟化。

    在本发明实施例中,硬盘数据的访问方式包括两种方式,一种是PIO方式,另一种是DMA方式。对于允许客户软件直接访问的硬件设备,客户软件可以直接访问硬件设备的资源数据。

    图2示出了本发明实施例提供的I/O监控方法的实现流程,其具体的步骤如下所述:

    在步骤S201中,检测对虚拟硬件设备的端口访问的类型,所述对虚拟硬件设备的端口访问的类型包括通过客户软件??槎孕槟庥布璞窹IO端口的访问和通过指令模拟??槎孕槟庥布璞傅腗MIO端口的访问。

    在步骤S202中,当所述对虚拟硬件设备的端口访问的类型为通过客户软件??槎孕槟庥布璞窹IO端口的访问时,控制虚拟机监控器截获用户操作系统向CMD寄存器读写指令,并监控从数据寄存器读数据操作状态,当监控到从所述数据寄存器读数据时,将所述数据返回给所述操作系统。

    在步骤S203中,当所述对虚拟硬件设备的端口访问的类型为通过指令模拟??槎孕槟庥布璞傅腗MIO端口的访问时,控制虚拟机监控器将物理地址空间转换为真实物理地址空间,在所述虚拟硬件设备与PRD表中指定的内存之间进行DMA数据传输。

    图3示出了本发明实施例提供的通过PIO方式读取硬盘数据的实现流程,其具体的步骤如下所述:

    在步骤S301中,控制虚拟机监控器截获用户操作系统向CMD寄存器读写指令。

    在本发明实施例中,设备上电初始化,设置命令块寄存器组中状态寄存器的设备准备好位为1,表示设备可以工作,并向LBA-low/LBA-mid/LBA-high/Def-sel?register设定要读写的硬盘、LBA和扇区数。

    当用户操作系统有向硬盘读取数据要求时,用户操作系统向硬盘控制器的CMD寄存器发送读写操作指令,虚拟机监控器通过硬盘读写监控??榧嗫氐接才炭刂破鹘邮盏矫羁榧拇嫫髯橹忻罴拇嫫鞯男慈胫噶?,则读取数据。

    在步骤S302中,虚拟机控制器读出真实数据,对读出的数据进行解密并设置状态寄存器。

    在步骤S303中,通过硬件中断方式等待中断,并监控从数据寄存器读数据操作状态。

    在本发明实施例中,通过硬件中断方式等待硬件中断,当然也可以不通过中断通知方式,设置命令块寄存器组中状态寄存器的BSY位为1,表示设备忙,进行读写数据;当数据有效时,设置状态寄存器的DRQ位,表示命令块寄存器组中的数据寄存器中存在有效数据。

    在步骤S304中,当监控从数据寄存器读数据时,将所述数据返回给所述操作系统。

    在本发明实施例中,当数据传输错误时,设置命令块寄存器组中状态寄存器的ERQ/CHK位,表示数据访问错误。

    在本发明实施例中,虚拟机监控器监控到从数据寄存器读数据,则把数据返回给用户操作系统。当数据访问完成,设置命令块寄存器组中的状态寄存器BSY位为0,表示设备空闲,发送中断请求。当读取命令块寄存器组中状态寄存器,设备清除中断请求。当数据从命令块寄存器组中读写完成,设备清除命令块寄存器组中状态寄存器的DRQ位。

    图4示出了本发明实施例提供的通过DMA方式访问硬盘数据的实现流程,其具体的步骤如下所述:

    在步骤S401中,读取命令块寄存器组中状态寄存器位。

    在本发明实施例中,读取状态寄存器中的BSY位,直到为0,以DMA访问方式为实施例进行说明:

    写ATA总线控制寄存器组中的命令寄存器:

    1.设置命令寄存器的Start/Stop位为0,停止DMA传输;

    2.设置命令寄存器的Read/Write位,控制DMA数据传输的方向;

    3.写清除状态寄存器的Error位和Interrup位;

    4.设置PRD表地址为虚拟机监控器定义的地址,即指定的DMA数据传输的内存区域。

    在步骤S402中,当所述状态寄存器中的BSY位为0且DRDY位为1时,设置命令块寄存器组中的扇区数、扇区位置寄存器、指定要访问设备的数据位置与大小。

    在本发明实施例中,设置命令块寄存器组中的设备寄存器,指定访问的设备。

    在步骤S403中,虚拟机监控器将将指定要访问设备的数据位置的物理地址空间转换为真实物理地址空间。

    在步骤S404中,写命令块寄存器组中的命令寄存器,控制开始外部设备的数据访问。

    在步骤S405中,对所述数据进行加密,并控制在所述虚拟硬件设备与PRD表中指定的内存之间进行DMA数据传输。

    在步骤S406中,等待设备硬件中断的产生,读取命令块寄存器组中状态寄存器的BSY位,直到所述BSY位为0。

    在步骤S407中,解密所述数据,检查命令块寄存器组中状态寄存器的ERR/CHK位,确定设置访问操作是否有错误。

    在步骤S408中,写ATA总线控制寄存器组中的命令寄存器,停止ATA总线控制器DMA。

    在步骤S409中,写ATA总线控制寄存器组中的状态寄存器,清除Interrup位。

    上述仅为本发明的一个实施例,在此不用以限制本发明。

    在本发明实施例中,检测对虚拟硬件设备的端口访问的类型;当通过客户软件??槎孕槟庥布璞窹IO端口的访问时,控制虚拟机监控器截获用户操作系统向CMD寄存器读写指令,并监控从数据寄存器读数据操作状态,当监控到从数据寄存器读数据时,将数据返回给所述操作系统;当通过指令模拟??槎孕槟庥布璞傅腗MIO端口的访问时,控制虚拟机监控器将物理地址空间转换为真实物理地址空间,在虚拟硬件设备与PRD表中指定的内存之间进行DMA数据传输,在底层实现对硬盘端口的监控,保证硬盘数据的读取的安全性。

    以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的?;し段е?。

    关于本文
    本文标题:一种I/O监控方法.pdf
    链接地址://www.4mum.com.cn/p-5866105.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
  • 重庆时时大小单双专家 一分快三怎么玩稳赚 江西时时提前知道 五星定位胆稳赚技巧 精准极限三肖三期內必开 91计划pk10全天计划 北京小赛车走势图 北京pk10技巧图 北京pk10今天的走势图 重庆吋时彩五星个位走势图 稳赚七码二期倍投方案 六码如何倍投稳赚不赔 时时彩什么方法稳赚 时时彩有人能稳赚吗 河北时时玩法 哪里买云南时时走势图