电脑装置及其存储器管理方法
【技术领域】
[0001]本发明是有关于一种电子装置及其存储器管理方法,且特别是有关于一种电脑装置及其存储器管理方法。
【背景技术】
[0002]随着信息科技的发展,电脑装置已普遍地使用在人人的生活当中,诸如个人电脑或伺服器等。
[0003]一般而言,电脑装置可包括一主体操作系统(host operating system)以及至少一个虚拟机器(virtual machine)。主体操作系统用以管理电脑装置的实体资源。虚拟机器可分享电脑装置部份的实体资源作为其虚拟资源(例如是虚拟存储器),并通过虚拟操作系统(guest operating system)管理其自身的虚拟资源。通过虚拟机器,可使电脑装置的应用更为弹性。
[0004]然而,如何决定配置与虚拟机器的虚拟资源为一难题。在虚拟资源配置过多的情况下,将排挤电脑装置的其它应用,在虚拟资源配置不足的情况下,又将使虚拟机器的效能降低。
【发明内容】
[0005]有鉴于上述的难题,本案的一态样是在提供一种存储器管理方法。
[0006]根据本案一实施例,该存储器管理方法应用于一电脑装置。该电脑装置包括一存储器元件、一主体操作系统以及一虚拟机器。该存储器管理方法包括:通过该主体操作系统,经由网络分享该存储器元件中的一存储器空间;通过该虚拟机器,经由网络挂载该存储器空间;检测该虚拟机器的一虚拟存储器的一使用量;以及在该虚拟机器的该虚拟存储器的该使用量大于一使用量上限的情况下,设置该存储器空间的一存储区块予该虚拟机器,以增加该虚拟机器的该虚拟存储器的容量。
[0007]本案的另一态样是在提供一种电脑装置。根据本案一实施例,该电脑装置包括一存储器元件、一主体操作系统以及一虚拟机器。该存储器元件包括一存储器空间。该主体操作系统用以经由网络分享该存储器空间。该虚拟机器用以:经由网络挂载该存储器空间;检测该虚拟机器自身的一虚拟存储器的一使用量;以及在该虚拟机器的该虚拟存储器的该使用量大于一使用量上限的情况下,设置该存储器空间的一存储区块予该虚拟机器自身,以增加该虚拟机器自身的该虚拟存储器的容量。
[0008]通过在上述一实施例中,电脑装置即可在虚拟存储器的使用量大于使用量上限的情况下,增加虚拟机器的虚拟存储器的容量。如此一来,可使得电脑装置的资源应用更具弹性。
【附图说明】
[0009]图1为根据本发明一实施例所绘示的一种电脑装置的示意图。 图2为根据本发明一实施例所绘示的一种存储器管理方法的流程图。
【符号说明】
100:电脑装置 110:检测模块 120:存储器元件 130:主体操作系统 140:数据库 152:虚拟存储器 154:虚拟操作系统 200:存储器管理方法 Bl-BX:存储区块 VMl-VMY:虚拟机器 S1-S7:步骤
【具体实施方式】
[0010]以下将以图式及详细叙述清楚说明本揭示内容的精神,任何所属技术领域中具有通常知识者在了解本揭示内容的较佳实施例后,当可由本揭示内容所教示的技术,加以改变及修饰,其并不脱离本揭示内容的精神与范围。
[0011]关于本文中所述的任何实体或虚拟物体的数量,除非特别指明,否则可为一个或多个。
[0012]关于本文中所使用的『包含』、『包括』、『具有』、『含有』等等,均为开放性的用语,即意指包含但不限于。
[0013]关于本文中所使用的用词(terms),除有特别注明外,通常具有每个用词使用在此领域中、在此揭露的内容中与特殊内容中的平常意义。某些用以描述本揭露的用词将于下或在此说明书的别处讨论,以提供本领域技术人员在有关本揭露的描述上额外的引导。
[0014]本发明的一实施态样为一种电脑装置。图1为根据本发明一实施例所绘示的一种电脑装置100的示意图。
[0015]在本实施例中,电脑装置100包括检测模块110、存储器元件120、主体操作系统130 (host operating system)、数据库 140、以及多个虚拟机器 VM1、VM2、...、VMY,其中 Y 为正整数。
[0016]在本实施例中,检测模块110例如是以中央处理器或微处理器等计算装置执行特定程序码所实现。在一实施例中,检测模块I1例如是电脑装置100中的一或多条程序(process)。
[0017]在本实施例中,主体操作系统130是用以管理电脑装置100中的各项硬件资源(例如处理器、存储器等),并用以调度此些硬件资源以处理电脑装置100中的程序(process)。主体操作系统130例如是一 Linux系统,但不以此为限。
[0018]在本实施例中,数据库140例如是由存储器、硬盘、可携式存储媒体等适当存储元件所实现。数据库140举例而言,为可通过网络存取的数据库。
[0019]在本实施例中,虚拟机器VMl、VM2、...、VMY例如是在一超管理器(hypervisor)(未绘示)上建立。虚拟机器VM1、VM2.....VMY通过此一超管理器存取电脑装置100中的各项硬件资源。当注意到,虽然在本实施例中,以Y个虚拟机器VM1、VM2.....VMY为例进行描述,然而虚拟机器的数量可依实际需要进行调整,不以上述实施例为限。
[0020]在本实施例中,每一虚拟机器VM1、VM2.....VMY包括一虚拟存储器152以及一虚拟操作系统154。在本实施例中,虚拟存储器152实质上为电脑装置100中分配给虚拟机器VM1、VM2.....VMY的一部份实体存储器。虚拟操作系统154用以管理虚拟存储器152,
并用以调度虚拟存储器152以令虚拟机器VM1、VM2.....VMY中的程序得以被处理。虚拟操作系统154例如是为Linux系统,但不以此为限。
[0021]每一虚拟机器VM1、VM2.....VMY在建立时皆具有预设容量的虚拟存储器152。在理想状态下,虚拟存储器152的预设容量相应于每一虚拟机器VMl、VM2.....VMY的真实使用情况,以避免因虚拟存储器152的预设容量过大,而排挤电脑装置100的其它应用,或因虚拟存储器152的预设容量过小,而使虚拟机器VMl、VM2.....VMY的效能降低。然而,实际上,虚拟机器VM1、VM2.....VMY的虚拟存储器152的使用量也会随实际应用状态不同有所改变,而不易估测。
[0022]是以,为解决如此问题,在本实施例中,电脑装置100可根据虚拟机器VM1、
VM2.....VMY的虚拟存储器152的当前使用量,以选择性提供额外的实体存储器作为虚拟机器VM1、VM2、...、VMY的虚拟存储器152,以动态增加虚拟机器VM1、VM2、...、VMY的虚拟存储器152的容量。
[0023]在本实施例中,存储器元件120包括一存储器空间P(或称分割区(partit1n))。在一实施例中,建立存储器空间P的方式例如是通过主体操作系统130,在存储器元件120中建立一存储器磁盘(RAM disk),并在此一存储器磁盘中建立分割区,以形成所述的存储器空间P。存储器空间P包括多个存储区块B1、B2.....BX,其中X为正整数。当注意到,
存储区块的数量仅为例示,本案不以此为限。此外,每一存储区块B1、B2.....BX的大小可能彼此相同或不同。
[0024]在本实施例中,主体操作系统130可通过一分享程序,以经由网络分享存储器元件120中的存储器空间P。
[0025]虚拟机器VM1、VM2.....VMY可通过虚拟操作系统154经由网络挂载存储器空间
Po而后,虚拟机器VM1、VM2.....VMY可通过虚拟操作系统154检测自身的虚拟存储器152
的使用量。在虚拟机器VM1、VM2.....VMY中的任一者的虚拟存储器152的使用量大于一使用量上限的情况下,此一虚拟机器可设置存储器空间P的存储区块B1、B2.....BX中的一者至此一虚拟机器自身,以增加此一虚拟机器自身的虚拟存储器152的容量。
[0026]举例而言,在虚拟机器VM1、VM2.....VMY中的任一者的虚拟存储器152的使用量大于一使用量上限的情况下,此一虚拟机器可通过其中的虚拟操作系统154,建立对应于存储区块B1、B2.....BX中的一者的一新增文件,并设定此一新增文件为此一虚拟机器的一存储器置换文件(SWAP file),以令此一存储区块成为此一虚拟机器的存储器置换空间(SWAP space)。如此一来,此一虚拟机器的虚拟存储器152的容量