具有存储器转储功能的信息处理装置和存储器转储方法

文档序号:6504321阅读:198来源:国知局
具有存储器转储功能的信息处理装置和存储器转储方法
【专利摘要】本发明涉及具有存储器转储功能的信息处理装置、存储器转储方法以及存储存储器转储程序的记录介质。根据本发明的信息处理装置包括:存储器;处理单元,其操作虚拟机、在虚拟机上执行的操作系统和控制虚拟机的管理程序;以及控制单元,其控制包括存储器和处理器的系统。处理单元在检测到管理程序的错误时停止操作系统,向控制单元通知管理程序使用的第一存储器区域,停止管理程序,将管理程序使用的存储器区域变更为与控制单元通知的第一存储器区域不同的第二存储器区域,使用第二存储器区域作为可用区域来起动管理程序,起动操作系统,并且读取第一存储器区域中的数据,并且将该数据写入文件,作为管理程序的转储文件。
【专利说明】具有存储器转储功能的信息处理装置和存储器转储方法
【技术领域】
[0001]这里讨论的实施例涉及具有存储器转储功能的信息处理装置、存储器转储方法以及存储存储器转储程序的记录介质。
【背景技术】
[0002]近来,UNIX (注册商标)服务器和IA服务器已被引入到核心系统,并且着重于UNIX(注册商标)服务器和IA服务器的高可用性。通常,当在系统中出现致命错误时,系统紧急停止,并且存储器转储被存储在磁盘上用于搜索错误起因。
[0003]在停止系统的同时,不再使用系统。因此,快速重起系统是极为重要的。
[0004]然而,近年来,已引入了被实现为具有兆兆字节(TB)容量的存储器的服务器。在这种系统中,要耗用长时间来提取存储器转储,并且系统不能快速重起。
[0005]还存在一种在紧急停止时将存储器内容存储在另一存储器单元上而非将存储器转储存储在磁盘上的方法,以及一种存储一部分存储器并且将并非在重起之后存储的存储器内容转化成转储文件的方法。
[0006]然而,在传统方法中,异常条件出现时的存储器转储被存储在另一存储器单元或磁盘上。因此,如果要存储大尺寸的存储器转储,则要耗用长时间来复制存储器,从而使系统不能快速重起。
[0007]当操作系统检测到致命错误并且系统紧急停止时,已检测到异常条件的操作系统提取转储。因此,在对存储器进行转储的同时再次检测到异常条件,从而引起诸如出现挂起等的二次损害。
[0008]专利文献
[0009][专利文献I]日本公开专利公布第11-212836号
[0010][专利文献2]日本公开专利公布第2001-229053号
[0011][专利文献3]日本公开专利公布第2006-72931号
[0012][专利文献4]日本公开专利公布第2005-122334号

【发明内容】

[0013]本发明的一个方面的目的在于当检测到需要重起的异常条件时快速恢复任务并且提取存储器转储用于搜索起因。
[0014]根据本发明的一个方面,一种信息处理装置包括:存储器;处理单元,其通过执行存储器上存储的程序来操作虚拟机、在虚拟机上执行的操作系统、以及控制虚拟机的管理程序;以及控制单元,其控制包括存储器和处理单元的系统。
[0015]当检测到管理程序的错误时,处理单元停止操作系统,并且向控制单元通知管理程序使用的第一存储器区域。
[0016]随后,处理单元停止管理程序,将管理程序使用的存储器区域变更为与控制单元通知的第一存储器区域不同的第二存储器区域,并且使用第二存储器区域作为可用区域来起动管理程序。
[0017]此外,处理单元起动操作系统,恢复在操作系统上操作的应用程序,读取第一存储器区域中的数据,并且将该数据写入文件,作为管理程序的转储文件。
[0018]在本发明的另一方面,根据该实施例的信息处理装置包括存储器和处理单元,该处理单元执行操作系统或者操作虚拟机和在虚拟机上执行的操作系统。
[0019]当检测到正在执行的操作系统中的错误时,处理单元停止在其中已检测到错误的操作系统,并且将停止的操作系统使用的存储器区域变更为与停止的操作系统的内核已使用的第一存储器区域不同的第二存储器区域。
[0020]随后,处理单元使用第二存储器区域作为可用区域来起动停止的操作系统,恢复在操作系统上操作的应用程序,读取第一存储器区域中的数据,并且将该数据写入文件,作为操作系统的转储文件。
【专利附图】

【附图说明】
[0021]图1是根据一个实施例的服务器的硬件配置;
[0022]图2图示了根据一个实施例的服务器和功能之间的对应关系;
[0023]图3是根据一个实施例的物理分区的功能的框图;
[0024]图4是根据一个实施例的固件的配置;
[0025]图5是根据一个实施例的管理程序的配置;
[0026]图6是根据一个实施例的OS的配置;
[0027]图7A是根据第一实施例的存储器转储生成处理的流程图;
[0028]图7B是根据第一实施例的存储器转储生成处理的流程图;
[0029]图7C是根据第一实施例的存储器转储生成处理的变形例的流程图;
[0030]图8是HV转储目标区域信息的示例;
[0031]图9A是根据第二实施例的存储器转储生成处理的流程图;
[0032]图9B是根据第二实施例的存储器转储生成处理的流程图;
[0033]图9C是根据第二实施例的存储器转储生成处理的流程图;
[0034]图10是内核转储目标区域信息的示例;
[0035]图11是转储域中的内核的存储器转储生成处理的流程图;
[0036]图12图示了在转储域中对存储器进行转储;
[0037]图13图示了在转储域中对存储器进行转储时的PA-RA映射信息;
[0038]图14是使用存储器动态重新配置功能的内核的存储器转储生成处理的流程图;
[0039]图15图示了使用存储器动态重新配置功能对存储器进行转储;
[0040]图16图示了使用存储器动态重新配置功能对存储器进行转储时的PA-RA映射信息;
[0041]图17是根据第三实施例的存储器转储生成处理的流程图;
[0042]图18A是根据第四实施例的存储器转储生成处理的流程图;
[0043]图18B是根据第四实施例的存储器转储生成处理的流程图;以及
[0044]图19是正在操作的管理程序的存储器转储生成处理的流程图。【具体实施方式】
[0045]下文参照附图描述了本发明的实施例。
[0046]根据一个实施例的服务器的硬件配置。
[0047]服务器(信息处理装置)10包括系统板11-1 (i=l?3)、服务处理器(SP)21、磁盘单元31和通信接口 41。
[0048]系统板11-1、服务处理器21、磁盘单元31和通信接口 41通过总线51连接。
[0049]系统板11-1包括CPU12-1_k (k=l、2)、非易失性存储器单元14_i和存储器13_i_ko
[0050]服务处理器21是控制服务器10、服务器10中的物理分区等的装置。服务器处理器21包括CPU22和存储器23。服务处理器21是控制单元的示例。
[0051]CPU22执行诸如服务器10、服务器10中的物理分区等的控制的各种处理。
[0052]存储器23临时存储服务处理器21使用的数据。存储器23是例如RAM。
[0053]磁盘单元31包括硬盘驱动器(HDD) 32_i (i=l?3)。
[0054]HDD32存储服务器101使用的数据。HDD32是存储装置的示例。
[0055]通信接口 41是与连接到服务器10的装置通信的接口。
[0056]图2是根据本实施例的服务器和功能之间的对应关系的示例。
[0057]服务器10通过被分成两个物理分区61-k (k=l、2)而进行操作。在说明书中,物理分区61-1和61-2可以被分别表述为物理分区#0和物理分区#1。
[0058]物理分区#0和#1由服务处理器21控制。物理分区#0和#1中包括的CPU是处理单元的示例。
[0059]系统板11-1和11-2配置的物理分区#0被进一步分成物理分区#0中的四个逻辑域#0至#3,以及在每个逻辑域#0至#3中执行的独立的操作系统。此外,管理程序(HV)#0控制物理分区#0中的物理资源和逻辑域#0至#3中的每个之间的对应关系。
[0060]在系统板11-3配置的物理分区#1中,操作系统(OS)在逻辑域#4中执行。此外,管理程序#1控制物理分区#1中的物理资源和逻辑域#4之间的对应关系。
[0061]图3是根据一个实施例的物理分区的功能的框图。
[0062]物理分区61-1包括逻辑域201-m (m=l?4)、固件(FM)311和管理程序(HV)351。
[0063]图3中的物理分区61-1对应于图2中的物理分区61_1。
[0064]逻辑域201-1至201-4分别对应于图2中的逻辑域#0至#3。
[0065]在说明书中,逻辑域201-1可以被表述为控制域#0。
[0066]在说明书中,逻辑域201-4可以被表述为转储提取专用域#3或转储域201_4。
[0067]在以下描述中,除非另外指明,否则逻辑域指的是虚拟机。
[0068]逻辑域201-m包括CPU202-m-k (k=l、2)、存储器203-m和磁盘204-m。在以下描述中,CPU202、存储器203和磁盘204分别是虚拟CPU、虚拟存储器和虚拟磁盘。
[0069]CPU202-m_k执行每个处理。
[0070]存储器203-m存储从磁盘204_m读取的各种程序和数据。
[0071]固件311控制整个服务器10(物理分区61-1和61_2),并且执行例如硬件初始化、存储器诊断、温度监控等。固件311包括在图1中的服务器处理器21上开发的开机自检(POST)和系统板11-1和11-2的非易失性存储器单元14-1和14_2。开机自检(POST)是在系统起动时进行诊断并且初始化硬件资源的程序。
[0072]管理程序351控制逻辑域201-m和在逻辑域201-m上执行的操作系统(OS)401-m。管理程序351是在图1的系统板11-1和11-2的存储器13-1-1、13-1-2、13-2-1和13_2_2上开发的,并且由 CPU12-1-1、12-1-2、12-2-1 和 12-2-2 执行。
[0073]图3中的下部分指示物理分区61-1中的软件。
[0074]0S401-m在物理分区61-1中的逻辑域#0至#3中的每个中执行。
[0075]0S401-1至401-4分别对应于逻辑域201_1至201_4的操作系统。
[0076]图4是根据一个实施例的固件的详细配置。
[0077]固件311包括转储目标区域信息/HV转储标志存储单元312、转储目标区域信息/HV转储标志存储区域313、HV转储标志设定单元314、存储器初始化单元315、HV可用区域变更单元316、HV重起指令单元317、转储目标区域信息/HV转储标志通知单元318、PA-RA映射通知单元319、存储器释放单元320和HV转储标志重设单元321。
[0078]转储目标区域信息/HV转储标志存储单元312将转储目标区域信息和HV转储标志存储在转储目标区域信息/HV转储标志存储区域313中。
[0079]转储目标区域信息/HV转储标志存储区域313存储目标区域信息和HV转储标志。转储目标区域信息指示转储目标区域,并且包括关于转储目标区域的开始地址(PA基)和尺寸的信息。HV转储标志是指示是否将生成管理程序使用的存储器区域的转储文件的控制信息。HV转储标志可以包括指示是否将提取正在操作的管理程序的存储器转储的信息(HV实况转储标志)。
[0080]HV转储标志设定单元314设定HV转储标志的值。例如,当HV转储被提取时,HV转储标志设定单元314将HV转储标志`设定为真(TRUE)。
[0081]存储器初始化单元315对存储器进行初始化。
[0082]HV可用区域变更单元316变更管理程序351使用的存储器的区域。
[0083]HV重起指令单元317指令管理程序351执行重起。
[0084]转储目标区域信息/HV转储标志通知单元318报告转储目标区域信息和HV转储
O
[0085]PA-RA映射通知单元319向管理程序351通知处理OS时所需的PA-RA映射,并且管理程序351的PA-RA映射单元368使用所通知的PA-RA映射将物理地址(PA)转换成真实地址(RA),或者将真实地址(RA)转换成物理地址(PA)。
[0086]存储器释放单元320执行存储器释放处理。
[0087]HV转储标志重设单元321重设HV转储标志。详细地,HV转储标志重设单元321将HV转储标志设定为假(FALSE)。
[0088]图5是根据实施例的管理程序的详细配置。
[0089]管理程序351包括域紧急停止指示单元352、OS错误指示单元353、HV转储目标区域通知单元354、HV转储目标区域信息/HV转储标志存储单元355、HV转储目标区域信息/HV转储标志存储区域356、HV重起单元357、OS重起指令单元358、HV存储器转储标志读取和传送单元359、HV转储目标区域读取单元360、存储器管理单元361、存储器释放单元362、HV转储标志重设单元363、HV转储标志通知单元364、转储专用域起动单元365、内核转储目标区域信息/内核转储标志存储单元366、内核转储目标区域信息/内核转储标志存储区域367、PA-RA映射单元368、PA-RA映射信息存储区域369、中断单元370、存储器转储处理起动单元371、存储器初始化单元372和内核转储标志重设单元373。
[0090]域紧急停止指示单元352指示域201执行紧急停止。
[0091]OS错误指示单元353指示0S401执行紧急停止(错误)。
[0092]HV转储目标区域通知单元354从HV转储目标区域信息/HV转储标志存储区域356读取HV转储目标区域信息并且传送该信息。
[0093]HV转储目标区域信息/HV转储标志存储单元355将HV转储目标区域信息和HV转储标志存储在HV转储目标区域信息/HV转储标志存储区域356中。
[0094]HV转储目标区域信息/HV转储标志存储区域356存储HV转储目标区域信息和HV转储标志。HV转储目标区域信息指示管理程序351使用的存储器区域(HV转储目标区域),并且包括关于该存储器区域的开始地址(PA基)和尺寸的信息。HV转储标志是关于是否将生成管理程序使用的存储器区域的转储文件的控制信息。
[0095]HV重起单元357停止管理程序351,并且重起管理程序351。
[0096]OS重起指令单元358指示0S401执行重起。
[0097]HV存储器转储标志读取和传送单元359读取并且传送HV转储标志。
[0098]HV转储目标区域读取单元360读取并且传送HV转储目标区域信息指示的存储器区域的内容。此外,HV转储目标区域读取单元360读取并且传送当前管理程序351使用的存储器区域的内容。
[0099]存储器管理单元361管理存储器。
[0100]存储器释放单元362执行存储器释放处理。
[0101]HV转储标志重设单元363设定HV转储标志。详细地,HV转储标志重设单元363例如将HV转储标志设定为假。
[0102]HV转储标志通知单元364报告HV转储标志。
[0103]转储专用域起动单元365在固件模式下起动转储专用域。固件模式是不起动OS的模式,即在起动OS之前中止系统的模式。
[0104]内核转储目标区域信息/内核转储标志存储单元366将内核转储目标区域信息和内核转储标志存储在内核转储目标区域信息/内核转储标志存储区域367中。
[0105]内核转储目标区域信息/内核转储标志存储区域367存储内核转储目标区域信息和内核转储标志。内核转储目标区域信息指示出现错误时0S401的内核使用的存储器区域(内核转储目标区域),并且包括该存储器区域的开始地址(RA基)和尺寸。内核转储标志指示是否提取0S401的内核的存储器转储。此外,内核转储标志还可以指示将在哪种模式下提取内核的存储器转储。内核转储标志例如将O指示为不转储内核的存储器,将I指示为在转储域中对存储器进行转储,或者将2指示为使用存储器动态重新配置功能来对存储器进行转储。内核转储标志可以接收自0S401,或者管理程序351可以预先设定并保持标志。
[0106]PA-RA映射单元368执行物理地址(PA)和真实地址(RA)之间的映射。PA是存储器的物理地址,并且RA是域(操作系统)上的真实地址。
[0107]PA-RA映射信息存储区域369存储关于PA和RA之间的映射的信息。
[0108]当提取0S401的内核的存储器转储时,中断单元370允许0S401执行中断处理。当中断处理被接受时,判断可以提取0S401的内核的存储器转储,并且执行0S401的内核的存储器转储处理。如果中断处理未被接受,则判断不执行处理,从而终止处理而不执行0S401的内核的存储器转储处理。
[0109]存储器转储处理起动单元371允许逻辑域201-1开始管理程序351的存储器转储处理。
[0110]存储器初始化单元372对存储器进行初始化。
[0111]内核转储标志重设单元373重设内核转储标志。例如,内核转储标志重设单元373删除内核转储标志或者设定为O以不提取内核的存储器转储。
[0112]图6是根据一个实施例的OS的详细配置。
[0113]0S401-m包括存储器管理单元402_m、文件管理单元403_m、进程管理单元404_m、中断单元405-m、映射信息提取和存储单元406-m、映射信息存储区域407_m、HV存储器转储判断单元408-m、0S起动单元409-m、HV转储目标区域读取单元的呼叫单元410-m、内核转储目标存储器读取单元41 l-m、HV转储单元412-m、内核转储单元413-m、错误处置单元414-m、内核转储目标区域通知单元415-m、存储器DR附接单元416_m、存储器DR拆除单元417_m、空白存储器添加单元418-m、转储专用域停止单元419-m、内核转储标志重设单元420_m和内核转储标志通知单元421-m。
[0114]存储器管理单元402-m分配0S401_m使用的存储器203_m。
[0115]文件管理单元403-m管理作为磁盘中存储的数据的文件。
[0116]进程管理单元404-m管理0S401_m执行的程序的进程。
[0117]中断单元405-m执行中断处理。
[0118]映射信息提取和存储单元406-m将获得和分析存储器203_m的转储所需的信息存储在映射信息存储区域407-m中。
[0119]映射信息存储区域407-m存储获得和分析存储器203_m的转储所需的信息。映射信息存储区域407-m中存储的信息是关于诸如内核的文本区域、数据区域、堆区域、堆栈区域等的每个段的映射信息(逻辑地址、物理地址、尺寸等),以及关于诸如地址转换表格、页表格等的每种类型的控制表格的映射信息。
[0120]HV存储器转储判断单元408-m判断HV转储标志是真还是假,以及是否将提取管理程序的存储器转储。
[0121]OS 起动单元 409-m 重起 0S401-m。
[0122]HV转储目标区域读取单元的呼叫单元410-m呼叫HV转储目标区域读取单元360。
[0123]内核转储目标存储器读取单元411-m读取内核转储目标区域(当出现错误时0S401-m的内核使用的存储器区域)的存储器的内容。
[0124]HV转储单元412-m从HV转储目标区域读取单元360接收HV转储目标区域读取单元360读取的存储器内容,并且生成转储文件。
[0125]内核转储单元413-m将读取的内核转储目标区域的存储器内容存储在文件中(生成转储文件)。
[0126]错误处置单元414-m执行域201_m的紧急停止(错误)。
[0127]当出现错误时,内核转储目标区域通知单元415-m向管理程序351通知0S401_m使用的存储器区域。
[0128]存储器DR附接单元416-m将存储器区域附接到域201_m。[0129]存储器DR拆除单元417-m从域201_m拆除存储器区域。
[0130]空白存储器添加单元418-m向存储器管理单元402-m通知转储的存储器区域。
[0131]转储专用域停止单元419-m在对存储器进行转储之后停止被提取转储的域(转储专用域)。
[0132]内核转储标志重设单元420-m指令管理程序351重设内核转储标志。
[0133]内核转储标志通知单元421-m向管理程序351通知内核转储标志。当有必要提取内核的存储器转储时,内核转储标志通知单元421-m向管理程序351通知内核转储标志。例如,当不提取内核的存储器转储时,内核转储标志通知单元421-m为内核转储标志的值设定“0,其指示不提取内核的存储器转储”,当在转储域中提取内核的存储器转储时,内核转储标志通知单元421-m为内核转储标志的值设定“1,其指示在转储域中提取转储”,并且当使用存储器动态重新配置功能提取内核的存储器转储时,内核转储标志通知单元421-m为内核转储标志的值设定“2,其指示使用存储器动态重新配置功能提取转储”。
[0134](第一实施例)
[0135]根据第一实施例,使用控制域提取管理程序的存储器转储。
[0136]图7A和7B是根据第一实施例的存储器转储生成处理的流程图。
[0137]假设在初始状态下,域201-1至201-3以及0S401-1至401_3已起动并且进入操作状态,并且域201-4和0S401-4未起动。
[0138]在步骤S501中,管理程序351检测到致命错误。
[0139]在步骤S502中,域紧急通知指示单元352指令处于操作状态的逻辑域,即控制域201-1以及域201-2和201-3执行紧急停止。
[0140]在步骤S503中,0S401_i (i=l?3)接收紧急停止指令,并且执行0S401_i的紧
急停止。
[0141]在步骤S504中,HV转储目标区域通知单元354从HV转储目标区域信息/HV转储标志存储区域356读取HV转储目标区域信息,并且向固件311通知该信息。HV转储目标区域信息指示管理程序351使用的存储器区域(转储目标区域),并且包括关于该存储器区域的开始地址(PA基)和尺寸的信息。HV转储目标区域信息具有图8中所示的格式,并且指示块编号、块的物理存储器的开始地址(PA基)、以及块的尺寸。HV重起单元357停止管理程序351 (HV中止)。
[0142]在步骤S506中,转储目标区域信息/HV转储标志存储单元312接收HV转储目标区域信息。
[0143]在步骤S507中,转储目标区域信息/HV转储标志存储单元312将接收到的HV转储目标区域信息作为转储目标区域信息存储在转储目标区域信息/HV转储标志存储区域313中。HV转储标志设定单元314将HV转储标志设定为真,并且将其存储在转储目标区域信息/HV转储标志存储区域313中。
[0144]在步骤S508中,在保持存储器的内容的同时固件311开始物理分区的重起处理。
[0145]在步骤S509中,存储器初始化单元315开始对存储器进行初始化。首先,例如,存储器的前端地址被设定为待初始化的区域。
[0146]在步骤S510中,存储器初始化单元315引用转储目标区域信息,并且判断待初始化的区域是否是转储目标区域信息指明的区域,即转储目标区域。如果待初始化的区域是转储目标区域,则在保持待初始化的区域的内容的同时,控制去往步骤S512。如果不是转储目标区域,则控制去往步骤S511。
[0147]在步骤S511中,存储器初始化单元315对待初始化的区域进行初始化。
[0148]在步骤S512中,存储器初始化单元315判断是否已对转储目标区域以外的所有区域执行了初始化处理。如果已对转储目标区域以外的所有区域执行了初始化处理,则控制去往步骤S513。如果没有对转储目标区域以外的所有区域执行了初始化处理,则将未处理的区域(例如,进行了是否是转储目标区域的检查的区域之后的区域的地址)定义为待初始化的区域,并且控制返回到步骤S510。
[0149]在步骤S513中,HV可用区域变更单元316将管理程序351使用的区域变更为转储目标区域信息指示的区域以外的区域。对于待初始化的区域,已变更的并且将被管理程序351使用的区域至少可以被定义为待初始化的区域。
[0150]在步骤S514中,HV重起指令单元317指令管理程序351进行重起。转储目标区域信息/HV转储标志通知单元318从转储目标区域信息/HV转储标志存储区域313读取转储目标区域信息和HV转储标志,并且将其通知给管理程序351。
[0151]在步骤S515中,HV转储目标区域信息/HV转储标志存储单元355接收转储目标区域信息和HV转储标志,并且将它们存储在HV转储目标区域信息/HV转储标志存储区域356中。HV转储目标区域信息/HV转储标志存储单元355存储接收到的转储目标区域信息作为HV转储目标区域信息。
[0152]在步骤S516中,HV重起单元357重起管理程序351。然而,不使用HV转储目标区域信息指明的存储器区域。
[0153]在步骤S517中,OS重起指令单元358指令0S401-1至401_3进行重起。
[0154]在步骤S518中,OS重起单元409-2和409-3分别重起0S401-2和401-3。
[0155]在步骤S519中,0S401-2和401-3重起任务。
[0156]在步骤S520中,0S401-2和401-3进入正常操作状态。
[0157]在步骤S521中,OS重起单元409-1重起0S401-1。
[0158]在步骤S522中,0S401-1恢复任务。
[0159]在步骤S523中,HV存储器转储判断单元408_1请求管理程序351传送HV转储标志。
[0160]在步骤S524中,在接收到请求时,HV存储器转储标志读取和传送单元359从HV转储目标区域信息/HV转储标志存储区域356读取HV转储标志,并且将其传送给0S401-1。
[0161]在步骤S525中,HV存储器转储判断单元408_1接收HV转储标志,并且判断HV转储标志是否为真。如果HV转储标志为真,则控制去往步骤S527。如果其为假,则控制去往步骤S531。
[0162]在步骤S526中,HV转储目标区域读取单元的呼叫单元410-1呼叫HV转储目标区域读取单元360。
[0163]在步骤S527中,HV转储目标区域读取单元360读取HV转储目标区域信息指示的存储器区域的内容,并且将其传送给控制域。
[0164]在步骤S528中,HV转储单元412-1从HV转储目标区域读取单元360接收HV转储目标区域读取单元360读取的存储器内容,将接收到的存储器内容写入到文件,并且生成转储文件。随后,并行执行步骤S529、S530和S531中的处理。
[0165]在步骤S529中,存储器释放单元362释放HV转储目标区域信息指明的存储器区域。此外,HV转储标志重设单元363重设HV转储标志,即将其设定为假。HV转储标志通知单元364向固件311通知HV转储标志。
[0166]在步骤S530中,存储器释放单元320清除转储目标区域信息。此外,HV转储标志重设单元321重设HV转储标志,即将其设定为假。
[0167]在步骤S531中,0S401-1进入正常操作状态。
[0168]在根据第一实施例的存储器转储生成处理中,当检测到错误并且重起管理程序和操作系统时,不执行针对另一存储器单元等的复制处理,尽管存储器转储具有大尺寸,从而使得管理程序和操作系统能够快速重起。因此,可以在较短的时间中停止任务。
[0169]下文描述了根据第一实施例的存储器转储生成处理的变形例。
[0170]在该变形例中,提取正在操作的管理程序的存储器转储(被称为管理程序的实况转储)。
[0171]图7C是根据第一实施例的存储器转储生成处理的变形例的流程图。
[0172]在该变形例的流程图中,步骤S532和S533被添加到图7A和7B中的根据第一实施例的存储器转储生成处理的流程图,并且当在步骤S525中判断为否时,控制去往步骤S532。
[0173]在图7C中,加入了对图7A和7B的改变,并且省略了其他相同的部分。
[0174]在该变形例中,可以进行改变使得例如HV转储标志的数据结构被设定为:0,其指示不执行提取;1,其指示异常条件下的HV转储;2,其指示HV实况转储;等等。当HV转储标志为I时,HV存储器转储判断单元408-1判断HV转储标志为真,并且当HV转储标志为O或2时,HV存储器转储判断单元408-1判断HV转储标志为假。此外,当HV转储标志为2时,HV存储器转储判断单元408-1判断HV实况转储标志为真
[0175]在步骤S532中,HV存储器转储判断单元408-1判断HV实况转储标志是否为真。如果HV实况转储标志为真(即当HV转储标志为2时),控制去往步骤S533。如果为假,则控制去往步骤S531。
[0176]在步骤S533中,执行HV实况转储处理。详细地,HV转储目标区域读取单元的呼叫单元410-1呼叫HV转储目标区域读取单元360。HV转储目标区域读取单元360读取正在操作的管理程序351使用的存储器区域的内容,并且将这些内容传送到控制域。HV转储单元412-1接收HV转储目标区域读取单元360读取的存储器内容,并且将接收到的存储器内容写入到文件,从而生成管理程序的转储文件。
[0177]如上文所述,当提取正在操作的管理程序的存储器转储时,读取管理程序使用的存储器区域的数据而不停止或重起管理程序,并且将读取的数据写入到文件,作为管理程序的转储文件。
[0178](第二实施例)
[0179]在第二实施例中,除了管理程序的存储器转储之外,提取OS的内核的存储器转储。
[0180]图9A、9B和9C是根据第二实施例的存储器转储生成处理的流程图。
[0181]在初始状态下,假设域201-1至201-3和0S401-1至401_3起动并且进入操作状态,并且域201-4和0S401-4未起动。
[0182]在步骤S601中,在管理程序351中出现致命错误。
[0183]在步骤S602中,管理程序351检测到致命错误。
[0184]在步骤S603中,中断单元370向处于操作状态的OS,即0S401_i (i=l?3)通知中断处理,并且OS错误指示单元353指令0S401-1执行错误处置。
[0185]在步骤S604中,错误处置单元414-1接收错误指令,并且处置0S401_i的错误。
[0186]在步骤S605中,内核转储目标区域通知单元415-1向管理程序351通知内核转储目标区域信息。内核转储目标区域信息指示0S401-1的内核使用的存储器区域(转储目标区域),并且包括关于该存储器区域的开始地址(RA基)和尺寸的信息。内核转储目标区域信息具有图10中所示的格式。并且与块编号、块的存储器的开始地址(RA基)和块尺寸相关联。
[0187]针对已接收到错误指示的每个逻辑域执行步骤S604和S605。
[0188]在步骤S606中,PA-RA映射单元368执行PA-RA转换,用于将通知的开始地址(RA基)从RA基转换成PA基的开始地址(PA基)。
[0189]在步骤S607中,HV转储目标区域通知单元354向固件311通知指示管理程序351使用的存储器区域的HV转储目标区域信息。此外,HV转储目标区域通知单元354向固件311通知接收自0S401-1的内核转储目标区域信息。通知的内核转储目标区域信息包括从RA基转换到PA基的开始地址(PA基)以及尺寸。在本实施例中,通知与停止的逻辑域对应的三条内核转储目标区域信息。
[0190]在步骤S608中,转储目标区域信息/HV转储标志存储单元312将接收到的HV转储目标区域信息和接收到的内核转储目标区域信息作为转储目标区域信息存储在转储目标区域信息/HV转储标志存储区域313中。此外,HV转储标志设定单元314将HV转储标志设定为真,并且将其存储在转储目标区域信息/HV转储标志存储区域313中。
[0191]在步骤S609中,HV重起单元357停止管理程序351 (HV中止)。
[0192]在步骤S610中,存储器初始化单元315对转储目标区域信息指示的区域以外的存储器区域进行初始化。就是说,存储器初始化单元315对错误时0S401-1的内核使用的区域和管理程序351使用的区域以外的存储器区域进行初始化。
[0193]在步骤S611中,HV可用区域变更单元316将管理程序351使用的区域变更为转储目标区域信息指示的区域以外的区域。HV重起指令单元317指示管理程序351进行重起。转储目标区域信息/HV转储标志通知单元318从转储目标区域信息/HV转储标志存储区域313读取转储目标区域信息和HV转储标志,并且将它们通知给管理程序351。转储目标区域信息包括HV转储目标区域信息和内核转储目标区域信息。HV转储目标区域信息/HV转储标志存储单元355接收转储目标区域信息中的HV转储目标区域信息和HV转储标志,并且将它们存储在HV转储目标区域信息/HV转储标志存储区域356中。内核转储目标区域信息/内核转储标志存储单元366接收转储目标区域信息中的内核转储目标区域信息,并且将其存储在内核转储目标区域信息/内核转储标志存储区域367中。
[0194]在步骤S612中,HV重起单元357起动管理程序351。
[0195]在步骤S613中,存储器初始化单元372对内核转储目标区域信息指示的区域以外的存储器区域进行初始化。[0196]在步骤S614中,PA-RA映射单元368、OS重起指令单元358和转储专用域起动单元365检查内核转储标志的值。执行与内核转储标志的值对应的处理。例如,当内核转储标志是“1,其指示在转储域中提取转储”时,PA-RA映射单元368将错误时的0S401-1至401-3的内核使用的存储器的PA分配给转储域204-4的RA。
[0197]并行地分离地执行步骤S621、S622至S626以及S632至S635中的处理。
[0198]然而,当内核转储标志是“1,其指示在转储域中提取转储”时,不执行步骤S626和S635。当内核转储标志是“2,其指示使用存储器动态重新配置功能提取转储“时,不执行步骤 S621。
[0199]在该示例中,步骤S621是与转储域204-4相关的处理,步骤S622至S626是与控制域204-1相关的处理,并且步骤S632至S635是与逻辑域204-2和204-3相关的处理。
[0200]在步骤S621中,在转储域中执行内核的存储器转储生成处理。下面描述了转储域中的内核的存储器转储生成处理的细节。
[0201]在步骤S622中,PA-RA映射单元368如下面I)和2)中描述的那样改变域201-1的物理地址(PA)和真实地址(RA)之间的映射。因此,错误时的内核使用的存储器区域的数据以及错误时的管理程序351使用的存储器区域的数据未被覆写,尽管0S401-1被重起。
[0202]I)错误出现时内核和管理程序使用的存储器的物理地址不会被分配给待重起的域的真实地址,以及
[0203]2)域中可用的存储器尺寸的改变在重起之前和之后将被抑制。
[0204]然而,当可分配给待重起的域的物理存储器小于特定值时,上面的I)是优先的。
[0205]参照HV转储目标区域信息和内核转储目标区域信息来判断错误出现时内核和管理程序351使用哪个区域。
[0206]在步骤S623中,OS重起指令单元358指示0S401-1进行重起。当内核转储标志是“2,其指示使用存储器动态重新配置功能提取转储“时,OS重起指令单元358包括使用重起指示中的存储器DR功能的内核的存储器转储生成处理。在接收到该指示时,OS起动单元 409-1 起动 0S401-1。
[0207]在步骤S624中,0S401-1恢复任务。
[0208]在步骤S625中,使用存储器动态重新配置(DR)功能来执行内核的存储器转储生成处理。下面描述了使用存储器DR功能的内核的存储器转储生成处理的细节。在步骤S626中,执行管理程序的存储器转储生成处理。这里省略了步骤S626的说明,因为其与图7B中的步骤S523至S531中的处理的说明相似。
[0209]在步骤S632中,PA-RA映射单元368如下面I)和2)中描述的那样改变域201_2和201-3的物理地址(PA)和真实地址(RA)之间的映射。因此,错误时的内核使用的存储器区域的数据以及错误时的管理程序351使用的存储器区域的数据未被覆写,尽管0S401-1
被重起。
[0210]I)错误出现时内核和管理程序使用的存储器的物理地址不会被分配给待重起的域的真实地址,以及
[0211]2)域中可用的存储器尺寸的改变在重起之前和之后将被抑制。
[0212]然而,当可分配给待重起的域的物理存储器小于特定值时,上面的I)是优先的。
[0213]参照HV转储目标区域信息和内核转储目标区域信息来判断错误出现时内核和管理程序351使用哪个区域。
[0214]在步骤S633中,OS重起指令单元358指示0S401-2和401_3进行重起。当内核转储标志是“2,其指示使用存储器动态重新配置功能提取转储“时,OS重起指令单元358包括使用重起指示中的存储器DR功能的内核的存储器转储生成处理。在接收到该指示时,OS起动单元409-2和409-3分别起动0S401-2和401-3。
[0215]在步骤S634中,0S401-2和401-3恢复各自的任务。
[0216]在步骤S635中,使用存储器DR功能执行内核的存储器转储生成处理。
[0217]下面描述了内核的存储器转储生成处理的细节。
[0218]内核的存储器转储生成处理可以是(I)在转储域中对存储器进行转储的方法(步骤S621)或者(2)使用存储器动态重新配置功能对存储器进行转储的方法(步骤S626和S635)。
[0219]( I)在转储域中对存储器进行转储的方法
[0220]在包括多个域201的系统中并非针对每个逻辑域提供转储域201-4。就是说,在一个系统上可以使用一个转储域201-4。当存在一个转储域201-4时,当在多个逻辑域201中同时出现错误时针对每个域提取存储器转储。然而,由于任务可以被快速恢复而与转储提取的完成无关,因此对任务没有影响。
[0221]由于已出现错误的逻辑域中的任务不会在转储域201-4中被继承,因此仅请求如下硬件资源用于提取存储器转储。
[0222].出现错误的逻辑域的OS的内核在错误时使用的物理存储器区域
[0223].一个或更多个CPU
[0224].存储转储文件的磁盘和使用该磁盘所请求的I/O资源。
[0225]图11是转储域中的内核的存储器转储生成处理的流程图。
[0226]图11对应于图9B中的步骤S621。
[0227]下文描述了 0S401_i的内核的存储器转储生成处理。
[0228]在步骤S651中,转储专用域起动单元365在固件模式下起动转储域201-4。固件模式不起动OS,即在起动OS之前停止。通过不起动OS,防止转储目标区域被覆写。
[0229]在步骤S652中,内核转储目标存储器读取单元411_4读取错误出现时的操作系统
401-1的内核使用的存储器区域(内核转储目标区域)。通过来自固件311或管理程序351的通知来获得关于内核转储目标区域的信息(开始地址(RA基)、尺寸等)。
[0230]在步骤S653中,内核转储单元413-4将读取的存储器内容写入到文件,从而生成转储文件。
[0231]在步骤S654中,转储专用域停止单元419-4停止转储域201-4。随后,转储专用域停止单元419-4通知管理程序351的存储器管理单元361,使得内核转储目标区域可以是可用的并且未被使用的存储器,即空白存储器。内核转储标志重设单元420-4指示管理程序351重设内核转储标志。在接收到重设指示时,内核转储标志重设单元373重设内核转储标志。
[0232]在步骤S655中,存储器管理单元361将内核转储目标区域设定为从另一逻辑域201-1可用的空白存储器。
[0233]图12图示了在转储域中对存储器进行转储。[0234]图12的左部分、中间部分和右部分分别图示了操作状态(和错误状态)、重起后的状态以及转储域中的存储器转储的提取。
[0235]描述了逻辑域201-1中的处理。由于在域201-2和201_3中执行相似的处理,因此省略了细节。
[0236]在图12中的左部分处图示的操作状态下,RA的区域映射在逻辑域201-1的RA的区域。
[0237]在0S401-1错误时0S401-1的内核使用的区域是内核转储目标区域。
[0238]在0S401-1的错误之后,PA-RA映射改变(步骤S622),并且逻辑域201_1被分配与错误时的0S401-1的内核使用的区域(内核转储目标区域)不同的PA的区域,并且0S401-1重起(图12的中间)。
[0239]在图12的右侧图示的转储,转储域201-4的RA被分配0S401-1的内核使用的PA的区域(内核转储目标区域)。转储域201-4读取内核转储目标区域,并且生成转储文件。
[0240]图13图示了在转储域中对存储器进行转储时的PA-RA映射信息。
[0241]图13中的左部分、中间部分和右部分分别图示了操作状态(和错误状态)、转储操作和转储之后的状态。
[0242]下文描述了域201-1 (控制域#0)和转储域201-4(转储提取专用域#3)中的PA-RA映射。
[0243]PA-RA映射信息被描述为关联域、开始地址(PA基)、尺寸和开始地址(RA基)。
[0244]在图13的左侧的错误,具有开始地址(PA基)xxxxx和8GB的尺寸的区域被映射在具有控制域#0的开始地址(PA基)aaaaa的区域(对应于图12的左部分)。该区域是内核转储目标区域。
[0245]在0S401-1的错误之后,PA-RA映射改变(步骤S622),并且PA-RA映射信息在图13的中间表述。
[0246]在图13中的中间图示的转储,具有开始地址(PA基)xxxxx和8GB的尺寸的区域被映射在具有转储提取专用域#3的开始地址(RA基)aaaaa的区域。就是说,错误时的控制域#0的PA的区域被映射在转储提取专用域#3的RA。此外,具有开始地址(PA基)yyyyy和8GB的尺寸的区域被映射在具有控制域#0的开始地址(PA基)aaaaa的区域。就是说,在重起之后新的PA的区域被分配给控制域#0 (对应于图12中的右侧)。
[0247]在生成转储文件之后,内核转储目标区域变为从另一域可用的空白存储器(步骤S655)。
[0248]就是说,在图13中的右侧的转储之后,删除转储提取专用域#3中的映射信息。
[0249]在转储提取专用域中对存储器进行转储的方法中,在另一域中而非在检测到异常条件的域中提取转储。因此,在转储处理进行期间检测到异常条件之后的诸如挂起的二次损害的可能性低。
[0250]在转储域中对存储器进行转储的方法中,易于实现对在系统中对存储器进行转储时使用的硬件资源的费用的抑制,从而实现适当的费用,在该系统中根据用户使用的硬件资源(CPU、存储器、磁盘等)的数量和时间,诸如按需扩容(CoD)等,来征收费用。
[0251](2)使用存储器动态重新配置功能对存储器进行转储的方法
[0252]下文描述了逻辑域201-1中的处理(步骤S625)。由于在逻辑域201_2和201_3中的处理(在步骤S635中)相似,因此这里省略了详细描述。
[0253]图14是使用存储器动态重新配置功能的内核的存储器转储生成处理的流程图。
[0254]图14对应于图9C中的步骤S625。
[0255]在步骤S641中,存储器DR附接单元416_1将错误出现时的0S401-1的内核使用的存储器区域(内核转储目标区域)附接到使用存储器的动态重新配置功能的域201-1。通过固件311或管理程序351的通知来获得关于内核转储目标区域的信息(开始地址(RA基)、尺寸等)。
[0256]在步骤S642中,内核转储目标存储器读取单元411_1读取附接的存储器区域。
[0257]在步骤S643中,内核转储单元413_1将读取的存储器内容写入到文件,从而生成转储文件。
[0258]在步骤S644中,存储器DR拆除单元317_1使用存储器动态重新配置功能从域201-1拆除0S401-1的内核使用的存储器区域,并且通知存储器管理单元361,使得拆除的区域可以是空白存储器。此外,内核转储标志重设单元420-1指示管理程序351重设内核转储标志。在接收到重设指示时,内核转储标志重设单元373重设内核转储标志。
[0259]在步骤S645中,存储器管理单元361将拆除的区域设定为从其他域201_1和201-3可用的空白存储器。
[0260]此外,不同于步骤S644和S645,空白存储器添加单元418_1通知存储器管理单元
402-1,使得0S401-1的内核已使用的存储器区域(即,转储的区域)用作未使用的可用存储器,即空白存储器,并且存储器管理单元402-1可以执行使用转储的区域作为空白存储器的处理。
[0261]图15图示了使用存储器动态重新配置功能对存储器进行转储。
[0262]图15的左部分、中间部分和右部分分别图示了操作状态(和错误状态)、重起之后的状态以及转储域中的存储器转储的提取。
[0263]描述了域201-1中的处理。由于在域201-2和201_3中执行相似的处理,因此省略了细节。
[0264]在图15中的左部分处图示的操作状态下,RA的区域映射在逻辑域201-1的RA的区域。
[0265]在0S401-1错误时0S401-1的内核使用的区域是内核转储目标区域。
[0266]在0S401-1的错误之后,PA-RA映射改变(步骤S622),并且逻辑域201_1的RA被分配与错误时的0S401-1的内核使用的区域(内核转储目标区域)不同的PA的区域,并且0S401-1重起(图15的中间)。
[0267]在图15的右侧图示的重起之后的转储,错误时的0S401-1的内核使用的区域(内核转储目标区域)被附接到域201-1的RA。域201-1读取内核转储目标区域,并且生成转储文件。
[0268]图16图示了使用存储器动态重新配置功能对存储器进行转储时的PA-RA映射信
肩、O
[0269]图16中的左部分、中间部分和右部分分别图示了操作状态(和错误状态)、转储操作和转储之后的状态。
[0270]下文描述了域201-1 (控制域#0)中的PA-RA映射。[0271]PA-RA映射信息被描述为关联域、开始地址(PA基)、尺寸和开始地址(RA基)。
[0272]在图16中的左侧的错误,具有开始地址(PA基)xxxxx和8GB的尺寸的区域被映射在具有控制域#0的开始地址(RA基)aaaaa的区域(对应于图15的左部分)。该区域是内核转储目标区域。
[0273]在0S401-1的错误之后,PA-RA映射改变,内核转储目标区域附接到控制域#0,并且PA-RA映射信息在图16的中间表述。
[0274]在图16中的中间图示的转储,具有开始地址(PA基)yyyyy和8GB的尺寸的区域被映射在具有控制域#0的RA的开始地址(RA基)aaaaa的区域。此外,具有开始地址(PA基)xxxxx和8GB的尺寸的区域被映射在具有控制域#0的开始地址(RA基)bbbbb的区域。
[0275]就是说,在重起之后新的PA的区域被分配给控制域#0,并且在控制域#0的重起之后,内核转储目标区域被附接到控制域#0 (对应于图15中的右侧)。
[0276]在生成转储文件之后,内核转储目标区域变为从另一域可用的空白存储器(步骤S645)。
[0277]就是说,在图16中的右侧的转储之后,删除内核转储目标区域中的映射信息。
[0278]在使用存储器动态重新配置功能对存储器进行转储的方法中,由于由重起之后的新的操作系统,而非已检测到异常条件的操作系统来提取转储,因此在转储处理期间在再次检测到异常条件之后出现诸如挂起的二次损害的可能性低。
[0279]在根据第二实施例的存储器转储生成处理中,当检测到错误并且管理程序和操作系统重起时,在另一存储器单元等中不执行复制处理,尽管存储器转储是大的,从而使得能够进行选择并且快速地重起操作系统。因此,任务停止时间可以较短。
[0280]在根据第二实施例的存储器转储生成处理中,通过对管理程序和内核的存储器进行转储,可以有效地分析管理程序和域两者引起的错误。
[0281](第三实施例)
[0282]在第三实施例中,在操作系统中检测到错误,并且提取内核的存储器转储。
[0283]下文描述了生成0S401-1的内核的存储器转储的情况。
[0284]图17是根据第三实施例的存储器转储生成处理的流程图。
[0285]首先,存储器管理单元402-1从0S401-1起动时的存储器203-1中的最小(或最大)的真实地址(RA)开始分配内核使用的存储器。因此,使内核使用的存储器区域(转储目标区域)尽可能最小。此外,映射信息提取和存储单元406-1将提取/分析内核使用的存储器的转储所需的信息(例如,关于诸如内核的文本区域、数据区域、堆区域、堆栈区域等的每个段的映射信息(逻辑地址、物理地址、尺寸等),关于地址转换表格、页表格、各种控制表格的映射信息)写入到映射信息存储区域407-1。此外,假设逻辑域201-1至201-3和0S401-1至401-3起动并且进入操作状态,并且逻辑域201-4和0S401-4未起动。
[0286]在步骤S701中,在0S401-1中出现致命错误。
[0287]在步骤S702中,0S401-1检测到该致命错误。
[0288]在步骤S703中,错误处置单元414-1处置0S401-1的错误(紧急关机)。
[0289]在步骤S704中,内核转储目标区域通知单元415-1向管理程序351通知关于紧急关机(错误)时的0S401-1的内核使用的存储器区域(内核转储目标区域)的信息(内核转储目标区域信息)。此外,内核转储标志通知单元421-1向管理程序351通知内核转储标志。[0290]在步骤S705中,内核转储目标区域信息/内核转储标志存储单元366将接收到的内核转储目标区域信息和内核转储标志存储在内核转储目标区域信息/内核转储标志存储区域367中。
[0291]在步骤S706中,存储器初始化单元372对内核转储目标区域信息指示的区域以外的存储器区域进行初始化。就是说,存储器初始化单元372没有对错误时的0S401-1的内核使用的存储器区域进行初始化(就是说,不更新数据)。因此,错误时的0S401-1的内核使用的存储器区域的数据保持原样。
[0292]在步骤S707中,PA-RA映射单元368、OS重起指令单元358和转储专用域起动单元365检查内核转储标志的值。根据内核转储标志的值执行处理。例如,当内核转储标志是“1,其指示在转储域中提取转储”时,PA-RA映射单元368将错误出现时的0S401-1至401-3的内核使用的存储器的PA分配给转储域204-4的RA。
[0293]并行地分离地执行步骤S708以及S709至S712中的处理。
[0294]然而,当内核转储标志是“1,其指示在转储域中提取转储”时,不执行步骤S712。当内核转储标志是“ 2,其指示使用存储器动态重新配置功能提取转储“时,不执行步骤S708。
[0295]在步骤S708中,在转储域中执行内核的存储器转储生成处理。由于步骤S708中的处理与图9B中的步骤S621中的处理相似,因此这里省略了描述。
[0296]在步骤S709中,PA-RA映射单元368如下面I)和2)中描述的那样改变域201_1的物理地址(PA)和真实地址(RA)之间的映射。因此,错误时的0S401-1的内核使用的存储器区域的数据未被覆写,尽管0S401-1被重起。
[0297]I)错误出现时内核和管理程序使用的存储器的物理地址不会被分配给待重起的域的真实地址,以及
[0298]2)域中可用的存储器尺寸的改变在重起之前和之后将被抑制。
[0299]然而,当可分配给待重起的域的物理存储器小于特定值时,上面的I)是优先的。
[0300]在步骤S710中,OS重起指令单元358指示域201-1使0S401-1进行重起。当内核转储标志是“2,其指示使用存储器动态重新配置功能提取转储“时,OS重起指令单元358包括使用重起指示中的存储器DR功能的内核的存储器转储生成处理。OS起动单元409-1重起0S401-1而不写入内核使用的存储器的转储。
[0301]在步骤S711中,0S401-1恢复任务。
[0302]在步骤S712中,执行内核的存储器转储生成处理。由于步骤S712中的处理与上述步骤S624中的处理相似,因此这里省略了描述。
[0303]在根据第三实施例的存储器转储生成处理中,当检测到错误并且使操作系统进入紧急关机(错误)时,不执行针对另一存储器单元等的复制处理,尽管存储器转储具有大尺寸,从而使得操作系统能够快速重起。因此,可以在较短的时间中停止任务。
[0304](第四实施例)
[0305]在第四实施例中,在操作系统中检测到错误,并且提取内核的存储器转储,并且提取正在操作的管理程序的存储器转储(被称为管理程序的实况转储)。
[0306]下文描述了生成0S401-1的内核的存储器转储的情况。
[0307]图18A和18B是根据第四实施例的存储器转储生成处理的流程图。
[0308]由于步骤S801至S811与图17中的步骤S701至S711相似,因此这里省略了详细描述。
[0309]并行执行步骤S812和S813。
[0310]在步骤S812中,执行内核的存储器转储生成处理。由于步骤S812中的处理与步骤S625中的处理相似,因此这里省略了描述。
[0311]在步骤S813中,在控制域204-1中执行正在操作的管理程序351的存储器转储生成处理。
[0312]下文详细描述了正在操作的管理程序351的存储器转储生成处理。
[0313]图19是正在操作的管理程序的存储器转储生成处理的流程图。
[0314]图19对应于图18B中的步骤S813。
[0315]在第四实施例中,例如,HV转储标志的数据结构可以变为:0,其指示没有提取;1,其指示异常条件下的HV转储;以及2,其指示HV实况转储。当HV转储标志为O或I时,HV存储器转储判断单元408-1判断不提取HV的实况转储,并且当HV转储标志为2时,HV存储器转储判断单元408-1判断提取HV的实况转储。
[0316]在步骤S831中,HV存储器转储判断单元408_1请求管理程序351传送HV转储标
O
[0317]在步骤S832中,在接收到请求时,HV存储器转储标志读取和传送单元359从HV转储目标区域信息/HV转储标志存储区域356读取HV转储标志,并且将其传送给0S401-1。
[0318]在步骤S833中,HV存储器转储判断单元408-1基于接收到的HV转储标志,判断是否将提取正在操作的管理程序351的实况转储。如果判断将提取正在操作的管理程序351的实况转储,则控制去往步骤S834`。如果判断不提取转储,则处理终止。
[0319]在步骤S834中,HV转储目标区域读取单元的呼叫单元410-1呼叫HV转储目标区域读取单元360。
[0320]在步骤S835中,HV转储目标区域读取单元360读取管理程序351正在使用的存储器区域,并且将读取的存储器内容传送给磁盘204-1。
[0321]在步骤S836中,HV转储单元412-1接收存储器内容,将接收到的存储器内容写入到文件,并且生成管理程序的转储文件。
[0322]如上文所述,在正在操作的管理程序的存储器转储生成处理中,读取管理程序使用的存储器区域的数据而不停止或重起管理程序,并且将作为管理程序的转储文件的数据写入到文件。
[0323]在根据第四实施例的存储器转储生成处理中,当检测到错误并且操作系统重起时,不执行针对另一存储器单元等的复制处理,尽管存储器转储具有大尺寸,从而使得操作系统能够快速重起。因此,可以在较短的时间中停止任务。
[0324]在根据第四实施例的存储器转储生成处理中,通过对管理程序和内核的存储器进行转储,可以有效地分析管理程序和域两者引起的错误。
[0325]上文已描述了多个实施例,但是本发明的实施例不限于装置和方法。就是说,它们可以被配置为程序和存储该程序的计算机可读记录介质。该记录介质可以是例如柔性盘(FD)、硬盘装置、光盘、磁光盘、CD-ROM、CD-R、DVD-ROM、DVD-RAM、磁带、非易失性存储器卡
坐寸ο
[0326]例如,从存储程序的记录介质读取根据本发明的实施例的程序,并且将其存储在存储器13或23或者非易失性存储器14中。CPU12或22从非易失性存储器14读取该程序并且执行该程序,从而执行根据以上实施例的各种处理。
[0327]本发明不限于以上实施例,而是在于本发明的精神范围内的各种配置。例如,逻辑域的数目不限于四个,而是可以是任意数目。
【权利要求】
1.一种信息处理装置,包括: 存储器; 处理单元,其操作虚拟机、在所述虚拟机上执行的操作系统、以及控制所述虚拟机的管理程序;以及 控制单元,其控制包括所述存储器和处理器的系统,其中所述处理单元 当检测到所述管理程序的错误时停止所述操作系统; 向所述控制单元通知所述管理程序使用的第一存储器区域; 停止所述管理程序; 将所述管理程序使用的存储器区域变更为与所述控制单元通知的所述第一存储器区域不同的第二存储器区域; 使用所述第二存储器区域作为可用区域来起动所述管理程序; 起动所述操作系统,并且恢复在所述操作系统上操作的应用程序;以及读取所述第一存储器区域中的数据,并且将该数据写入文件,作为所述管理程序的转储文件。
2.根据权利要求1所述的装置,其中 所述处理单元进一步 将在使用所述第二存储器区域作为可用区域来起动所述管理程序之后停止的所述操作系统使用的存储器区域变更为与所述操作系统的内核使用的第三存储器区域不同的第四存储器区域; 使用所述第四存储器区域作为可用区域来起动停止的所述操作系统;以及 读取所述第三存储器区域的数据并且将该数据写入文件,作为所述操作系统的转储文件。
3.根据权利要求1所述的装置,其中 当检测到所述管理程序的错误时,所述处理单元向所述控制单元通知所述第一存储器区域作为转储目标区域。
4.根据权利要求1所述的装置,其中: 在停止所述管理程序之后,在保持所述第一存储器区域上的内容的同时,将所述管理程序使用的存储器区域变更为所述第二存储器区域,以及 在初始化至少所述第二存储器区域之后,起动所述管理程序。
5.根据权利要求1所述的装置,进一步包括 标志信息,其指示所述管理程序使用的区域是否将被转储,其中当所述标志信息指示所述管理程序使用的区域将被转储时,所述第一存储器区域的数据被读取,并且该数据被写入文件,作为所述管理程序的转储文件。
6.根据权利要求5所述的装置,其中 另一虚拟机进一步被操作用于根据所述标志信息读取所述第一存储器区域的数据,并且将该数据写入文件,作为所述管理程序的转储文件 。
7.根据权利要求6所述的装置,其中 在将数据写入文件作为所述管理程序的转储文件之后,初始化所述标志信息。
8.根据权利要求1所述的装置,其中在将数据写入文件作为所述管理程序的转储文件之后,释放所述第一存储器区域作为资源。
9.一种信息处理装置,包括: 存储器;以及 处理单元,其执行操作系统或者执行虚拟机和在所述虚拟机上操作的操作系统,其中 所述处理单元 当所述处理单元检测到错误时,停止正在执行的并且在其中检测到该错误的所述操作系统; 将停止的所述操作系统使用的存储器区域变更为与停止的所述操作系统的内核使用的第一存储器区域不同的第二存储器区域; 使用所述第二存储器区域作为可用区域来起动停止的所述操作系统并且恢复在所述操作系统上操作的应用程序;以及 读取所述第一存储器区域的数据并且将该数据写入文件,作为所述操作系统的转储文件。
10.根据权利要求9所述的装置,其中 所述处理单元 当所述处理单元检测到错误时,停止在所述虚拟机上操作的并且在其中检测到该错误的所述操作系统; 使用所述第二存储器区域作为可用区域来起动停止的所述操作系统; 读取所述第一存储器区域的数据并且将该数据写入文件,作为所述操作系统的转储文件;以及 在操作所述管理程序的同时读取由控制所述虚拟机的所述管理程序使用的存储器区域的数据,并且将该数据写入文件,作为所述管理程序的转储文件。
11.一种信息处理装置,包括: 多个物理分区,每个物理分区包括存储器和处理单元,所述处理单元通过执行在所述存储器上存储的程序来操作虚拟机和在所述虚拟机上操作的操作系统;以及控制单元,其控制所述多个物理分区,其中每个物理分区中包括的处理单元当检测到所述管理程序的错误时停止所述操作系统; 向所述控制单元通知所述管理程序使用的第一存储器区域; 停止所述管理程序; 将所述管理程序使用的存储器区域变更为与通知给所述控制单元的所述第一存储器区域不同的第二存储器区域; 使用所述第二存储器区域作为可用区域来起动所述管理程序; 起动所述操作系统并且恢复在所述操作系统上操作的应用程序;以及 读取所述第一存储器区域的数据并且将该数据写入文件,作为所述管理程序的转储文件。
12.根据权利要求11所述的装置,其中: 每个物理分区操作多个虚拟机;每个物理分区中包括的所述处理单元 当检测到所述管理程序的错误时停止在所述多个虚拟机中操作的所述操作系统; 向所述控制单元通知所述第一存储器区域; 停止所述管理程序; 将所述管理程序使用的存储器区域变更为与通知给所述控制单元的所述第一存储器区域不同的第二存储器区域; 在使用所述第二存储器区域作为可用区域来起动所述管理程序之后,将多个停止的操作系统中的每个使用的存储器区域变更为与多个停止的操作系统的每个内核使用的多个第三存储器区域不同并且彼此不重叠的多个第四存储器区域; 使用所述多个第四存储器区域中的每个作为可用区域来起动与每个可用区域对应的每个停止的操作系统,并且恢复在每个起动的操作系统上操作的应用程序;以及 读取所述多个第三存储器区域的每条数据,并且将该数据写入文件,作为所述多个操作系统的转储文件。
13.一种由信息处理装置采用的存储器转储方法,所述信息处理装置包括存储器,操作虚拟机、在所述虚拟机上执行的操作系统和控制所述虚拟机的管理程序的处理单元,以及控制包括所述存储器和处理器的系统的控制单元,所述方法包括: 当检测到所述管理程序的错误时停止所述操作系统; 向所述控制单元通知所述管理程序使用的第一存储器区域; 停止所述管理程序;` 将所述管理程序使用的存储器区域变更为与所述控制单元通知的所述第一存储器区域不同的第二存储器区域; 使用所述第二存储器区域作为可用区域来起动所述管理程序; 起动所述操作系统,并且恢复在所述操作系统上操作的应用程序;以及读取所述第一存储器区域中的数据,并且将该数据写入文件,作为所述管理程序的转储文件。
14.一种非暂态计算机可读记录介质,其存储用于指示计算机执行处理的存储器转储程序,所述计算机包括存储器,操作虚拟机、在所述虚拟机上执行的操作系统和控制所述虚拟机的管理程序的处理单元,以及控制包括所述存储器和所述处理单元的系统的控制单元,所述处理包括: 当检测到所述管理程序的错误时停止所述操作系统; 向所述控制单元通知所述管理程序使用的第一存储器区域; 停止所述管理程序; 将所述管理程序使用的存储器区域变更为与所述控制单元通知的所述第一存储器区域不同的第二存储器区域; 使用所述第二存储器区域作为可用区域来起动所述管理程序; 起动所述操作系统,并且恢复在所述操作系统上操作的应用程序;以及读取所述第一存储器区域中的数据,并且将该数据写入文件,作为所述管理程序的转储文件。
【文档编号】G06F11/34GK103514085SQ201310239430
【公开日】2014年1月15日 申请日期:2013年6月17日 优先权日:2012年6月22日
【发明者】近藤浩, 冈野宪司 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1