JP6834838B2 - Computer boot method and computer - Google Patents
Computer boot method and computer Download PDFInfo
- Publication number
- JP6834838B2 JP6834838B2 JP2017151936A JP2017151936A JP6834838B2 JP 6834838 B2 JP6834838 B2 JP 6834838B2 JP 2017151936 A JP2017151936 A JP 2017151936A JP 2017151936 A JP2017151936 A JP 2017151936A JP 6834838 B2 JP6834838 B2 JP 6834838B2
- Authority
- JP
- Japan
- Prior art keywords
- dump
- program
- generation program
- memory
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Description
本発明は、メモリダンプを生成する技術に関する。 The present invention relates to a technique for generating a memory dump.
例えば、コンピュータが動作不良に陥った場合に、プログラムを解析するためにメモリダンプを採ることがある。 For example, if a computer malfunctions, a memory dump may be taken to analyze the program.
OS(Operating System)の起動処理において動作不良が生じることがある。この場合でも、メモリダンプを採れれば原因の究明や対策の検討に役立つ。 Malfunctions may occur in the startup process of the OS (Operating System). Even in this case, if a memory dump can be taken, it will be useful for investigating the cause and considering countermeasures.
具体的には、OSの起動処理中にメモリダンプを採ろうとするタイミングで、メモリにロードされたダンプ生成プログラムを起動することによって、メモリの内容がファイルに記録される。つまり、先にダンプ生成プログラムをメモリにロードしておくことが条件となる。 Specifically, the contents of the memory are recorded in a file by starting the dump generation program loaded in the memory at the timing when the memory dump is to be taken during the boot processing of the OS. That is, the condition is that the dump generator is loaded into the memory first.
しかし、ダンプ生成プログラムのロード自体もOSの起動処理において行われるので、未だダンプ生成プログラムがロードされていない早い段階では、メモリダンプを採ることができない。 However, since the dump generator is loaded in the OS boot process, it is not possible to take a memory dump at an early stage when the dump generator is not loaded yet.
本発明の目的は、一側面では、オペレーティングシステムの起動処理の早期においてメモリダンプ処理を行えるようにすることである。 An object of the present invention is, on the one hand, to enable memory dump processing to be performed at an early stage of operating system startup processing.
一態様に係るコンピュータ起動方法は、(A)ブートローダの処理において、メモリダンプ処理を行うプログラムをメモリにロードし、当該プログラムのロード位置をオペレーティングシステムに引き渡し、(B)オペレーティングシステムの起動処理中のいずれかのタイミングにおいて、上記ロード位置に基づいて上記プログラムを起動する処理を含む。 The computer boot method according to one aspect is (A) in the boot loader process, the program that performs the memory dump process is loaded into the memory, the load position of the program is passed to the operating system, and (B) the operating system is being booted. At any timing, the process of starting the program based on the load position is included.
一側面としては、オペレーティングシステムの起動処理の早期においてメモリダンプ処理を行えるようになる。 On the one hand, the memory dump process can be performed at an early stage of the operating system boot process.
図1に、コンピュータの起動時におけるダンプ生成シーケンスの従来例を示す。コンピュータの電源が投入されると、BIOS(Basic Input/Output System)101が処理を開始する。BIOS101は、まずデバイスを初期化する(S111)。続いて、BIOS101は、図2に示すように、ハードディスクドライブ201に格納されているブートローダ103をメインメモリ203にロードする(S113)。そして、BIOS101は、ブートローダ103を起動する(S115)。
FIG. 1 shows a conventional example of a dump generation sequence at the time of starting a computer. When the power of the computer is turned on, the BIOS (Basic Input / Output System) 101 starts processing. BIOS101 first initializes the device (S111). Subsequently, as shown in FIG. 2, the
尚、OS105がインストールされた時点で、図2に示したダンプ生成プログラム107は存在しない。OS105が最初に起動されたときに、OS105によってダンプ生成プログラム107が作成され、ハードディスクドライブ201に格納される。
At the time when OS 105 is installed, the
図1の説明に戻る。ブートローダ103は、処理を開始すると(S121)、図3に示すように、ハードディスクドライブ201にファイル形式で格納されているOS105をメインメモリ203にロードする(S123)。そして、ブートローダ103は、OS105を起動する(S125)。
Returning to the description of FIG. When the
OS105は、起動処理を開始する(S131)。当該起動処理は、OS105の初期化処理又はOS105の初期処理ということもある。起動処理において、OS105は、ファイルシステムを準備する(S133)。
OS105 starts the startup process (S131). The startup process may be the initialization process of the
OS105は、ダンプ生成プログラム107が存在しない場合、つまりOS105がインストールされた後の初回起動の際に、ダンプ生成プログラム107を作成する(S135)。一方、OS105は、ダンプ生成プログラム107が存在する場合、つまり2回目以降の起動の際には、ダンプ生成プログラム107を作成しない。
The OS 105 creates the
OS105は、図4に示すように、ハードディスクドライブ201にファイル形式で格納されているダンプ生成プログラム107をメインメモリ203にロードする(S137)。
As shown in FIG. 4, the
ダンプ生成プログラム107がロードされた後に、OS105がエラー発生又は外部割込みを検出すると(S139)、OS105は、ダンプ生成プログラム107を起動する(S141)。
When the
ダンプ生成プログラム107は、ダンプ生成処理を開始し(S151)、メインメモリ203から採取したデータを記録したダンプファイルを生成する(S153)。
The
このように、従来技術では、OS105のファイルシステムによってダンプ生成プログラム107が読み出され、メインメモリ203にロードされる。そして、ダンプ生成プログラム107がロードされている状態で、OS105がダンプ生成プログラム107を起動することができる。
As described above, in the prior art, the
上述した従来技術では、ファイルシステムの準備が完了していない段階では、ダンプ生成プログラム107がロードされない。図5に示すように、OS105がファイルシステムを準備していない段階では、エラー発生又は外部割込みを検出したとしても(S501)、OS105は、ダンプ生成プログラム107を起動できない。つまり、OS105における起動処理の早期におけるメモリダンプを行えない。尚、図5に示したS111乃至S131の処理は、図1の場合と同様である。
In the above-mentioned conventional technique, the
本実施の形態では、ブートローダ103においてダンプ生成プログラム107をロードすることによって、OS105における起動処理の早い段階においてメモリダンプを生成できるようにする。
In the present embodiment, the
図6に、本実施の形態におけるダンプ生成シーケンスを示す。コンピュータの電源が投入されると、BIOS101が処理を開始する。BIOS101は、まずデバイスを初期化する(S611)。続いて、BIOS101は、図7に示すように、ハードディスクドライブ201に格納されているブートローダ103をメインメモリ203にロードする(S613)。そして、BIOS101は、ブートローダ103を起動する(S615)。
FIG. 6 shows a dump generation sequence according to the present embodiment. When the power of the computer is turned on, the
本実施の形態では、図7に示すように、ダンプ生成プログラム107が格納される時点でパスファイル701も格納される。パスファイル701には、ファイルシステムにおけるダンプ生成プログラム107の格納位置を特定するパスが設定されている。
In the present embodiment, as shown in FIG. 7, the
ブートローダ103は、処理を開始すると(S621)、図8に示すように、ハードディスクドライブ201にファイル形式で格納されているダンプ生成プログラム107をメインメモリ203にロードする(S623)。このとき、ブートローダ103は、パスファイル701を参照する。
When the
その後、ブートローダ103は、図9に示すように、ハードディスクドライブ201にファイル形式で格納されているOS105をメインメモリ203にロードする(S625)。そして、ブートローダ103は、OS105を起動する(S627)。
After that, as shown in FIG. 9, the
本実施の形態において、呼び出されたOS105は、起動処理を実行する前に所定処理(以下、前処理という。)を実行する(S631)。前処理については、図15を用いて後述する。
In the present embodiment, the called
前処理を終えると、OS105は、起動処理を開始する(S633)。この例では、ファイルシステムが準備される前に、OS105は、エラー発生又は外部割込みを検出するものとする(S635)。OS105は、この段階で既にロードされているダンプ生成プログラム107を起動する(S637)。
When the preprocessing is completed, the
そして、ダンプ生成プログラム107は、ダンプ生成処理を開始し(S641)、ダンプファイルを生成する(S643)。
Then, the
本実施の形態では、OS105が、パスファイル701を介してハードディスクドライブ201におけるダンプ生成プログラム107の格納位置をブートローダ103へ伝える。更に、ブートローダ103が、メモリマップを用いてメインメモリ203におけるダンプ生成プログラム107のロード位置をOS105へ伝える。メモリマップに関する処理については、後述する。以上で、本実施の形態における概要の説明を終える。
In the present embodiment, the
続いて、ブートローダ103の動作について説明する。図10に、ブートローダ103のモジュール構成例を示す。ブートローダ103は、取得モジュール1001、ロードモジュール1003、呼び出しモジュール1005及び引渡モジュール1007を有している。取得モジュール1001、ロードモジュール1003、呼び出しモジュール1005及び引渡モジュール1007は、いずれもソフトウエアモジュールである。
Subsequently, the operation of the
取得モジュール1001は、BIOS101からメモリマップを取得する処理を含む。ハードウエア資源(例えば、図20)と当該ハードウエア資源におけるプロセッサに後述する処理を実行させる取得モジュール1001とによって、機能要素である取得部が実現される。
The
ロードモジュール1003は、ダンプ生成プログラム107をロードする処理を含む。ハードウエア資源(例えば、図20)と当該ハードウエア資源におけるプロセッサに後述する処理を実行させるロードモジュール1003とによって、機能要素であるロード部が実現される。
The
呼び出しモジュール1005は、OS105を呼び出す処理を含む。ハードウエア資源(例えば、図20)と当該ハードウエア資源におけるプロセッサに後述する処理を実行させる呼び出しモジュール1005とによって、機能要素である呼び出し部が実現される。
The
引渡モジュール1007は、メモリマップをOS105に引き渡す処理を含む。ハードウエア資源(例えば、図20)と当該ハードウエア資源におけるプロセッサに後述する処理を実行させる引渡モジュール1007とによって、機能要素である引渡部が実現される。
The
図11に、ブートローダ103の処理フローを示す。取得部は、BIOS101からメモリマップを取得する(S1101)。メモリマップは、メインメモリ203にロードされているプログラム又はデータの名前と、ロード位置(ロード領域の先頭アドレスを含む)との組を含んでいる。
FIG. 11 shows the processing flow of the
ロード部は、所定の格納位置に格納されているパスファイル701を読み(S1103)、当該パスファイル701にダンプ生成プログラム107の格納先パスが設定されているか否かを判定する(S1105)。パスファイル701にダンプ生成プログラム107の格納先パスが設定されていない場合には、ダンプ生成プログラム107のロードは行われない。従って、端子Aを介して図12に示したS1201の処理に移る。図12の処理については、後述する。
The load unit reads the path file 701 stored in the predetermined storage position (S1103), and determines whether or not the storage destination path of the
一方、パスファイル701にダンプ生成プログラム107の格納先パスが設定されていると判定した場合には、ロード部は、格納先パスで特定されるファイルが存在するか否かを判定する(S1107)。格納先パスで特定されるファイルが存在しない場合には、ダンプ生成プログラム107のロードは行われない。従って、端子Aを介して図12に示したS1201の処理に移る。
On the other hand, when it is determined that the storage destination path of the
一方、格納先パスで特定されるファイルが存在すると判定した場合には、ロード部は、格納先パスで特定されるファイルが真正のダンプ生成プログラム107であるか否かを判定する(S1109)。例えば、ロード部は、格納先パスで特定されるファイルの所定位置に、ダンプ生成プログラム107であることを示す識別コードが設定されている場合に、当該ファイルが真正のダンプ生成プログラム107であると判定する。格納先パスで特定されるファイルが真正のダンプ生成プログラム107でない場合には、ダンプ生成プログラム107のロードは行われない。従って、端子Aを介して図12に示したS1201の処理に移る。
On the other hand, when it is determined that the file specified by the storage destination path exists, the load unit determines whether or not the file specified by the storage destination path is a genuine dump generation program 107 (S1109). For example, the load unit determines that the file is a
一方、格納先パスで特定されるファイルが真正のダンプ生成プログラム107であると判定した場合には、OS105とダンプ生成プログラム107とがメインメモリ203に納まるか否かを判定する。
On the other hand, when it is determined that the file specified by the storage destination path is the genuine
そのため、ロード部は、まずダンプ生成プログラム107の大きさを特定する(S1111)。更に、ロード部は、OS105の大きさを特定する(S1113)。また、ロード部は、メモリの空き領域サイズを特定する(S1115)。 Therefore, the load unit first specifies the size of the dump generation program 107 (S1111). Further, the load unit specifies the size of the OS 105 (S1113). Further, the load unit specifies the size of the free area of the memory (S1115).
そして、ロード部は、メモリの空き領域サイズが、ダンプ生成プログラム107の大きさとOS105の大きさとの合計以上であるか否かを判定する(S1117)。メモリの空き領域サイズが、ダンプ生成プログラム107の大きさとOS105の大きさとの合計を下回る場合には、ダンプ生成プログラム107のロードは行われない。従って、端子Aを介して図12に示したS1201の処理に移る。
Then, the load unit determines whether or not the free area size of the memory is equal to or larger than the sum of the size of the
一方、メモリの空き領域サイズが、ダンプ生成プログラム107の大きさとOS105の大きさとの合計以上であると判定した場合には、ダンプ生成プログラム107のロードが行われる。従って、端子Bを介して図13に示したS1301の処理に移る。
On the other hand, when it is determined that the size of the free memory area is equal to or larger than the sum of the size of the
次に、図12を用いて、ダンプ生成プログラム107のロードを行わない場合の処理について説明する。呼び出し部は、メインメモリ203にOS105の大きさに相当する領域を確保して、ハードディスクドライブ201に格納されているOS105を当該領域にロードする(S1201)。そして、呼び出し部は、ロードしたOS105を起動する(S1203)。
Next, the process when the
そして、引渡部は、OS105にメモリマップを渡す(S1205)。尚、このときダンプ生成プログラム107はロードされていないので、メモリマップにダンプ生成プログラム107のロード位置は含まれていない。そして、ブートローダ103の処理を終える。
Then, the delivery unit passes the memory map to the OS 105 (S1205). Since the
次に、図13を用いて、ダンプ生成プログラム107のロードを行う場合の処理について説明する。ロード部は、メインメモリ203にダンプ生成プログラム107の大きさに相当する領域を確保して、ハードディスクドライブ201に格納されているダンプ生成プログラム107を当該領域にロードする(S1301)。
Next, the process when the
次に、呼び出し部は、メインメモリ203にOS105の大きさに相当する領域を確保して、ハードディスクドライブ201に格納されているOS105を当該領域にロードする(S1303)。そして、呼び出し部は、ロードしたOS105を起動する(S1305)。
Next, the calling unit secures an area corresponding to the size of the
引渡部は、メモリマップにダンプ生成プログラム107のロード位置を加えて(S1307)、OS105に当該メモリマップを渡す(S1309)。そして、ブートローダ103の処理を終える。
The delivery unit adds the load position of the
続いて、OS105の動作について説明する。図14に、OS105のモジュール構成例を示す。OS105は、受入モジュール1401、設定モジュール1403、起動モジュール1405、割込みハンドラ1411及びパラメータ領域1413を有している。起動モジュール1405は、作成モジュール1407及びエラー対応モジュール1409を含んでいる。受入モジュール1401、設定モジュール1403、起動モジュール1405、作成モジュール1407、エラー対応モジュール1409及び割込みハンドラ1411は、いずれもソフトウエアモジュールである。
Subsequently, the operation of the
受入モジュール1401は、ブートローダ103からメモリマップを受け入れる処理を含む。ハードウエア資源(例えば、図20)と当該ハードウエア資源におけるプロセッサに後述する処理を実行させる受入モジュール1401とによって、機能要素である受入部が実現される。
The
設定モジュール1403は、ダンプ生成プログラム107のロード位置をパラメータ領域1413に設定する処理を含む。ハードウエア資源(例えば、図20)と当該ハードウエア資源におけるプロセッサに後述する処理を実行させる設定モジュール1403とによって、機能要素である設定部が実現される。
The
起動モジュール1405は、OS105の起動処理を含む。ハードウエア資源(例えば、図20)と当該ハードウエア資源におけるプロセッサに後述する処理を実行させる起動モジュール1405とによって、機能要素である起動部が実現される。
The
作成モジュール1407は、ダンプ生成プログラム107を作成する処理を含む。ハードウエア資源(例えば、図20)と当該ハードウエア資源におけるプロセッサに後述する処理を実行させる作成モジュール1407とによって、機能要素である作成部が実現される。
The creation module 1407 includes a process of creating a
エラー対応モジュール1409は、OS105におけるエラー対応としてダンプ生成プログラム107を起動する処理を含む。ハードウエア資源(例えば、図20)と当該ハードウエア資源におけるプロセッサに後述する処理を実行させるエラー対応モジュール1409とによって、機能要素であるエラー対応部が実現される。
The
割込みハンドラ1411は、割込みのイベントに応じてダンプ生成プログラム107を起動する処理を含む。ハードウエア資源(例えば、図20)と当該ハードウエア資源におけるプロセッサに後述する処理を実行させる割込みハンドラ1411とによって、機能要素である割込み処理部が実現される。尚、ここでは、例えばキー押下、マウスクリックや画面タッチなどのような外部割込みを想定するが、内部割込みに対応するようにしてもよい。
The interrupt
パラメータ領域1413は、ダンプ生成プログラム107のロード位置、つまりメインメモリ203におけるダンプ生成プログラム107の先頭アドレスを記憶するために用いられる。
The
図15に、OS105の処理フローを示す。受入部は、ブートローダ103からメモリマップを受け入れる(S1501)。受入部は、当該メモリマップにダンプ生成プログラム107のロード位置が含まれるか否かを判定する(S1503)。当該メモリマップにダンプ生成プログラム107のロード位置が含まれていないと判定した場合には、S1507の処理に移る。
FIG. 15 shows the processing flow of OS105. The receiving unit receives the memory map from the boot loader 103 (S1501). The receiving unit determines whether or not the load position of the
一方、当該メモリマップにダンプ生成プログラム107のロード位置が含まれていると判定した場合には、設定部は、ダンプ生成プログラム107のロード位置をパラメータ領域1413に設定する(S1505)。S1501乃至S1505の処理が、図6のS631に示した前処理に相当する。
On the other hand, when it is determined that the memory map includes the load position of the
そして、起動部は、OS105の起動処理を実行する(S1507)。起動処理を終えると、OS105が常駐処理を行う準備が整う。
Then, the startup unit executes the startup process of OS105 (S1507). When the startup process is completed, the
尚、OS105の起動処理は、上述したようにダンプ生成プログラム107を作成する処理(以下、作成処理という。)を含む。図16に、作成処理フローを示す。
The
作成部は、格納先パスにダンプ生成プログラム107が存在するか否かを判定する(S1601)。格納先パスにダンプ生成プログラム107が存在すると判定した場合には、作成処理を終える。
The creation unit determines whether or not the
一方、格納先パスにダンプ生成プログラム107が存在していないと判定した場合には、作成部は、ダンプ生成プログラム107を作成する(S1603)。ダンプ生成プログラム107を作成する方法は、従来技術と同様である。作成部は、格納先パスにダンプ生成プログラム107を格納する(S1605)。
On the other hand, if it is determined that the
作成部は、ファイルシステムにおける所定の格納位置にパスファイル701を作成する(S1607)。作成部は、パスファイル701にダンプ生成プログラム107の格納先パスを格納する(S1609)。そして、作成処理を終える。
The creation unit creates the path file 701 at a predetermined storage position in the file system (S1607). The creation unit stores the storage destination path of the
また、上述したOS105の起動処理は、割込みハンドラ1411を所定の割込みイベントに対応付ける設定処理を含む。当該設定処理が実行されると、所定の割込みイベントが発生したタイミングで、割込みハンドラ1411が起動されるようになる。
Further, the
次に、当該処理で設定される割込みハンドラ1411の処理について説明する。図17に、割込みハンドラ1411の処理フローを示す。
Next, the processing of the interrupt
割込み処理部は、パラメータ領域1413にダンプ生成プログラム107のロード位置が設定されているか否かを判定する(S1701)。具体的には、割込み処理部は、例えばパラメータ領域1413に未設定の旨のコードが設定されている場合に、ダンプ生成プログラム107のロード位置が設定されていないと判定する。
The interrupt processing unit determines whether or not the load position of the
パラメータ領域1413にダンプ生成プログラム107のロード位置が設定されていないと判定した場合には、そのまま割込みハンドラ1411の処理を終える。
If it is determined that the load position of the
一方、パラメータ領域1413にダンプ生成プログラム107のロード位置が設定されていると判定した場合には、割込み処理部は、ダンプ生成プログラム107を起動する(S1703)。具体的には、割込み処理部は、メインメモリ203における当該ロード位置にジャンプしてプロセッサにダンプ生成プログラム107の命令を実行させる。そして、割込みハンドラ1411の処理を終える。
On the other hand, when it is determined that the load position of the
また、上述したOS105の起動処理は、エラー発生の検出処理とエラー対応処理とを含む。エラー発生の検出処理では、例えば想定外の状態となった場合や整合しない事態に至った場合にエラーの発生を検出する。そして、エラーの発生を検出した場合に、エラー対応処理が実行される。図18に、エラー対応処理フローを示す。
Further, the
エラー対応部は、パラメータ領域1413にダンプ生成プログラム107のロード位置が設定されているか否かを判定する(S1801)。具体的には、割込み処理部は、例えばパラメータ領域1413に未設定の旨のコードが設定されている場合に、ダンプ生成プログラム107のロード位置が設定されていないと判定する。
The error response unit determines whether or not the load position of the
パラメータ領域1413にダンプ生成プログラム107のロード位置が設定されていないと判定した場合には、そのままエラー対応処理を終える。
If it is determined that the load position of the
一方、パラメータ領域1413にダンプ生成プログラム107のロード位置が設定されていると判定した場合には、エラー対応部は、ダンプ生成プログラム107を起動する(S1803)。具体的には、エラー対応部は、メインメモリ203における当該ロード位置にジャンプしてプロセッサにダンプ生成プログラム107の命令を実行させる。そして、エラー対応処理を終える。
On the other hand, when it is determined that the load position of the
最後に、ダンプ生成プログラム107について説明する。ダンプ生成プログラム107は、メインメモリ203の内容を記録したダンプファイルを生成する処理を含む。ハードウエア資源(例えば、図20)と当該ハードウエア資源におけるプロセッサに後述する処理を実行させるダンプ生成プログラム107とによって、機能要素であるダンプ生成部が実現される。
Finally, the
図19に、ダンプ生成プログラム107の処理フローを示す。ダンプ生成部は、所定の格納位置に新規のダンプファイルを開く(S1901)。そして、ダンプ生成部は、メインメモリ203のブロックを順次1つ特定する(S1903)。
FIG. 19 shows a processing flow of the
ダンプ生成部は、メインメモリ203から当該ブロックのデータを読み(S1905)、読んだブロックのデータを順次ダンプファイルに書き込む(S1907)。 The dump generation unit reads the data of the block from the main memory 203 (S1905), and sequentially writes the data of the read block to the dump file (S1907).
そして、ダンプ生成部は、最終ブロックに至ったか否かを判定する(S1909)。最終ブロックに至っていないと判定した場合には、S1903に示した処理に戻って、上述した処理を繰り返す。 Then, the dump generation unit determines whether or not the final block has been reached (S1909). If it is determined that the final block has not been reached, the process returns to the process shown in S1903, and the above process is repeated.
一方、最終ブロックに至ったと判定した場合には、ダンプ生成部は、ダンプファイルを閉じる(S1911)。そして、ダンプ生成プログラム107の処理を終える。
On the other hand, when it is determined that the final block has been reached, the dump generation unit closes the dump file (S1911). Then, the processing of the
以上の例では、ブートローダ103が、メモリマップを用いてダンプ生成プログラム107のロード位置をOS105へ引き渡すようにしたが、ブートローダ103が、起動パラメータによって当該ロード位置をOS105へ引き渡すようにしてもよい。
In the above example, the
本実施の形態によれば、OS105の起動処理の早期においてメモリダンプ処理を行えるようになる。
According to this embodiment, the memory dump process can be performed at an early stage of the
また、パスファイルを設けるので、OS105で作成されたダンプ生成プログラム107を、ブートローダ103において特定できる。
Further, since the path file is provided, the
また、割込み処理においてダンプ生成プログラム107を起動するので、任意のタイミングにおけるメモリダンプを行うことができる。
Further, since the
また、エラー対応としてダンプ生成プログラム107を起動するので、エラー解析に用いるデータを確保し易い。
Further, since the
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成はプログラムモジュール構成に一致しない場合もある。 Although one embodiment of the present invention has been described above, the present invention is not limited thereto. For example, the functional block configuration described above may not match the program module configuration.
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ、処理の順番を入れ替えることや複数の処理を並列に実行させるようにしても良い。 Further, the configuration of each storage area described above is an example, and does not have to be the configuration as described above. Further, also in the processing flow, if the processing result does not change, the order of the processing may be changed or a plurality of processing may be executed in parallel.
なお、上で述べたコンピュータは、図20に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスクドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティングシステム(OS)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエア資源とOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
As shown in FIG. 20, the computer described above includes a
以上述べた本発明の実施の形態をまとめると、以下のようになる。 The embodiments of the present invention described above can be summarized as follows.
本実施の形態に係るコンピュータ起動方法は、(A)ブートローダの処理において、メモリダンプ処理を行うプログラムをメモリにロードし、当該プログラムのロード位置をオペレーティングシステムに引き渡し、(B)オペレーティングシステムの起動処理中のいずれかのタイミングにおいて、上記ロード位置に基づいて上記プログラムを起動する処理を含む。 In the computer boot method according to the present embodiment, in (A) boot loader processing, a program for performing memory dump processing is loaded into memory, the load position of the program is passed to the operating system, and (B) operating system boot processing. It includes a process of starting the program based on the load position at any of the timings.
このようにすれば、オペレーティングシステムの起動処理の早期においてメモリダンプ処理を行えるようになる。具体的には、ファイルシステムの準備が完了する前であっても、メモリダンプ処理を行えるようになる。 In this way, the memory dump process can be performed at an early stage of the operating system boot process. Specifically, the memory dump process can be performed even before the preparation of the file system is completed.
更に、コンピュータ起動方法は、オペレーティングシステムの起動処理において、上記プログラムを作成し、作成した上記プログラムの格納位置を不揮発性の記憶媒体に書き込む処理を含むようにしてもよい。また、コンピュータ起動方法は、ブートローダの処理において、上記記憶媒体から上記プログラムの格納位置を読み取る処理を含むようにしてもよい。 Further, the computer booting method may include a process of creating the program and writing the storage position of the created program to a non-volatile storage medium in the booting process of the operating system. Further, the computer booting method may include a process of reading the storage position of the program from the storage medium in the process of the boot loader.
このようにすれば、オペレーティングシステムで作成されたプログラムを、ブートローダにおいて特定できる。尚、ハードディスクドライブ201は、不揮発性の記憶媒体の例である。
In this way, the program created by the operating system can be identified in the boot loader. The
更に、上記タイミングは、割込みイベントが発生した時点であってもよい。 Further, the above timing may be the time when the interrupt event occurs.
このようにすれば、任意のタイミングにおけるメモリダンプを得ることができる。 In this way, a memory dump can be obtained at an arbitrary timing.
更に、上記タイミングは、エラーを検出した時点であってもよい。 Further, the above timing may be the time when an error is detected.
このようにすれば、エラー解析に用いるデータを確保し易い。 In this way, it is easy to secure the data used for the error analysis.
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。 A program for causing a computer to perform the processing by the above method can be created, and the program can be a computer-readable storage medium such as a flexible disk, a CD-ROM, a magneto-optical disk, a semiconductor memory, or a hard disk. It may be stored in a storage device. The intermediate processing result is generally temporarily stored in a storage device such as a main memory.
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。 The following additional notes will be further disclosed with respect to the embodiments including the above embodiments.
(付記1)
ブートローダの処理において、メモリダンプ処理を行うプログラムをメモリにロードし、当該プログラムのロード位置をオペレーティングシステムに引き渡し、
前記オペレーティングシステムの起動処理中のいずれかのタイミングにおいて、前記ロード位置に基づいて前記プログラムを起動する
処理を含み、コンピュータにより実行されるコンピュータ起動方法。
(Appendix 1)
In the boot loader process, the program that performs the memory dump process is loaded into memory, and the load position of the program is passed to the operating system.
A computer booting method executed by a computer that includes a process of launching the program based on the load position at any timing during the booting process of the operating system.
(付記2)
更に、
前記オペレーティングシステムの前記起動処理において、前記プログラムを作成し、作成した前記プログラムの格納位置を不揮発性の記憶媒体に書き込み、
前記ブートローダの処理において、前記記憶媒体から前記プログラムの前記格納位置を読み取る
処理を含む付記1記載のコンピュータ起動方法。
(Appendix 2)
In addition
In the boot process of the operating system, the program is created, and the storage position of the created program is written to a non-volatile storage medium.
The computer booting method according to Appendix 1, which includes a process of reading the storage position of the program from the storage medium in the process of the boot loader.
(付記3)
前記タイミングは、割込みイベントが発生した時点である
付記1又は2記載のコンピュータ起動方法。
(Appendix 3)
The timing is the time when the interrupt event occurs. The computer startup method according to Appendix 1 or 2.
(付記4)
前記タイミングは、エラーを検出した時点である
付記1又は2記載のコンピュータ起動方法。
(Appendix 4)
The timing is the time when an error is detected. The computer booting method according to Appendix 1 or 2.
(付記5)
メモリダンプ処理を行うプログラムをメモリにロードし、当該プログラムのロード位置をオペレーティングシステムに引き渡す処理を含むブートローダと、
自らの起動処理中のいずれかのタイミングにおいて、前記ロード位置に基づいて前記プログラムを起動する処理を含む前記オペレーティングシステムと
を記憶する媒体を有するコンピュータ。
(Appendix 5)
A boot loader that includes a process that loads a program that performs memory dump processing into memory and passes the load position of the program to the operating system.
A computer having a medium for storing the operating system including a process of starting the program based on the load position at any timing during its own startup process.
101 BIOS
103 ブートローダ
105 OS
107 ダンプ生成プログラム
201 ハードディスクドライブ
203 メインメモリ
701 パスファイル
1001 取得モジュール
1003 ロードモジュール
1005 呼び出しモジュール
1007 引渡モジュール
1401 受入モジュール
1403 設定モジュール
1405 起動モジュール
1407 作成モジュール
1409 エラー対応モジュール
1411 割込みハンドラ
1413 パラメータ領域
101 BIOS
103
107
Claims (5)
前記オペレーティングシステムの起動処理中のいずれかのタイミングにおいて、前記ロード位置に基づいて前記プログラムを起動する
処理を含み、コンピュータにより実行されるコンピュータ起動方法。 In the boot loader process, the program that performs the memory dump process is loaded into memory, and the load position of the program is passed to the operating system.
A computer booting method executed by a computer that includes a process of launching the program based on the load position at any timing during the booting process of the operating system.
前記オペレーティングシステムの前記起動処理において、前記プログラムを作成し、作成した前記プログラムの格納位置を不揮発性の記憶媒体に書き込み、
前記ブートローダの処理において、前記記憶媒体から前記プログラムの前記格納位置を読み取る
処理を含む請求項1記載のコンピュータ起動方法。 In addition
In the boot process of the operating system, the program is created, and the storage position of the created program is written to a non-volatile storage medium.
The computer booting method according to claim 1, wherein in the boot loader process, a process of reading the storage position of the program from the storage medium is included.
請求項1又は2記載のコンピュータ起動方法。 The computer startup method according to claim 1 or 2, wherein the timing is a time when an interrupt event occurs.
請求項1又は2記載のコンピュータ起動方法。 The computer booting method according to claim 1 or 2, wherein the timing is the time when an error is detected.
自らの起動処理中のいずれかのタイミングにおいて、前記ロード位置に基づいて前記プログラムを起動する処理を含む前記オペレーティングシステムと
を記憶する媒体を有するコンピュータ。 A boot loader that includes a process that loads a program that performs memory dump processing into memory and passes the load position of the program to the operating system.
A computer having a medium for storing the operating system including a process of starting the program based on the load position at any timing during its own startup process.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017151936A JP6834838B2 (en) | 2017-08-04 | 2017-08-04 | Computer boot method and computer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017151936A JP6834838B2 (en) | 2017-08-04 | 2017-08-04 | Computer boot method and computer |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019032610A JP2019032610A (en) | 2019-02-28 |
JP6834838B2 true JP6834838B2 (en) | 2021-02-24 |
Family
ID=65523471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017151936A Active JP6834838B2 (en) | 2017-08-04 | 2017-08-04 | Computer boot method and computer |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6834838B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000382B (en) * | 2020-08-26 | 2023-10-13 | 绿盟科技集团股份有限公司 | Linux system starting method and device and readable storage medium |
-
2017
- 2017-08-04 JP JP2017151936A patent/JP6834838B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019032610A (en) | 2019-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11599348B2 (en) | Container image building using shared resources | |
KR101793306B1 (en) | Virtual application extension points | |
US11169819B2 (en) | Information handling system (IHS) and method to proactively restore firmware components to a computer readable storage device of an IHS | |
US8321843B2 (en) | Automatic analysis of an application's run-time settings | |
US10019598B2 (en) | Dynamic service discovery | |
TW200405982A (en) | Image-based software installation | |
US9916149B2 (en) | Information processing apparatus, control method for information processing apparatus, and storage medium of program for executing control method | |
US11307907B2 (en) | Information handling system and method to automatically synchronize operating system and boot firmware languages | |
JP7195796B2 (en) | Information processing device, control method for information processing device, and program | |
US20060031831A1 (en) | Generic packaging tool for packaging application and component therefor to be installed on computing device | |
US10025587B2 (en) | Method of bootup and installation, and computer system thereof | |
US11030047B2 (en) | Information handling system and method to restore system firmware to a selected restore point | |
US10795769B2 (en) | Facilitating the identification of a service operating system when a main operating system fails | |
CN111726818A (en) | Wireless chip testing method and device, computer equipment and storage medium | |
US9098701B2 (en) | Application module injection device, computing device including application module injection function, and recording medium for recording program for executing application module injection method | |
US11321461B2 (en) | Malware scan task processing in a data storage system | |
JP6834838B2 (en) | Computer boot method and computer | |
CN113742224A (en) | Test system, method, device, computer equipment and storage medium | |
US8782638B2 (en) | Execution pathway for interfacing with legacy programs in a mainframe environment | |
US20150212866A1 (en) | Management system for service of multiple operating environments, and methods thereof | |
WO2022179101A1 (en) | Software storage method under storage architecture | |
US8924963B2 (en) | In-process intermediary to create virtual processes | |
US11669618B2 (en) | Systems and methods for securing and loading bios drivers and dependencies in a predefined and measured load order | |
JP6882492B2 (en) | Software installation system, software installation method, and software installation program | |
US20210191705A1 (en) | Installing Multiple Patches During Upgrades |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200514 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20210105 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210118 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6834838 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |