《使用虚拟技术输入/输出数据的方法和设备.pdf》由会员分享,可在线阅读,更多相关《使用虚拟技术输入/输出数据的方法和设备.pdf(13页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN101960442A43申请公布日20110126CN101960442ACN101960442A21申请号200880127145022申请日20081208102008001788820080227KRG06F15/1720060171申请人三星电子株式会社地址韩国京畿道72发明人张闵盛朴成烈朴在珉徐尚范许成官金炳完74专利代理机构北京铭硕知识产权代理有限公司11286代理人郭鸿禧王青芝54发明名称使用虚拟技术输入/输出数据的方法和设备57摘要提供了一种用于通过使用虚拟技术输入输出数据的方法和设备。所述方法包括基于连接到主机的外部装置中存储的虚拟操作系统OS信息,为外部装。
2、置产生虚拟操作系统;将主机的存储器的部分区域设置为外部装置的虚拟存储器;响应于来自虚拟OS的用于输入和输出数据的请求,将数据存储在外部装置的存储器或虚拟存储器中。30优先权数据85PCT申请进入国家阶段日2010082686PCT申请的申请数据PCT/KR2008/0072392008120887PCT申请的公布数据WO2009/107926EN2009090351INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书6页附图4页CN101960443A1/2页21一种输入和输出数据的方法,所述方法包括基于连接到主机的外部装置中存储的虚拟操作系统OS信息,为外部装置产生。
3、虚拟OS;将主机的存储器的部分区域设置为外部装置的虚拟存储器;响应于来自虚拟OS的用于输出和输出数据的请求,将数据存储在外部装置的存储器或虚拟存储器中。2如权利要求1所述的方法,其中,存储数据的步骤包括比较将数据存储到虚拟存储器中花费的时间和将数据存储到存储器中花费的时间;基于比较的结果来确定是将数据存储在虚拟存储器还是存储在存储器中;基于确定的结果来将数据存储在虚拟存储器或存储器中。3如权利要求1所述的方法,其中,存储数据的步骤包括确定数据是否是仅在执行程序时存在的临时文件;基于确定的结果来将数据存储在虚拟存储器或存储器中。4如权利要求3所述的方法,其中,周期性地删除虚拟存储器中存储的数据,。
4、或将虚拟存储器中存储的数据清理到存储器。5如权利要求1所述的方法,其中,存储数据的步骤包括确定数据的大小是否小于预定值;基于确定的结果来将数据存储在虚拟存储器或存储器中。6如权利要求5所述的方法,其中,周期性地删除虚拟存储器中存储的数据,或将虚拟存储器中存储的数据清理到存储器。7如权利要求1所述的方法,其中,使用外部装置的唯一信息或包括在外部装置中的密匙值来加密虚拟存储器,从而所述虚拟存储器仅能通过虚拟OS被访问。8如权利要求1所述的方法,还包括如果外部装置将从主机断开连接,则删除虚拟存储器中存储的数据,或将虚拟存储器中存储的数据清理到外部装置。9如权利要求1所述的方法,其中,所述OS信息包括。
5、注册表、文件系统、组件和动态链接库中的至少一个,其中,在产生虚拟OS的步骤中,基于所述OS信息产生独立于主机的OS的虚拟OS。10一种记录有用于执行输入和输出数据的方法的计算机程序的计算机可读记录介质,所述方法包括基于连接到主机的外部装置中存储的OS信息,为外部装置产生虚拟操作系统OS;将主机的存储器的部分区域设置为外部装置的虚拟存储器;响应于来自虚拟OS的用于输出和输出数据的请求,将数据存储在外部装置的存储器或虚拟存储器中。11一种用于输入和输出数据的设备,所述设备被连接到包括主机操作系统OS和主机存储器的主机,所述设备包括应用程序存储单元,存储至少一个应用程序;虚拟环境单元,存储用于设置虚。
6、拟环境的用户偏好信息和OS信息;存储器;虚拟层,进行操作,从而通过基于OS信息从主机OS产生虚拟OS,以及将主机的存储器的部分区域设置为虚拟存储器,响应于虚拟OS的用于输入和输出数据的请求,将数据存储权利要求书CN101960442ACN101960443A2/2页3在虚拟存储器或存储器中。12如权利要求11所述的设备,其中,虚拟层比较将数据存储到虚拟存储器中花费的时间和将数据存储到存储器中花费的时间,基于比较的结果来确定是将数据存储在虚拟存储器还是存储在存储器中,并基于确定的结果来将数据存储在虚拟存储器或存储器中。13如权利要求11所述的设备,其中,虚拟层确定所述数据是否是仅在执行程序时存在。
7、的临时文件,并基于确定的结果来将数据存储在虚拟存储器或存储器中。14如权利要求11所述的设备,其中,虚拟层确定数据的大小是否小于预定值,并基于确定的结果来将数据存储在虚拟存储器或存储器中。15如权利要求11所述的设备,还包括加密密匙存储单元,存储用于加密虚拟存储器的密匙值。16如权利要求11所述的设备,其中,所述虚拟层周期性地同步虚拟存储器中存储的数据和存储器中存储的数据。17如权利要求11所述的设备,其中,所述虚拟层周期性地删除虚拟存储器中存储的数据,或将虚拟存储器中存储的数据清理到存储器中。18如权利要求11所述的设备,其中,如果所述设备将从主机断开连接,则所述虚拟层删除虚拟存储器中存储的。
8、数据,或将虚拟存储器中存储的数据清理到存储器中。权利要求书CN101960442ACN101960443A1/6页4使用虚拟技术输入/输出数据的方法和设备技术领域0001与本发明一致的方法和设备涉及输入和输出数据,更具体地讲,涉及通过使用虚拟技术输入和输出数据。背景技术0002在虚拟技术VIRTUALIZATIONTECHNIQUE中,硬件资源例如,处理器、存储器、网络、装置、图形功能关于操作系统OS被虚拟。大多OS在所述OS专有地占用计算机资源的情况下运行。因此,由于安装在计算机中的多个OS相互竞争,通常不可能在计算机中并发地执行多个OS。在虚拟技术中,在硬件与OS之间提供了虚拟接口。因此,。
9、可在计算机中并发地执行多个OS。发明内容0003技术问题0004本发明提供了一种用于输出和输出数据的方法和设备,以提高在虚拟环境中输入和输出数据的速度,并提供了一种记录有用于执行所述方法的计算机程序的计算机可读记录介质。0005技术方案0006根据本发明的一方面,提供了一种输入和输出数据的方法,所述方法包括基于连接到主机的外部装置中存储的OS信息,为外部装置产生虚拟OS;将主机的存储器的部分区域设置为外部装置的虚拟存储器;响应于来自虚拟OS的用于输出和输出数据的请求,将数据存储在外部装置的存储器或虚拟存储器中。0007根据本发明的另一方面,提供了一种记录有用于执行输入和输出数据的方法的计算机程。
10、序的计算机可读记录介质,所述方法包括基于连接到主机的外部装置中存储的OS信息,为外部装置产生虚拟OS;将主机的存储器的部分区域设置为外部装置的虚拟存储器;响应于来自虚拟OS的用于输出和输出数据的请求,将数据存储在外部装置的存储器或虚拟存储器中。0008根据本发明的另一方面,提供了一种用于输入和输出数据的设备,所述设备被连接到包括主机OS和主机存储器的主机,所述设备包括应用程序存储单元,存储至少一个应用程序;虚拟环境单元,存储用于设置虚拟环境的用户偏好信息和OS信息;存储器;虚拟层,进行操作,从而通过基于OS信息来从主机OS产生虚拟OS,并将主机的存储器的部分区域设置为虚拟存储器,响应于虚拟OS。
11、的用于输入和输出数据的请求,将数据存储在虚拟存储器或存储器中。0009有益效果0010根据本发明的示例性实施例,可通过基于连接到主机的外部装置中存储的OS信息来为外部装置产生虚拟OS,将主机的存储器的部分区域设置为外部装置的虚拟存储器,并响应于来自虚拟OS的用于输入和输出数据的请求而将数据存储在外部装置的存储器或说明书CN101960442ACN101960443A2/6页5虚拟存储器中,来提高在虚拟环境中输入和输出数据的速度。0011此外,可通过选择性地将数据存储在外部装置的存储器或虚拟存储器中减少将数据输入到外部装置和从外部装置输出数据的次数,来增加外部装置的寿命。因此,可通过使用具有短寿。
12、命和低价格的多级信元MLC闪存实现可拆卸存储装置,来降低可拆卸存储装置的价格。附图说明0012通过参照附图对本发明的示例性实施例进行的详细描述,本发明的上述和其它方面将会变得更加清楚,在附图中0013图1示出一般主机的分层结构;0014图2示出未应用虚拟技术的用于输入和输出数据的系统;0015图3是示出根据本发明的示例性实施例的可拆卸存储装置的框图;0016图4示出应用了虚拟技术的用于输入和输出数据的系统;0017图5是示出根据本发明的示例性实施例的输入和输出数据的方法的流程图。具体实施方式0018在下文中,将通过参照附图解释本发明的示例性实施例来详细地描述本发明。附图中相同的标号表示相同的元。
13、件。将省略对相同元件的重复描述。0019图1示出一般主机的分层结构。0020参照图1,主机包括硬件11、操作系统OS12和多个应用程序13。硬件11可包括中央处理单元CPU、随机存取存储器RAM、只读存储器ROM、硬盘等。OS12是用于管理计算机资源的程序。OS12用作硬件11与应用程序13之间的接口。0021图2示出未应用虚拟技术的用于输入和输出数据的系统。0022参照图2,用于输入和输出数据的系统20用来在未应用虚拟技术的主机和可拆卸存储装置之间输入和输出数据。主机包括硬件21、OS22和多个应用程序23。0023可拆卸存储装置24包括发射器LAUNCHER25和多个应用程序26。如果可拆。
14、卸存储装置被插入到主机,则发射器25和多个应用程序26被加载到主机的存储器中,并在主机中被执行。发射器25是主机中用于建立这样的环境的接口程序,在所述环境中通过设置可拆卸存储装置中存储的用户环境来执行应用程序26。因此,在连接有可拆卸存储装置的主机中,仅通过可拆卸存储装置而非主机的存储装置来输入和输出数据。0024然而,由于可拆卸存储装置24与主机相比具有小容量和低性能,因此与使用主机的存储装置来输入和输出数据的情况相比,通过使用可拆卸存储装置输入和输出数据花费更多的时间。例如,主机的硬盘可具有500千兆字节GB的容量,但通用串行总线USB存储装置可具有8GB的容量。因此,硬盘的容量远大于US。
15、B存储装置的容量。0025具体地说,在需要快速写入和读取文件的情况下例如,在可拆卸存储装置中存储临时互联网文件,应用程序的操作被延迟。例如,在打开使用互联网的网页的情况下,花费大量时间来将对应的数据存储在可拆卸存储装置中。此外,在可拆卸存储装置使用闪存的情况下,通过连续地写入和删除大小较小的文件会极大地降低可拆卸存储装置的寿命。0026图3是示出根据本发明的示例性实施例的可拆卸存储装置的框图。说明书CN101960442ACN101960443A3/6页60027参照图3,可拆卸存储装置33通过有线和/或无线数据通信网络32连接到主机31。这里,可拆卸存储装置33仅是示例性实施例。本发明还可应。
16、用到通过网络连接到主机31的另外的装置。在下文中,为了方便描述,作为USB便携式存储装置的USB闪存驱动器将被描述为可拆卸存储装置33的示例。0028可拆卸存储装置33包括通信单元331、应用程序存储单元332、虚拟层存储单元333、虚拟环境单元334、存储器335、加密密匙存储单元336和通信总线337。0029通信单元331可被实现为诸如通用接口的物理装置,以用作用于与通信网络进行通信的单元。通信总线337与可拆卸存储装置中的各种组件例如,应用程序存储单元332、虚拟层存储单元333、虚拟环境单元334、存储器335、加密密匙存储单元336和通信331进行通信。0030应用程序存储单元33。
17、2存储各种应用程序例如,MICROSOFTWORD、POWERPOINT等。如果可拆卸存储装置33被插入到主机31,则将多个应用程序加载到主机31的存储器中,并在主机31中执行所述多个应用程序。0031虚拟层存储单元333存储作为用于提供虚拟环境的程序的虚拟层。更具体地讲,虚拟层可以是诸如虚拟机监视器或虚拟机管理程序的程序。如果可拆卸存储装置33被插入到主机31,则将虚拟层加载到主机31的存储器中。因此,在主机硬件或主机OS中执行虚拟层来产生虚拟OS。虚拟层通过将资源提供给虚拟OS来提供虚拟环境。0032虚拟环境单元334是存储用于设置虚拟环境的用户偏好信息和虚拟OS产生新的用户环境所需的OS。
18、信息的数据库。这里,用户偏好信息可包括桌面、主题、图标、快捷方式、语言、字体等。如果可拆卸存储装置33被插入到主机31,则根据用户偏好信息建立用户环境。0033此外,OS产生新的用户环境所需的OS信息可包括注册表、文件系统、组件、动态链接库DLL等。如果可拆卸存储装置33被插入到主机31,则可建立这样一个虚拟环境,在所述虚拟环境中,主机31中未安装的注册表、文件系统、组件、DLL等存在于主机31的存储器中。这里,注册表是当安装WINDOWS时产生的多条信息的列表文件。注册表包括硬件、软件、用户、计算机和网络的属性。此外,文件系统包括文件名和文件的逻辑位置,以便能够存储和搜索文件。0034存储器。
19、335存储在用于通过使用应用程序执行任务的过程中新近产生的数据。例如,当用户通过使用MICROSOFTWORD编辑文档时,存储器335存储文档的改变或新编写的文档。0035加密密匙存储单元336存储由用户设置的唯一的加密密匙。如果可拆卸存储装置33被插入到主机31,则虚拟层可从主机硬件产生通过使用虚拟OS可访问的虚拟存储器。在这种情况下,由于通过使用加密密匙来加密产生的虚拟存储器,因此主机OS不能访问虚拟存储器,因此,保持了虚拟存储器的安全性。在这种情况下,可通过使用可拆卸存储装置的唯一信息或用户提供的其他信息来加密虚拟存储器。0036图4示出应用了虚拟技术的用于输入和输出数据的系统。0037。
20、参照图4,显示了用于输入和输出数据的系统40,所述系统40通过使用虚拟技术用来在主机与可拆卸存储装置之间输入和输出数据。主机包括主机硬件41、主机OS42和多个应用程序43。说明书CN101960442ACN101960443A4/6页70038可拆卸存储装置44包括多个应用程序45和虚拟层46。如果可拆卸存储装置44被插入到主机,则将多个应用程序45和虚拟层46加载到主机的存储器中,并在主机中执行所述多个应用程序45和虚拟层46。0039虚拟层46基于OS信息从主机OS42产生虚拟OS47,并从主机提供虚拟OS47必需的资源。更具体地讲,虚拟OS47基于可拆卸存储单元44中存储的OS信息中所。
21、包括的注册表和文件系统,独立于主机OS42运行。0040此外,虚拟层46将主机存储器48的部分区域设置为作为专用于虚拟OS47的存储装置的虚拟存储器49。更具体地讲,虚拟层46可将通过对主机存储器48进行分区获得的部分区域设置为虚拟存储器49。在这种情况下,通过加密虚拟存储器49,不能通过主机OS42来访问虚拟存储器49,只有虚拟OS47被允许访问虚拟存储器49。可通过使用可拆卸存储装置44中存储的加密密匙从主机OS42加密虚拟存储器49。当从主机移除可拆卸存储装置44时,终止虚拟层46。可自动地删除虚拟存储器。0041在执行应用程序的过程中产生的虚拟OS47可请求运行应用程序45,或请求输入。
22、和输出虚拟OS47所必需的数据。虚拟层46通过分析来自虚拟OS47的用于输入和输出数据的请求,确定数据是被输入到产生的虚拟存储器49还是可拆卸存储装置44的存储器,以及确定是从产生的虚拟存储器49还是可拆卸存储装置44的存储器输出数据。即,虚拟层46通过分析来自虚拟OS47的用于输入和输出数据的请求,确定是从产生的虚拟存储器49还是可拆卸存储装置44的存储器读取数据,或者是将数据写入产生的虚拟存储器49还是可拆卸存储装置44的存储器。0042更具体地讲,作为分析用于输入和输出数据的请求的结果,当将数据存储到虚拟存储器49中所花费的时间小于将数据存储到移动存储装置44中所花费的时间时,虚拟层46。
23、可通过将数据存储在虚拟存储器49来提高输入和输出数据的速度。通常来说,主机的存储装置比可拆卸存储装置具有更大的容量。因此,尽管通过使用可拆卸存储装置在新的虚拟环境中执行任务,在对特定数据执行任务的情况下,可通过将数据存储在主机的存储装置中而非将数据直接存储在可拆卸存储装置中来提高执行所述任务的速度。0043然而,当从主机移除可拆卸存储装置44时,主机不需要再存储数据。因此,当从主机移除可拆卸存储装置44时,虚拟层46删除虚拟存储器49中存储的数据,或将数据清理FLUSH到可拆卸存储装置44中。此外,即使在可拆卸存储装置被插入到主机的情况下,虚拟层46可周期性地删除虚拟存储装置49中存储的数据,。
24、或将数据清理到可拆卸存储装置44中。此外,虚拟层46可将数据存储在虚拟存储器49中,并同时产生用于表示必须同步可拆卸存储装置44与虚拟存储器49的信息。0044具体地讲,在数据是缓存文件例如,互联网临时文件的情况下,可拆卸存储装置44不再需要存储数据。因此,虚拟层46周期性地删除虚拟存储器49中存储的数据,或者在从主机移除可拆卸存储装置44时删除数据。另一方面,在数据与特定程序相关的情况下,可拆卸存储装置44需要存储所述数据。因此,虚拟层46周期性地将虚拟存储器49中存储的数据清理到可拆卸存储装置44中,或者在从主机移除可拆卸存储装置44时,将数据清理到可拆卸存储装置44中。0045另一方面,。
25、作为分析用于输入和输出数据的请求的结果,当将数据存储到虚拟存储器49中所花费的时间等于或大于将数据存储到可拆卸存储装置44中所花费的时间时,说明书CN101960442ACN101960443A5/6页8虚拟层46可通过将数据直接存储在可拆卸存储装置44中来提高输入和输出数据的速度。在这种情况下,将数据存储到虚拟存储器49中花费太多的时间,并且当可拆卸存储装置44从主机断开连接时,虚拟存储器49中存储的数据必须被清理到可拆卸存储装置44中。因此,花费了不必要长的时间。因此,将数据直接存储在可拆卸存储装置44中。0046然而,上述描述仅是示例性实施例。虚拟层46不需要根据输入和输出数据花费的时间。
26、,响应于来自虚拟OS47的用于输入和输出数据的请求来确定是将数据存储在虚拟存储器49中还是可拆卸存储装置44中。0047例如,如果在用于安装特定程序的过程中,大小小于预定值的数据被接连地存储在可拆卸存储装置44中,则由于频繁地访问可拆卸存储装置44,可拆卸存储装置的寿命会降低。因此,在这种情况下,可通过将数据连续地存储在虚拟存储器49中来完成特定程序的安装。此时,在完成了特定程序的安装的情况下,虚拟存储器49中存储的数据被周期性地清理到可拆卸存储装置44中,或在从主机移除可拆卸存储装置44时被清理到可拆卸存储装置44。例如,在通过使用应用程序编辑文档来改变数据的情况下,可直接将数据存储在可拆卸。
27、存储装置44中。0048然而,上述描述仅是示例性实施例。在用户认为数据的安全性是重要的因素的情况下,可将在用于执行任务的过程中产生的所有数据存储在可拆卸存储装置44中。此外,在用户认为任务的性能是重要因素的情况下,可将用于执行任务的过程中产生的数据存储在虚拟存储器49中。因此,用户可确定是将数据存储在虚拟存储器49中,还是存储在可拆卸存储装置44中。0049在可拆卸存储装置44被插入到主机的同时,虚拟层46通过周期性地检查虚拟存储器49来同步虚拟存储器49和可拆卸存储装置44。另一方面,当从主机移除可拆卸存储装置44时,终止虚拟层,并可自动地删除虚拟存储器49。0050图5是示出根据本发明的示。
28、例性实施例的输入和输出数据的方法的流程图。0051参照图5,根据本示例性实施例的输入和输出数据的方法包括图4的用于输入和输出数据的系统中执行的一系列操作。因此,尽管省略了对图4中显示的用于输入和输出数据的系统的上述描述,但用于输入和输出数据的系统的描述还将被应用到根据本示例性实施例的输入和输出数据的方法。0052在操作51,虚拟层46从主机OS42产生用于管理至少一个应用程序45的虚拟OS47。0053在操作52,虚拟层46从主机存储器48产生通过产生的虚拟OS47可访问的虚拟存储器。0054在操作53中,虚拟层46响应于虚拟OS47的用于输入和输出数据的请求,选择性地将数据存储在虚拟存储器4。
29、9中或可拆卸存储装置44中。0055此外,根据本发明的示例性实施例的输入和输出数据的方法还可包括通过使用可拆卸存储装置的唯一信息或包括在可拆卸存储装置中的密匙值来加密虚拟存储器49的过程。因此,无法通过主机OS42访问虚拟存储器49。仅可通过虚拟OS47访问虚拟存储器49。0056此外,根据本发明的示例性实施例的输入和输出数据的方法还可包括在可拆卸存储装置从主机断开连接时,通过使用虚拟层46来删除虚拟存储器49中存储的数据或将说明书CN101960442ACN101960443A6/6页9数据清理到可拆卸存储装置的过程。0057本发明还可被实施为计算机可读记录介质上的计算机可读代码。所述计算机。
30、可读记录介质可以是任何可存储其后可以被计算机系统读取的数据的数据存储装置。所述计算机可读记录介质的示例包括只读存储器ROM、随机存取存储器RAM、CDROM、磁带、软盘、光学数据存储装置。所述计算机可读记录介质也可以被分布在联网的计算机系统上,从而所述计算机可读代码以分布式方式被存储和执行。0058本发明还可被实施为通过载波例如,通过互联网的数据传输发送的计算机可读代码。0059尽管已经参照本发明的示例性实施例具体显示和描述了本发明,但是本领域的普通技术人员应该理解,在不脱离权利要求所限定的本发明的精神和范围的情况下,可以对其进行形式和细节上的各种改变。说明书CN101960442ACN101960443A1/4页10图1图2说明书附图CN101960442ACN101960443A2/4页11图3说明书附图CN101960442ACN101960443A3/4页12图4说明书附图CN101960442ACN101960443A4/4页13图5说明书附图CN101960442A。