计算机及其磁盘的访问方法技术

技术编号:4347337 阅读:213 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种计算机及其磁盘的访问方法,其中计算机包括:硬件平台,具有磁盘设备;第一操作模块,位于所述硬件平台之上,安装有第一操作系统;虚拟机管理模块,安装有虚拟机管理器;第二操作模块,安装有第二操作系统,所述第二操作系统安装在所述虚拟机管理器上;所述第一操作模块包括:处理模块,用于获取所述第二操作系统的操作指令,在所述操作指令是对所述磁盘设备的分区的写操作指令时,将所述第一操作系统的所述分区对应的分区卷卸载;执行所述写操作指令,产生一操作结果,将所述操作结果返回至所述第二操作系统。本发明专利技术避免了两个操作系统对同一磁盘分区访问的冲突。

【技术实现步骤摘要】

本专利技术涉及计算机领域,特别是指一种基于虚拟技术的。
技术介绍
在虚拟计算机
中,如图1所示,虚拟机系统通常包括安装在计算机硬件 平台上主操作系统(Host OS),在该主操作系统中安装有虚拟机管理器V匪(如Xen中的 hypervisor),在虚拟机管理器上安装有客户操作系统(GuestOS),在虚拟机环境下,Host OS或者Guest OS对硬件平台中的磁盘进行访问时,采用raw partitionr方式访问,raw partitionr即裸分区(原始分区),是一种没有经过格式化的磁盘分区方式。由Host OS 中的应用层文件系统负责对该硬盘分区进行读写操作。该种方式将整块物理磁盘或者磁盘 上的某个分区直接挂载到Guest OS上,Guest OS对磁盘的操作通过Host OS中的应用层文 件系统进行,在Host 0S中可以直接看到,而且Host OS也可以通过该应用层文件系统对磁 盘进行读写操作。但是当一个操作系统(如Host OS)对一磁盘分区进行读操作时,同时有 另一个操作系统(如Guest OS)对该磁盘分区进行写操作,如对该磁盘分区中的文件内容 进行了修改,Host OS看到的该磁盘分区的内容就是错误的,因此两个操作系统同时访问同 一磁盘分区会造成访问冲突。主流的虚拟机系统Vmware、 VirtualBox等都存在这个问题, 常见现象是Guest OS或Host OS中对raw partition进行写入操作时会出错,或者在另一 个系统中不能及时看到写入的结果,在Host OS为Windows系统、XP系统、VISTA系统等时, 具体的出错现象也有所差异,严重的时候会造成Guest OS的系统崩溃。 专利技术人在实现本专利技术的过程中,发现现有技术中至少存在如下问题 在虚拟环境中,Guest OS对磁盘的操作会出现错误,当两个操作系统(如Host OS 和Guest OS)对磁盘同时进行访问时,会出现冲突;且在一个操作系统对磁盘进行修改时, 在另一个操作系统中不能显示该修改的结果,不方便操作系统之间文件传输。
技术实现思路
本专利技术要解决的技术问题是提供一种示,避免第二操 作系统与第一操作系统对同一磁盘分区的访问冲突,使第二操作系统能够顺利完成对磁盘 的访问。 为解决上述技术问题,本专利技术的实施例提供技术方案如下 —方面,提供一种计算机,包括 硬件平台,具有磁盘设备; 第一操作模块,位于所述硬件平台之上,安装有第一操作系统; 虚拟机管理模块,安装有虚拟机管理器; 第二操作模块,安装有第二操作系统,所述第二操作系统安装在所述虚拟机管理 器上;其中,所述第一操作模块包括 处理模块,用于获取所述第二操作系统的操作指令,在所述操作指令是对所述磁 盘设备的分区进行的写操作指令时,将所述第一操作系统中的所述分区对应的分区巻卸 载;执行所述写操作指令,产生一操作结果,将所述操作结果返回至所述第二操作系统。 优选的,所述处理模块包括 获取模块,用于通过所述虚拟机管理器获取所述第二操作系统的操作指令; 卸载模块,用于在检测到所述第二操作系统的操作指令是对所述磁盘设备的分区进行的写操作指令时,将所述第一操作系统中的所述分区对应的分区巻卸载; 执行模块,用于执行所述写操作指令,对所述磁盘设备的分区进行写操作,产生一操作结果,并将所述操作结果通过所述虚拟机管理器返回至所述第二操作系统; 加载模块,用于在所述写操作指令被执行结束时,将所述第一操作系统中所述分区对应的所述分区巻重新加载。 优选的,所述卸载模块具体为 第一卸载模块,用于通过锁巻函数将所述第一操作系统的所述分区对应的分区巻 卸载。 优选的,所述加载模块具体为 第一加载模块,用于通过调用逻辑驱动函数将所述第一操作系统中的所述分区对 应的所述分区巻重新加载。 优选的,所述虚拟机管理模块和所述第二操作模块均安装在所述第一操作模块 中。 另一方面,本专利技术的实施例还提供一种计算机,包括 硬件平台,具有磁盘设备; 硬件驱动模块,安装有所述磁盘设备的驱动; 第一操作模块,位于所述硬件平台之上,安装有第一操作系统; 虚拟机管理模块,安装有虚拟机管理器; 第二操作模块,安装有第二操作系统,所述第二操作系统安装在所述虚拟机管理 器上;其中,所述虚拟机管理模块包括 处理模块,用于获取所述第二操作系统的操作指令,在所述操作指令是对所述磁盘设备的分区进行的写操作指令时,将所述写操作指令直接定向到所述磁盘设备的驱动中的所述分区的访问端口,并根据所述写操作指令,通过所述分区的访问端口对所述分区进行操作,并向所述第二操作系统返回操作结果。优选的,所述处理模块包括 获取模块,用于获取所述第二操作系统的操作指令; 定向模块,用于检测到所述操作指令是对所述磁盘设备的分区进行的写操作指令 时,将所述写操作指令直接定向到所述磁盘设备的驱动中的所述分区的访问端口; 执行模块,用于根据所述写操作指令,通过所述分区的访问端口对所述分区进行 操作,并向所述第二操作系统返回操作结果。 优选的,所述虚拟机管理模块和所述第二操作模块均安装在所述第一操作模块 中。 再一方面,本专利技术的实施例还提供一种计算机磁盘的访问方法,包括5 获取所述第二操作系统的操作指令; 在所述操作指令是对计算机磁盘设备的分区进行的写操作指令时,将第一操作系 统中的所述分区对应的分区巻卸载; 执行所述操作指令,产生一操作结果,并将所述操作结果返回至所述第二操作系 统。 优选的,在所述操作指令被执行结束时,将所述第一操作系统中的所述分区对应 的所述分区巻重新加载。 优选的,所述将所述第一操作系统中的所述分区对应的分区巻卸载的步骤具体 为 通过锁巻函数将所述第一操作系统中的所述分区对应的分区巻卸载。 优选的,所述将所述第一操作系统中的所述分区对应的所述分区巻重新加载的步骤具体为 通过调用逻辑驱动函数将所述第一操作系统中的所述分区对应的所述分区巻重 新加载。 再一方面,本专利技术的实施例还提供一种计算机磁盘的访问方法,包括 获取第二操作系统的操作指令; 在所述操作指令是对所述磁盘设备的分区进行的写操作指令时,将所述写操作指 令直接定向到所述磁盘设备的驱动中的所述分区的访问端口 ; 根据所述操作指令,通过所述分区的访问端口对所述分区进行操作,并向所述第 二操作系统返回操作结果。 本专利技术的实施例具有以下有益效果 上述技术方案通过在检测到第二操作系统传输过来的操作指令是对底层硬件平 台中的磁盘的某一分区进行写操作访问时,将该第一操作系统中的该分区对应的分区巻卸 载,使该第一操作系统暂时失去对该磁盘分区的访问能力,然后去执行该第二操作系统的 对底层磁盘的操作,并向第二操作系统返回操作结果,避免了第二操作系统和第一操作系 统对该同一磁盘分区的访问冲突,使第二操作系统能够顺利地完成对磁盘的访问;并且第 二操作系统对磁盘的写操作结果,还可以在第一操作系统显示出来,方便了系统之间的文 件传输共享。附图说明 图1为现有的操作系统访问磁盘的计算机虚拟架构示意图; 图2为本专利技术的实施例计算机架构示意图; 图3为图2所示计算机的一具体架构示意图; 图4为图3所示计算机的一具体架构示意图; 图5为图3所示计算机的一具体架构示意图; 图6为图本文档来自技高网
...

【技术保护点】
一种计算机,其特征在于,包括:硬件平台,具有磁盘设备;第一操作模块,位于所述硬件平台之上,安装有第一操作系统;虚拟机管理模块,安装有虚拟机管理器;第二操作模块,安装有第二操作系统,所述第二操作系统安装在所述虚拟机管理器上;其中,所述第一操作模块包括:处理模块,用于获取所述第二操作系统的操作指令,在所述操作指令是对所述磁盘设备的分区进行的写操作指令时,将所述第一操作系统中的所述分区对应的分区卷卸载;执行所述写操作指令,产生一操作结果,将所述操作结果返回至所述第二操作系统。

【技术特征摘要】
一种计算机,其特征在于,包括硬件平台,具有磁盘设备;第一操作模块,位于所述硬件平台之上,安装有第一操作系统;虚拟机管理模块,安装有虚拟机管理器;第二操作模块,安装有第二操作系统,所述第二操作系统安装在所述虚拟机管理器上;其中,所述第一操作模块包括处理模块,用于获取所述第二操作系统的操作指令,在所述操作指令是对所述磁盘设备的分区进行的写操作指令时,将所述第一操作系统中的所述分区对应的分区卷卸载;执行所述写操作指令,产生一操作结果,将所述操作结果返回至所述第二操作系统。2. 根据权利要求1所述的计算机,其特征在于,所述处理模块包括 获取模块,用于通过所述虚拟机管理器获取所述第二操作系统的操作指令; 卸载模块,用于在检测到所述第二操作系统的操作指令是对所述磁盘设备的分区进行的写操作指令时,将所述第一操作系统中的所述分区对应的分区巻卸载;执行模块,用于执行所述写操作指令,对所述磁盘设备的分区进行写操作,产生一操作结果,并将所述操作结果通过所述虚拟机管理器返回至所述第二操作系统;加载模块,用于在所述写操作指令被执行结束时,将所述第一操作系统中所述分区对应的所述分区巻重新加载。3. 根据权利要求2所述的计算机,其特征在于,所述卸载模块具体为 第一卸载模块,用于通过锁巻函数将所述第一操作系统中的所述分区对应的分区巻卸载。4. 根据权利要求2所述的计算机,其特征在于,所述加载模块具体为 第一加载模块,用于通过调用逻辑驱动函数将所述第一操作系统中的所述分区对应的所述分区巻重新加载。5. 根据权利要求1所述的计算机,其特征在于,所述虚拟机管理模块和所述第二操作 模块均安装在所述第一操作模块中。6. —种计算机,包括硬件平台,具有磁盘设备; 硬件驱动模块,安装有所述磁盘设备的驱动; 第一操作模块,位于所述硬件平台之上,安装有第一操作系统; 虚拟机管理模块,安装有虚拟机管理器;第二操作模块,安装有第二操作系统,所述第二操作系统安装在所述虚拟机管理器上; 其特征在于,所述虚拟机管理模块包括处理模块,用于获取所述第二操作系统的操作指令,在所述操作指令是对所述磁盘设 备的分区进...

【专利技术属性】
技术研发人员:陆见微刘春梅林洋
申请(专利权)人:联想北京有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利