JP2007114859A - Information processor and program relocation processing method - Google Patents
Information processor and program relocation processing method Download PDFInfo
- Publication number
- JP2007114859A JP2007114859A JP2005303166A JP2005303166A JP2007114859A JP 2007114859 A JP2007114859 A JP 2007114859A JP 2005303166 A JP2005303166 A JP 2005303166A JP 2005303166 A JP2005303166 A JP 2005303166A JP 2007114859 A JP2007114859 A JP 2007114859A
- Authority
- JP
- Japan
- Prior art keywords
- program
- application
- processing
- rearrangement
- necessity
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
Description
本発明は、情報処理装置およびプログラム再配置処理方法に関し、特に、予めアプリケーションの再配置処理を静的に行っておく情報処理装置およびプログラム再配置処理方法に関する。 The present invention relates to an information processing apparatus and a program rearrangement processing method, and more particularly to an information processing apparatus and a program rearrangement processing method in which application rearrangement processing is performed statically in advance.
再配置処理には大きく、
1.プログラム(EXEファイル、DLLファイル)のロードアドレスの変更。プログラム内でのアドレス参照の解決
2.依存(リンク)する他プログラムへのアドレス参照の解決
がある。
Great for relocation processing,
1. Change the load address of the program (EXE file, DLL file). 1. Address reference resolution in the program There is a resolution of address references to other programs that depend on (link).
OS[Operating System]は、これらの再配置処理をプログラム実行時に自動的に行う。 The OS [Operating System] automatically performs these rearrangement processes when the program is executed.
例えば、予め静的にアドレス解決された依存プログラム(DLL相当)を動的にロードすることで、再配置を行わずにプログラムロードを実現する動的リンクによるプログラムロード方式がある(例えば、特許文献1参照。)。 For example, there is a program load method using a dynamic link that dynamically loads a dependency program (equivalent to DLL) that has been statically address-resolved in advance, thereby realizing program loading without relocation (for example, Patent Documents) 1).
また、このような手法により、OSによる動的な再配置処理が発生しないため、プログラムロード処理を最適化することができ、また、複数のアプリケーションが同じ依存プログラム(DLL)に依存する際に、再配置処理によるコードページの書き換えが発生しないため、依存プログラムの(メモリ上の)全てのコードイメージを共有できることから、メモリの有効利用に繋がり、また、コードページの書き換えが発生しないため、ページアウト時にスワップファイルへの書き込み処理が発生しないことから、スワップファイルの有効利用に繋がる。
しかし、上述した1.プログラム(EXEファイル、DLLファイル)のロードアドレスの変更、プログラム内でのアドレス参照の解決は、それぞれのプログラム内での論理アドレスの変換であり、ソフトウェアの配布元で予め最適化が可能であるが、上述した2.依存(リンク)する他プログラムへのアドレス参照の解決は、各依存するプログラムで1の処理が予め行われていることが前提であり、且つ、依存するプログラムにはOS等から提供されるものが存在するため、インストール先の環境毎に最適化処理が必要となってしまう。 However, the above-mentioned 1. Changing the load address of the program (EXE file, DLL file) and resolving the address reference in the program is conversion of the logical address in each program, and can be optimized in advance by the software distributor. , 2. Resolving address references to other programs that depend (link) is based on the premise that one process is performed in advance in each dependent program, and the dependent program may be provided by the OS or the like. Because it exists, optimization processing is required for each installation destination environment.
ただし、2の処理に関しては、配布されるプログラムおよびOS等の他のプログラムがパッチ等により修正が入ると、公開アドレス値が変更されるため、2の処理の効果はなくなり、最適化を維持するためには、パッチ修正後に再度2の処理が必要となる。 However, with respect to the process 2, if the distributed program and other programs such as the OS are modified by a patch or the like, the public address value is changed, so the effect of the process 2 is lost and the optimization is maintained. For this purpose, the process 2 is required again after the patch correction.
そこで、本発明は、OS、ミドルウェア等、他社製品のパッチ等の変更により、再配置処理が無効化されるのを自動的に回復することが可能な情報処理装置およびプログラム再配置処理方法を提供することを目的とする。 Accordingly, the present invention provides an information processing apparatus and a program rearrangement processing method capable of automatically recovering from invalidation of rearrangement processing due to changes in patches of other companies' products such as OS and middleware. The purpose is to do.
上記目的を達成するため、請求項1の発明は、アプリケーションおよび該アプリケーションに依存する依存プログラムの再配置処理を行う情報処理装置において、前記アプリケーションおよび前記依存プログラムの変更の有無を検出し、該アプリケーションおよび該依存プログラムの再配置処理の必要性を検知する再配置処理必要性検知手段と、前記再配置処理必要性検知手段で再配置処理の必要性を検知した場合、前記再配置処理を開始するための処理を行う再配置処理開始手段と、前記アプリケーションおよび前記依存プログラムに対する再配置処理を実施する再配置処理手段とを具備することを特徴とする。 In order to achieve the above object, an invention according to claim 1 is directed to an information processing apparatus that performs relocation processing of an application and a dependent program depending on the application, and detects whether the application and the dependent program have been changed. And the relocation processing necessity detection means for detecting the necessity of the relocation processing of the dependent program, and the relocation processing is started when the necessity of the relocation processing is detected by the relocation processing necessity detection means. And a rearrangement processing means for performing a rearrangement process for the application and the dependent program.
また、請求項2の発明は、請求項1の発明において、前記再配置処理手段が前記再配置処理を実施している間の前記アプリケーションの起動を抑制するアプリケーション起動抑制手段を更に具備し、前記アプリケーションは、前記再配置処理必要性検知手段および前記再配置処理開始手段を内包し、前記再配置処理必要性検知手段は、前記アプリケーションが起動された際に、該アプリケーションおよび前記依存プログラムの再配置処理の必要性を検知することを特徴とする。 Further, the invention of claim 2 further comprises application activation suppressing means for suppressing activation of the application while the relocation processing means is executing the relocation processing in the invention of claim 1, The application includes the relocation processing necessity detection unit and the relocation processing start unit, and the relocation processing necessity detection unit relocates the application and the dependent program when the application is activated. It is characterized by detecting the necessity of processing.
また、請求項3の発明は、請求項1の発明において、前記再配置処理必要性検知手段は、基本ソフトウェアが起動された際に、前記アプリケーションおよび前記依存プログラムの再配置処理の必要性を検知することを特徴とする。 The invention according to claim 3 is the invention according to claim 1, wherein the relocation processing necessity detection means detects the necessity of relocation processing of the application and the dependent program when the basic software is activated. It is characterized by doing.
また、請求項4の発明は、請求項3の発明において、第1のプログラムが前記再配置処理必要性検知手段および前記再配置処理開始手段を内包し、第2のプログラムが前記再配置処理手段を内包する場合、前記基本ソフトウェアが起動された際に、前記第1のプログラムのみが起動し、前記再配置処理必要性検知手段で再配置処理の必要性を検知した場合、前記再配置処理開始手段が前記基本ソフトウェアの次回起動時に前記第2のプログラムが起動されるような設定を該基本ソフトウェアに対して行い前記基本ソフトウェアの次回起動時に、前記第2のプログラムのみが起動し、前記再配置処理手段が前記アプリケーションおよび前記依存プログラムに対する再配置処理を実施することを特徴とする。 According to a fourth aspect of the present invention, in the third aspect of the present invention, the first program includes the rearrangement process necessity detecting unit and the rearrangement process starting unit, and the second program includes the rearrangement unit. When the basic software is activated, only the first program is activated, and when the necessity of the rearrangement process is detected by the rearrangement process necessity detection unit, the rearrangement process starts. The setting is made for the basic software so that the second program is activated when the basic software is activated next time. When the basic software is activated next time, only the second program is activated, and the relocation is performed. The processing means implements a rearrangement process for the application and the dependent program.
また、請求項5の発明は、アプリケーションおよび該アプリケーションに依存する依存プログラムの再配置処理を行うプログラム再配置処理方法において、再配置処理必要性検知手段が前記アプリケーションおよび前記依存プログラムの変更の有無を検出し、該アプリケーションおよび該依存プログラムの再配置処理の必要性を検知し、前記再配置処理の必要性を検知した場合、再配置処理開始手段が前記再配置処理を開始するための処理を行い、再配置処理手段が前記アプリケーションおよび前記依存プログラムに対する再配置処理を実施することを特徴とする。 The invention according to claim 5 is the program relocation processing method for performing the relocation processing of the application and the dependent program depending on the application, wherein the relocation processing necessity detecting means detects whether or not the application and the dependent program are changed. Detecting and detecting the necessity of the rearrangement process of the application and the dependent program, and when the necessity of the rearrangement process is detected, the rearrangement process start means performs a process for starting the rearrangement process The relocation processing means implements relocation processing for the application and the dependent program.
また、請求項6の発明は、請求項5の発明において、前記アプリケーションが前記再配置処理必要性検知手段および前記再配置処理開始手段を内包する場合、前記アプリケーションが起動された際に、前記再配置処理必要性検知手段が該アプリケーションおよび前記依存プログラムの再配置処理の必要性を検知し、アプリケーション起動制御手段が前記再配置処理を実施している間の前記アプリケーションの起動を抑制することを特徴とする。 Further, in the invention of claim 6, in the invention of claim 5, when the application includes the relocation processing necessity detection unit and the relocation processing start unit, the relocation is performed when the application is activated. The arrangement processing necessity detection means detects the necessity of the application and the dependency program relocation processing, and the application activation control means suppresses the activation of the application while the relocation processing is being performed. And
また、請求項7の発明は、請求項5の発明において、前記再配置処理必要性検知手段は、基本ソフトウェアが起動された際に、前記アプリケーションおよび前記依存プログラムの再配置処理の必要性を検知することを特徴とする。 The invention according to claim 7 is the invention according to claim 5, wherein the relocation processing necessity detection means detects the necessity for the relocation processing of the application and the dependent program when the basic software is activated. It is characterized by doing.
また、請求項8の発明は、請求項7の発明において、第1のプログラムが前記再配置処理必要性検知手段および前記再配置処理開始手段を内包し、第2のプログラムが前記再配置処理手段を内包する場合、前記基本ソフトウェアが起動された際に、前記第1のプログラムのみが起動し、前記再配置処理必要性検知手段で再配置処理の必要性を検知した場合、前記再配置処理開始手段が前記基本ソフトウェアの次回起動時に前記第2のプログラムが起動されるような設定を該基本ソフトウェアに対して行い、前記基本ソフトウェアの次回起動時に、前記第2のプログラムのみが起動し、前記再配置処理手段が前記アプリケーションおよび前記依存プログラムに対する再配置処理を実施することを特徴とする。 The invention according to claim 8 is the invention according to claim 7, wherein the first program includes the relocation processing necessity detection means and the relocation processing start means, and the second program stores the relocation processing means. When the basic software is activated, only the first program is activated, and when the necessity of the rearrangement process is detected by the rearrangement process necessity detection unit, the rearrangement process starts. The setting is made for the basic software so that the second program is activated when the basic software is activated next time, and when the basic software is activated next time, only the second program is activated, The arrangement processing means executes a rearrangement process for the application and the dependent program.
本発明によれば、OS、ミドルウェア等、アプリケーションが依存する他のプログラムのパッチの有無を検知し、リンク先プログラムへのアドレス参照の解決を自動で施すことで、プログラム起動の最適化、メモリの有効利用、スワップファイルの有効利用を維持することが可能になるという効果を奏する。 According to the present invention, by detecting the presence or absence of patches of other programs such as OS and middleware that depend on the application and automatically resolving the address reference to the link destination program, optimization of program startup, memory It is possible to maintain effective use and effective use of the swap file.
以下、本発明に係る情報処理装置およびプログラム再配置処理方法の実施の形態について添付図面を参照して詳細に説明する。 Embodiments of an information processing apparatus and a program rearrangement processing method according to the present invention will be described below in detail with reference to the accompanying drawings.
図1は、本発明の構成要件の各手段の実現方法の可能な組み合わせの実施例1を示す図である。 FIG. 1 is a diagram showing a first example of a possible combination of methods for realizing each means of the constituent elements of the present invention.
なお、実施例1では、アプリケーション起動時に再配置処理の必要性を検知する構成について説明する。 In the first embodiment, a configuration for detecting the necessity of rearrangement processing when an application is activated will be described.
本発明の構成要件は、アプリケーション1の依存する各依存プログラム2(即ち、依存DLL[Dynamic Link Library])がパッチ等により変更されていないか検出する再配置処理必要性検知手段3と、再配置処理必要性検知手段3で再配置処理の必要性が検出された際に再配置処理を開始する再配置処理開始手段4と、再配置処理開始手段4での開始により再配置処理を実施する再配置処理手段5と、再配置処理手段5が再配置処理実施中にアプリケーション1の起動を抑制するアプリケーション起動抑制手段6とから成る。 The configuration requirements of the present invention include a relocation processing necessity detection unit 3 that detects whether each dependent program 2 (that is, a dependent DLL [Dynamic Link Library]) on which the application 1 depends has been changed by a patch, and the like. The rearrangement process start unit 4 that starts the rearrangement process when the necessity of the rearrangement process is detected by the processing necessity detection unit 3, and the rearrangement process that is executed by the start of the rearrangement process start unit 4 The arrangement processing means 5 and the application activation suppressing means 6 for suppressing the activation of the application 1 while the rearrangement processing means 5 performs the arrangement processing.
図1に示すように、依存プログラム2(依存DLL1、依存DLL2、…、依存DLLN)を有するアプリケーション1は再配置処理必要性検知手段3と再配置処理開始手段4とを具備し、再配置処理の必要性がありと検知された際に起動される更新用プログラム7は再配置処理手段5とアプリケーション起動抑制手段6とを具備している。 As shown in FIG. 1, an application 1 having a dependency program 2 (dependency DLL1, dependency DLL2,..., Dependency DLLN) includes a rearrangement process necessity detection unit 3 and a rearrangement process start unit 4. The update program 7 that is activated when it is detected that there is a necessity is provided with relocation processing means 5 and application activation suppression means 6.
これらの各手段の機能的な動作について説明する。 The functional operation of each of these means will be described.
アプリケーション1が起動されると、アプリケーション1内の再配置処理必要性検知手段3が再配置処理の必要性の検知を行う。 When the application 1 is activated, the rearrangement process necessity detection unit 3 in the application 1 detects the necessity of the rearrangement process.
なお、検知方法として、ロードされたプログラムの各コードページ領域(仮想アドレス上のプログラムコードが配置されるページ)がOSにより動的な再配置処理が行われたことを示すDirty(ページアウト時にスワップファイルへの書き出しが必要)であるか、Read Only(Dirtyではない)であるか判別する。Read Onlyであれば、再配置処理の必要性がないと判断し、Dirtyであれば、再配置処理の必要性はありと判断する(即ち、OSにより動的な再配置処理が行われた→適切な静的は配置処理が行われた→再配置処理が必要)。 As a detection method, each code page area of the loaded program (a page on which a program code on a virtual address is arranged) is Dirty (swap at page-out) indicating that dynamic relocation processing has been performed by the OS. Whether writing to a file is necessary) or Read Only (not Dirty). If Read Only, it is determined that there is no need for relocation processing, and if it is Dirty, it is determined that relocation processing is necessary (that is, dynamic relocation processing has been performed by the OS → Appropriate static is placement processing → relocation processing is required).
また、Dirtyの判別の他に、
(a)依存プログラムのリスト、および各依存プログラム毎に参照アドレスとその論理名の対のリストである図5に示す参照先リスト(なお、参照先リストは全てのプログラム(例えば、EXE、DLL等)が本発明とは無関係に元来有している)から依存プログラムを抽出する処理
(b)(a)の処理で抽出した各プログラム毎に論理名をキーに参照アドレスを抽出し、参照先プログラムの自身の論理名とアドレスの対のリストであるシンボル情報と比較し、該当アドレスの変更の有無を調べる処理
を合わせて行うことで、再配置処理の必要性を検知しても良い。なお、これらの処理の完了時に、調査結果を予め再配置処理候補リストとして作成しておき、その後起動する更新用プログラム7に当該再配置処理候補リストを渡す。
In addition to the determination of Dirty,
(A) A list of dependent programs, and a reference destination list shown in FIG. 5 which is a list of reference addresses and logical names for each dependent program (note that the reference destination list is all programs (for example, EXE, DLL, etc.) ) Originally has an unrelated to the present invention) (b) A reference address is extracted using a logical name as a key for each program extracted in the process of (a), and a reference destination The necessity of relocation processing may be detected by comparing the symbol information, which is a list of the program's own logical name and address pair, and checking whether the corresponding address has been changed. When these processes are completed, the investigation result is created in advance as a rearrangement process candidate list, and the rearrangement process candidate list is passed to the update program 7 to be started thereafter.
再配置処理必要性検知手段3で再配置処理の必要性を検知した場合、アプリケーション1内の再配置処理開始手段4が再配置処理を開始する。なお、再配置処理の開始タイミングとして、更新のためにアプリケーション1は終了され、同時に更新用プログラム7を起動する。 When the necessity of the rearrangement process is detected by the rearrangement process necessity detection unit 3, the rearrangement process start unit 4 in the application 1 starts the rearrangement process. Note that as the start timing of the rearrangement process, the application 1 is terminated for updating, and the updating program 7 is started at the same time.
更新用プログラム7が起動すると、更新用プログラム7内の再配置処理手段5が再配置処理を実施する。 When the update program 7 is activated, the rearrangement processing means 5 in the update program 7 performs the rearrangement process.
なお、再配置処理必要性検知手段3がDirtyの判別のみを行った場合、再配置処理手段5は、アプリケーション1および依存プログラム2に対し、上述した(a)の処理および(b)の処理を行い、変更が検知された参照先のアドレスに対し、参照先リストを更新する。 When the relocation processing necessity detection unit 3 performs only Dirty determination, the relocation processing unit 5 performs the above-described processes (a) and (b) on the application 1 and the dependent program 2. The reference destination list is updated with respect to the reference destination address where the change is detected.
また、再配置処理必要性検知手段3がDirtyの判別と合わせて(a)の処理および(b)の処理を行った場合、再配置処理必要性検知手段3が作成した再配置処理候補リストを受け取り、再配置処理候補リストに基づいて変更が検知された参照先のアドレスに対し、参照先リストを更新する。 Further, when the rearrangement process necessity detection unit 3 performs the process (a) and the process (b) together with the determination of Dirty, the rearrangement process necessity detection unit 3 creates the rearrangement process candidate list created by the rearrangement process necessity detection unit 3. The reference destination list is updated with respect to the address of the reference destination received and received based on the rearrangement process candidate list.
更新用プログラム7内のアプリケーション起動抑制手段6が再配置処理手段5が再配置処理実施中にアプリケーション1の起動を抑制する。 The application activation suppression means 6 in the update program 7 suppresses activation of the application 1 while the relocation processing means 5 is executing the relocation processing.
なお、抑制方法として、アプリケーション1のプログラム(EXE)の実行権限を一時的に剥奪する方法、または、アプリケーション1を起動する起動用プログラムを用意し、ユーザが直接参照できるのは当該起動用プログラムだけとし、当該起動用プログラムは更新用プログラムが起動していないことをチェックし、アプリケーション1の起動の可否を判断する方法等がある。 As a suppression method, a method for temporarily revoking the execution authority of the program (EXE) of the application 1 or a startup program for starting the application 1 is prepared, and only the startup program can be directly referred to by the user. For example, there is a method for checking whether or not the update program is activated and determining whether or not the application 1 can be activated.
そして、再配置処理手段5が再配置処理を終了すると、更新用プログラム7はアプリケーション起動抑制を解除し、アプリケーション1を再起動する。 When the rearrangement processing unit 5 finishes the rearrangement process, the update program 7 cancels the application activation suppression and restarts the application 1.
次に、アプリケーションおよび更新用プログラムで行われる処理の流れについて図2に示すフローチャートを参照して説明する。 Next, the flow of processing performed by the application and the update program will be described with reference to the flowchart shown in FIG.
アプリケーションが起動すると(ステップS201)、アプリケーション内の再配置処理の必要性を検知する(ステップS202)。 When the application is activated (step S201), the necessity of relocation processing in the application is detected (step S202).
再配置処理の必要性がなしと検知した場合(ステップS203でNO)、処理を終了し、また、再配置処理の必要性がありと検知した場合(ステップS203でYES)、アプリケーションを終了し(ステップS204)、更新用プログラムを起動し(ステップS205)、更新用プログラムがアプリケーション内の再配置処理を実施し(ステップS206)、アプリケーションが起動命令を受け付けていない場合(ステップS207でNO)、ステップS209に進み、また、アプリケーションが起動命令を受け付けた場合(ステップS207でYES)、アプリケーションの起動を抑制する(ステップS208)。 If it is detected that the rearrangement process is not necessary (NO in step S203), the process ends. If it is detected that the rearrangement process is necessary (YES in step S203), the application is terminated ( Step S204), the update program is started (Step S205), the update program performs relocation processing in the application (Step S206), and if the application does not accept the start command (NO in Step S207), Step Proceeding to S209, and if the application receives an activation command (YES in step S207), activation of the application is suppressed (step S208).
そして、再配置処理が終了すると(ステップS209でYES)、アプリケーションを再起動させ(ステップS210)、処理を終了する。 When the rearrangement process ends (YES in step S209), the application is restarted (step S210), and the process ends.
なお、実施例1では、再配置処理必要性検知手段および再配置処理開始手段をアプリケーションが有する構成について説明したが、アプリケーションおよび更新用プログラムとは別のプログラムがこれらの手段を有し、別のプログラムによりアプリケーション内の再配置処理の必要性を検知する構成でも適用可能である。 In the first embodiment, the configuration in which the application includes the rearrangement process necessity detection unit and the rearrangement process start unit has been described. However, a program other than the application and the update program includes these units, The present invention can also be applied to a configuration in which the necessity of relocation processing in an application is detected by a program.
また、実施例1では、アプリケーション起動時に再配置処理の必要性の有無を検出する構成について説明したが、アプリケーション終了時に再配置処理の必要性の有無を検出する構成でも適用可能である。 In the first embodiment, the configuration for detecting the necessity of the rearrangement process when the application is activated has been described. However, the configuration for detecting the necessity of the rearrangement process at the end of the application is also applicable.
図3は、本発明の構成要件の各手段の実現方法の可能な組み合わせの実施例2を示す図である。 FIG. 3 is a diagram showing a second example of a possible combination of methods for realizing each means of the constituent elements of the present invention.
なお、実施例2では、OS起動時に再配置処理の必要性を検知する構成について説明する。 In the second embodiment, a configuration for detecting the necessity of the rearrangement process when the OS is started will be described.
本発明の構成要件は、アプリケーション1の依存する各依存プログラム2(即ち、依存DLL)がパッチ等により変更されていないか検出する再配置処理必要性検知手段3と、再配置処理必要性検知手段3で再配置処理の必要性が検出された際に再配置処理を開始する再配置処理開始手段4と、再配置処理開始手段4での開始により再配置処理を実施する再配置処理手段5とから成る。 The configuration requirements of the present invention include a relocation processing necessity detection unit 3 that detects whether each dependent program 2 (that is, a dependency DLL) on which the application 1 depends has been changed by a patch or the like, and a relocation processing necessity detection unit A rearrangement processing start unit 4 for starting the rearrangement processing when the necessity for the rearrangement processing is detected in 3; and a rearrangement processing unit 5 for executing the rearrangement processing by the start of the rearrangement processing start unit 4; Consists of.
図3に示すように、アプリケーション1は依存プログラム2(依存DLL1、依存DLL2、…、依存DLLN)を有し、OS8の起動時に起動される再配置処理必要性検知プログラム9は再配置処理必要性検知手段3と再配置処理開始手段4とを具備し、再配置処理の必要性がありと検知され、次のOS8の起動時に起動される更新用プログラム7は再配置処理手段5を具備している。 As shown in FIG. 3, the application 1 has a dependency program 2 (dependency DLL1, dependency DLL2,..., Dependency DLLN), and the relocation processing necessity detection program 9 that is activated when the OS 8 is started up requires the relocation processing. The update program 7 that includes the detection unit 3 and the rearrangement process start unit 4 and detects that the rearrangement process is necessary and is started when the next OS 8 is started up includes the rearrangement unit 5. Yes.
これらの各手段の機能的な動作について説明する。 The functional operation of each of these means will be described.
OS8が起動されると、OS8の起動時にバックグラウンドで再配置処理必要性検知プログラム9が起動され、再配置処理必要性検知プログラム9の再配置処理必要性検知手段3がアプリケーション1の再配置処理の必要性の検知を行う。 When the OS 8 is activated, the relocation processing necessity detection program 9 is activated in the background when the OS 8 is activated, and the relocation processing necessity detection unit 3 of the relocation processing necessity detection program 9 performs the relocation processing of the application 1. Detect the need for
なお、検知方法として、アプリケーション1および依存プログラム2に対し、再帰的に以下の処理が行われる。 As a detection method, the following processing is recursively performed on the application 1 and the dependent program 2.
(a)依存プログラムのリスト、および各依存プログラム毎に参照アドレスとその論理名の対のリストである図5に示す参照先リストから依存プログラムを抽出する処理
(b)(a)の処理で抽出した各プログラム毎に論理名をキーに参照アドレスを抽出し、参照先プログラムの自身の論理名とアドレスの対のリストであるシンボル情報と比較し、該当アドレスの変更の有無を調べる処理
ここで、該当アドレスの変更があれば、再配置処理の必要性がありと判断し、該当アドレスの変更がなければ、再配置処理の必要性はなしと判断する。なお、これらの処理の完了時に、調査結果を予め再配置処理候補リストとして作成しておき、その後起動する更新用プログラムに当該再配置処理候補リストを渡す。
(A) Processing for extracting a dependent program from the reference destination list shown in FIG. 5 which is a list of dependent programs and a list of pairs of reference addresses and logical names for each dependent program. For each program, a reference address is extracted using a logical name as a key, and compared with symbol information that is a list of a pair of a logical name and an address of a reference destination program, and checks whether the corresponding address has been changed. If there is a change in the corresponding address, it is determined that there is a need for relocation processing, and if there is no change in the corresponding address, it is determined that there is no need for relocation processing. When these processes are completed, the investigation result is created in advance as a rearrangement process candidate list, and the rearrangement process candidate list is passed to an update program that is started thereafter.
再配置処理必要性検知手段3で再配置処理の必要性を検知した場合、再配置処理必要性検知プログラム9内の再配置処理開始手段5が、OS8に対し、OS8の次回起動時に更新用プログラム7が起動されるような設定を行う。これは、通常のソフトウェアインストール/アンインストールにおける、OS8の再起動に伴う後処理と同じ機構で行われる。 When the necessity of the rearrangement process is detected by the rearrangement process necessity detection unit 3, the rearrangement process start unit 5 in the rearrangement process necessity detection program 9 updates the OS 8 with the update program at the next startup of the OS 8. 7 is activated. This is performed by the same mechanism as the post-processing associated with restarting the OS 8 in normal software installation / uninstallation.
この場合、再配置処理が完了するまで、OS8の起動が完了しないため、実施例2では発明の構成要件のアプリケーション起動抑制手段6は不要となる。 In this case, since the activation of the OS 8 is not completed until the rearrangement process is completed, the application activation suppressing unit 6 which is a configuration requirement of the invention is not necessary in the second embodiment.
そして、OS8の次回起動時に更新用プログラム7が起動すると、更新用プログラム7内の再配置処理手段5が再配置処理を実施する。 Then, when the update program 7 is activated at the next activation of the OS 8, the relocation processing means 5 in the update program 7 performs the relocation processing.
なお、再配置処理手段5は、再配置処理必要性検知手段3が作成した再配置処理候補リストを受け取り、再配置処理候補リストに基づいて変更が検知された参照先のアドレスに対し、参照先リストを更新する。 The rearrangement processing unit 5 receives the rearrangement process candidate list created by the rearrangement process necessity detection unit 3, and refers to the reference destination address whose change is detected based on the rearrangement process candidate list. Update the list.
そして、再配置処理手段5が再配置処理を終了すると、OS8の起動が完了する。 When the rearrangement processing unit 5 finishes the rearrangement process, the activation of the OS 8 is completed.
次に、再配置処理必要性検知プログラムおよび更新用プログラムで行われる処理の流れについて図4に示すフローチャートを参照して説明する。 Next, the flow of processing performed by the relocation processing necessity detection program and the update program will be described with reference to the flowchart shown in FIG.
OSが起動すると(ステップS401)、再配置処理必要性検知プログラムが起動し(ステップS402)、アプリケーション内の再配置処理の必要性を検知する(ステップS403)。 When the OS is activated (step S401), the relocation processing necessity detection program is activated (step S402), and the necessity of the relocation processing in the application is detected (step S403).
再配置処理の必要性がなしと検知した場合(ステップS404でNO)、処理を終了し、また、再配置処理の必要性がありと検知した場合(ステップS404でYES)、OSの次回起動時に更新用プログラムを起動するようにOSに対して設定する(ステップS405)。 If it is detected that the rearrangement process is not necessary (NO in step S404), the process ends. If it is detected that the rearrangement process is necessary (YES in step S404), the next time the OS is started. The OS is set to start the update program (step S405).
そして、OSが起動すると(ステップS406でYES)、更新用プログラムを起動し(ステップS407)、更新用プログラムがアプリケーション内の再配置処理を実施する(ステップS408)。 When the OS is activated (YES in step S406), the update program is activated (step S407), and the update program performs relocation processing in the application (step S408).
そして、再配置処理が終了すると(ステップS409でYES)、OSの起動が完了すると(ステップS410でYES)、処理を終了する。 When the rearrangement process ends (YES in step S409), the process ends when the activation of the OS is completed (YES in step S410).
本発明は、上記し、且つ図面に示し実施例に限定することなく、その要旨を変更しない範囲内で適宜変形して実施できるものである。 The present invention is not limited to the embodiments described above and shown in the drawings, and can be implemented with appropriate modifications within the scope not changing the gist thereof.
1 アプリケーション
2 依存プログラム
3 再配置処理必要性検知手段
4 再配置処理開始手段
5 再配置処理手段
6 アプリケーション起動抑制手段
7 更新用プログラム
8 OS
9 再配置処理必要性検知プログラム
DESCRIPTION OF SYMBOLS 1 Application 2 Dependent program 3 Relocation processing necessity detection means 4 Relocation processing start means 5 Relocation processing means 6 Application activation suppression means 7 Update program 8 OS
9 Relocation processing necessity detection program
Claims (8)
前記アプリケーションおよび前記依存プログラムの変更の有無を検出し、該アプリケーションおよび該依存プログラムの再配置処理の必要性を検知する再配置処理必要性検知手段と、
前記再配置処理必要性検知手段で再配置処理の必要性を検知した場合、前記再配置処理を開始するための処理を行う再配置処理開始手段と、
前記アプリケーションおよび前記依存プログラムに対する再配置処理を実施する再配置処理手段と
を具備することを特徴とする情報処理装置。 In an information processing apparatus that performs rearrangement processing of an application and a dependent program that depends on the application,
Relocation processing necessity detection means for detecting whether or not the application and the dependent program have been changed, and detecting the necessity of relocation processing of the application and the dependent program;
When the necessity of the rearrangement process is detected by the rearrangement process necessity detection unit, a rearrangement process start unit that performs a process for starting the rearrangement process;
An information processing apparatus comprising: a rearrangement processing unit that performs a rearrangement process on the application and the dependent program.
を更に具備し、
前記アプリケーションは、
前記再配置処理必要性検知手段および前記再配置処理開始手段を内包し、
前記再配置処理必要性検知手段は、
前記アプリケーションが起動された際に、該アプリケーションおよび前記依存プログラムの再配置処理の必要性を検知する
ことを特徴とする請求項1記載の情報処理装置。 An application activation suppression unit that suppresses activation of the application while the relocation processing unit performs the relocation processing;
The application is
Including the rearrangement process necessity detection unit and the rearrangement process start unit;
The relocation processing necessity detection means includes:
The information processing apparatus according to claim 1, wherein when the application is activated, the necessity of relocation processing of the application and the dependent program is detected.
基本ソフトウェアが起動された際に、前記アプリケーションおよび前記依存プログラムの再配置処理の必要性を検知する
ことを特徴とする請求項1記載の情報処理装置。 The relocation processing necessity detection means includes:
The information processing apparatus according to claim 1, wherein the necessity of relocation processing of the application and the dependent program is detected when basic software is activated.
前記基本ソフトウェアが起動された際に、前記第1のプログラムのみが起動し、
前記再配置処理必要性検知手段で再配置処理の必要性を検知した場合、前記再配置処理開始手段が前記基本ソフトウェアの次回起動時に前記第2のプログラムが起動されるような設定を該基本ソフトウェアに対して行い
前記基本ソフトウェアの次回起動時に、前記第2のプログラムのみが起動し、
前記再配置処理手段が前記アプリケーションおよび前記依存プログラムに対する再配置処理を実施する
ことを特徴とする請求項3記載の情報処理装置。 When the first program includes the rearrangement processing necessity detection unit and the rearrangement processing start unit, and the second program includes the rearrangement processing unit,
When the basic software is activated, only the first program is activated,
When the necessity of the rearrangement process is detected by the rearrangement process necessity detection unit, the basic software is set so that the second program is started when the rearrangement process start unit starts the basic software next time. When the basic software is started next time, only the second program is started,
The information processing apparatus according to claim 3, wherein the relocation processing unit performs relocation processing on the application and the dependent program.
再配置処理必要性検知手段が前記アプリケーションおよび前記依存プログラムの変更の有無を検出し、該アプリケーションおよび該依存プログラムの再配置処理の必要性を検知し、
前記再配置処理の必要性を検知した場合、再配置処理開始手段が前記再配置処理を開始するための処理を行い、
再配置処理手段が前記アプリケーションおよび前記依存プログラムに対する再配置処理を実施する
ことを特徴とするプログラム再配置処理方法。 In a program relocation processing method for performing relocation processing of an application and a dependent program depending on the application,
Relocation processing necessity detection means detects whether or not the application and the dependent program have been changed, detects the necessity of relocation processing of the application and the dependent program,
When the necessity of the rearrangement process is detected, the rearrangement process start means performs a process for starting the rearrangement process,
A program rearrangement processing method, wherein the rearrangement processing means performs rearrangement processing on the application and the dependent program.
前記アプリケーションが起動された際に、前記再配置処理必要性検知手段が該アプリケーションおよび前記依存プログラムの再配置処理の必要性を検知し、
アプリケーション起動制御手段が前記再配置処理を実施している間の前記アプリケーションの起動を抑制する
ことを特徴とする請求項5記載のプログラム再配置処理方法。 When the application includes the rearrangement process necessity detection unit and the rearrangement process start unit,
When the application is activated, the relocation processing necessity detection unit detects the necessity of the relocation processing of the application and the dependent program,
The program relocation processing method according to claim 5, wherein the application activation control unit suppresses activation of the application while the relocation processing is being performed.
基本ソフトウェアが起動された際に、前記アプリケーションおよび前記依存プログラムの再配置処理の必要性を検知する
ことを特徴とする請求項5記載のプログラム再配置処理方法。 The relocation processing necessity detection means includes:
6. The program relocation processing method according to claim 5, wherein when the basic software is activated, the necessity of relocation processing of the application and the dependent program is detected.
前記基本ソフトウェアが起動された際に、前記第1のプログラムのみが起動し、
前記再配置処理必要性検知手段で再配置処理の必要性を検知した場合、前記再配置処理開始手段が前記基本ソフトウェアの次回起動時に前記第2のプログラムが起動されるような設定を該基本ソフトウェアに対して行い、
前記基本ソフトウェアの次回起動時に、前記第2のプログラムのみが起動し、
前記再配置処理手段が前記アプリケーションおよび前記依存プログラムに対する再配置処理を実施する
ことを特徴とする請求項7記載のプログラム再配置処理方法。 When the first program includes the rearrangement processing necessity detection unit and the rearrangement processing start unit, and the second program includes the rearrangement processing unit,
When the basic software is activated, only the first program is activated,
When the necessity of the rearrangement process is detected by the rearrangement process necessity detecting unit, the basic software is set so that the second program is started when the rearrangement process starting unit starts the basic software next time. To
When the basic software is activated next time, only the second program is activated.
The program rearrangement processing method according to claim 7, wherein the rearrangement processing unit performs a rearrangement process on the application and the dependent program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005303166A JP2007114859A (en) | 2005-10-18 | 2005-10-18 | Information processor and program relocation processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005303166A JP2007114859A (en) | 2005-10-18 | 2005-10-18 | Information processor and program relocation processing method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007114859A true JP2007114859A (en) | 2007-05-10 |
Family
ID=38096998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005303166A Pending JP2007114859A (en) | 2005-10-18 | 2005-10-18 | Information processor and program relocation processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007114859A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011165129A (en) * | 2010-02-15 | 2011-08-25 | Nippon Telegr & Teleph Corp <Ntt> | Device and method for creating performance required patch list |
-
2005
- 2005-10-18 JP JP2005303166A patent/JP2007114859A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011165129A (en) * | 2010-02-15 | 2011-08-25 | Nippon Telegr & Teleph Corp <Ntt> | Device and method for creating performance required patch list |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5095717B2 (en) | Method, system, program and computer readable medium having instructions for performing said method for installing a reduced operating system image on a target medium | |
JP5663006B2 (en) | System and method for building a runtime environment | |
US8745601B1 (en) | Methods and systems for using data structures for operating systems | |
US8578367B2 (en) | Method for enabling the installation of software applications on locked-down computers | |
US10353687B2 (en) | Application virtualization | |
TWI450090B (en) | Method and system of changing a startup list of programs to determine whether computer system performance increases | |
US7308547B2 (en) | Apparatus and method for control of write filter | |
US20050228769A1 (en) | Method and programs for coping with operating system failures | |
JP2022110133A (en) | Method of publishing multiple binary images from firmware, and electronic device | |
CN111045712A (en) | Single system upgrading method and system with backup function | |
JP2007280274A (en) | Configuration change program and information processor | |
CN100374969C (en) | Method for searching and killing virus and computer therefor | |
JP2007114859A (en) | Information processor and program relocation processing method | |
CN115495158B (en) | Dynamic construction method for system service in microkernel operating system | |
JP2010225099A (en) | Information processing apparatus, method for controlling the same, and program | |
JP2010020713A (en) | Access monitoring system and access monitoring method | |
JP5585502B2 (en) | Information processing apparatus and firmware update method thereof | |
JP6822203B2 (en) | Firmware Execution Device, Driver Execution Device, Driver Management Device, Firmware Management Device, Computer Device, Method and Program | |
JP2020080120A (en) | Information processing device, update method of information processing device, and update program of information processing device | |
US20170357558A1 (en) | Apparatus and method to enable a corrected program to take over data used before correction thereof | |
JP2009075992A (en) | Method of collecting memory dump in information processor | |
JP5338610B2 (en) | Information processing apparatus, information processing method, and program | |
JP2011097365A (en) | Image forming apparatus | |
JP4937200B2 (en) | Image inspection apparatus, OS apparatus, and image inspection method | |
JP6072521B2 (en) | Computer start system, computer start program, computer, and computer start method |