新四季網

具有存儲器轉儲功能的信息處理裝置和存儲器轉儲方法

2023-04-24 19:24:36

具有存儲器轉儲功能的信息處理裝置和存儲器轉儲方法
【專利摘要】本發明涉及具有存儲器轉儲功能的信息處理裝置、存儲器轉儲方法以及存儲存儲器轉儲程序的記錄介質。根據本發明的信息處理裝置包括:存儲器;處理單元,其操作虛擬機、在虛擬機上執行的作業系統和控制虛擬機的管理程序;以及控制單元,其控制包括存儲器和處理器的系統。處理單元在檢測到管理程序的錯誤時停止作業系統,向控制單元通知管理程序使用的第一存儲器區域,停止管理程序,將管理程序使用的存儲器區域變更為與控制單元通知的第一存儲器區域不同的第二存儲器區域,使用第二存儲器區域作為可用區域來起動管理程序,起動作業系統,並且讀取第一存儲器區域中的數據,並且將該數據寫入文件,作為管理程序的轉儲文件。
【專利說明】具有存儲器轉儲功能的信息處理裝置和存儲器轉儲方法
【技術領域】
[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日
【發明者】近藤浩, 岡野憲司 申請人:富士通株式會社

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀