JP3674446B2 - Individual application patch management apparatus and individual application patch management method - Google Patents
Individual application patch management apparatus and individual application patch management method Download PDFInfo
- Publication number
- JP3674446B2 JP3674446B2 JP2000068627A JP2000068627A JP3674446B2 JP 3674446 B2 JP3674446 B2 JP 3674446B2 JP 2000068627 A JP2000068627 A JP 2000068627A JP 2000068627 A JP2000068627 A JP 2000068627A JP 3674446 B2 JP3674446 B2 JP 3674446B2
- Authority
- JP
- Japan
- Prior art keywords
- application
- individual
- patch
- virtual
- virtual address
- 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.)
- Expired - Fee Related
Links
- 238000007726 management method Methods 0.000 title claims description 76
- 238000000034 method Methods 0.000 claims description 16
- 230000000873 masking effect Effects 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Stored Programmes (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、OS(オペレーティングシステム)に対して一般的に適用されるパッチ以外の特定のパッチ(以下、個別パッチという)の適用を要求する特定のアプリケーション(以下、特定アプリケーションという)の実行時に、OSに対する個別パッチの適用を管理する個別アプリケーションパッチ管理装置及び個別アプリケーションパッチ管理方法に関し、特に、特定アプリケーション間でタスクが切り替わるとき、その特定アプリケーションの切り替えに応じて、個別パッチのOSに対する適用状況を動的に切り替える個別アプリケーションパッチ管理装置及び個別アプリケーションパッチ管理方法に関する。
【0002】
【従来の技術】
従来、OSに対して適用されるパッチは一般に全てのアプリケーションに作用するが、特定アプリケーションが要求するパッチをOSに適用すると、他のアプリケーションを実行させる際に不具合が生じてしまうことがある。
【0003】
ここで、本発明と技術分野が類似する従来技術の具体例として、特開平5−241814号公報、及び特開平3−166624号公報に開示されるものがある。
【0004】
既にパッチによって修正されたロードモジュールを実行する際には、このロードモジュールがロードされるときに全てのパッチが反映されてしまう。これまで、その一部のパッチを修正してロードモジュールを実行したい場合は、実行前にそのロードモジュールを修正していた。
【0005】
これに対し、特開平5−241814号公報では、ロードモジュールに既に格納されているパッチを実行時に修正・削除でき、用途にあわせて容易にロードモジュールを実行できるパッチ管理装置を提供している。
【0006】
また同じく、特開平3−166624号公報においても、パッチよって修正されたロードモジュールを実行する場合に、そのロードモジュールのロード時に無条件に全てのパッチが実行形式プログラムに反映されていたという、これまでの背景に基づくものが開示されており、本従来例では、パッチを一括して管理することで、ロードモジュールのロード時に実行形式プログラムに反映させるパッチを用途別に選択できるようにしている。
【0007】
【発明が解決しようとする課題】
しかしながら、上記従来例はいずれも、用途に合わせて実行形式プログラムに反映させるパッチを修正・削除するためには、ユーザからのパッチ修正指示の入力を必要としている。また、このようなユーザからのパッチ修正指示の入力に基づくパッチ修正は、このパッチ修正指示の入力時点に限られるものであり、用途が変わるたびに、ユーザは、また新たにパッチ修正指示の入力を行わなければならない。
【0008】
従って、本発明は、特定アプリケーションが要求する個別パッチをOSに適用させる際に、特定アプリケーション毎にOSへの適用が要求される個別パッチを判断し、パッチ修正指示等のユーザからの入力を必要とせず、特定アプリケーションの実行時におけるOSに対するパッチ適用状況を動的に切り替えることが可能な個別アプリケーションパッチ管理装置及び個別アプリケーションパッチ管理方法を提供することを目的とする。
【0009】
また、本発明は、一つのアプリケーションに対しユーザ毎に適用が要求される特定のパッチ(以下、同じく個別パッチという)を判断し、パッチ修正指示等のユーザからの入力を必要とせず、このアプリケーションが使用される際に、使用するユーザ毎にアプリケーションに対するパッチ適用状況を動的に切り替えることが可能な個別アプリケーションパッチ管理装置及び個別アプリケーションパッチ管理方法を提供することを目的とする。
【0010】
また、本発明は、ユーザが特定アプリケーションを使用してない場合、或いは、ユーザ側で出力ファイルを加工するなどバグ回避の工夫をしている場合には、外部からのユーザからの入力により、その特定アプリケーションが要求するOSへの個別パッチ適用を無効、或いは、その特定アプリケーションが要求するOSへの個別パッチ適用のレベルを変化させる個別アプリケーションパッチ管理装置及び個別アプリケーションパッチ管理方法を提供することを目的とする。
【0011】
さらに、本発明は、ユーザが特定アプリケーションを使用する上において、この特定アプリケーションが要求する個別パッチをOSに対して適用することが好ましくない場合に、OSに対する不要な個別パッチの適用を避けることができる個別アプリケーションパッチ管理装置及び個別アプリケーションパッチ管理方法を提供することを目的とする。
【0012】
【課題を解決するための手段】
かかる目的を達成するために、請求項1記載の発明は、OSにおけるタスクの切り替えとして特定アプリケーションへのタスクの切り替えが発生した際に、メモリアクセスがあったときに特定アプリケーションがOSへの適用を要求する個別パッチの仮想記憶空間上の仮想アドレスを指すように、TLB(Translation-Lookaside buffer) の内容を書き替えることを特徴とする。
【0013】
請求項2記載の発明は、請求項1記載の発明において、TLB内で個別パッチが登録されるカーネルファイルの仮想アドレスを個別パッチの仮想アドレスに書き替えることにより、カーネルファイルの仮想アドレスでメモリアクセスがあったときに個別パッチの仮想アドレスを指すように、TLBの内容を書き替えることを特徴とする。
【0014】
請求項3記載の発明は、カーネルファイルを読み込み仮想記憶空間上の仮想メモリへ配置させると共に、カーネルファイルに対して特定アプリケーションがOSへの適用を要求する個別パッチが登録されていれば、個別パッチを仮想記憶空間上に読み込み、カーネルファイルの仮想記憶空間上の仮想アドレス、個別パッチの仮想記憶空間上の仮想アドレス、及び特定アプリケーションの名称を、情報として出力するカーネル読み込み手段と、カーネル読み込み手段から出力された情報をテーブル形式で保持するTLB読み替えページテーブルと、OSにおけるタスクの切り替えとして特定アプリケーションへのタスクの切り替えを検出するOSタスク切り替え手段とを有し、OSタスク切り替え手段により特定アプリケーションへのタスクの切り替えが検出されたとき、検出された特定アプリケーションの名称がTLB読み替えページテーブル上に登録されていれば、特定アプリケーションの名称に伴って登録される仮想記憶空間上の前記個別パッチの仮想アドレス及び仮想メモリ内のカーネルファイルの仮想アドレスに基づいて、TLB(Translation-Lookaside buffer) が書き替えられることを特徴とする。
【0015】
請求項4記載の発明は、請求項3記載の発明において、OSタスク切り替え手段により特定アプリケーションへのタスクの切り替えが検出されると、カーネルファイルの仮想アドレスと対応付けられてTLBに登録されている実メモリ上のアドレスを、個別パッチの仮想記憶空間上の仮想アドレスで書き替えることを特徴とする。
【0016】
請求項5記載の発明は、請求項3又は4記載の発明において、カーネル読み込み手段は、読み込まれる前のカーネルファイルのカーネルファイル先頭からの相対アドレスと、読み込まれる前の個別パッチの個別パッチ先頭からの相対アドレスとが一致したとき、カーネルファイルに個別パッチが登録されていると判断し、カーネルファイルを仮想メモリ上に配置すると共に個別パッチを仮想記憶空間上に配置し、特定アプリケーションの名称、カーネルファイルの仮想メモリ上の仮想アドレス、及び個別パッチの仮想記憶空間上の仮想アドレスを、TLB読み替えテーブルに書き込むことを特徴とする。
【0017】
請求項6記載の発明は、アプリケーションにおけるタスクの切り替えとしてユーザの切り替えが発生した際に、メモリアクセスがあったときにユーザがアプリケーションへの適用を要求する個別パッチの仮想記憶空間上の仮想アドレスを指すように、TLB(Translation-Lookaside buffer) の内容を書き替えることを特徴とする。
【0018】
請求項7記載の発明は、請求項6記載の発明において、TLB内で個別パッチが登録されるアプリケーションファイルの仮想アドレスを個別パッチの仮想アドレスに書き替えることにより、アプリケーションファイルの仮想アドレスでメモリアクセスがあったときに個別パッチの仮想アドレスを指すように、TLBの内容を書き替えることを特徴とする。
【0019】
請求項8記載の発明は、アプリケーションファイルを読み込み仮想記憶空間上の仮想メモリへ配置させると共に、アプリケーションファイルに対してユーザがそのアプリケーションへの適用を要求する個別パッチが登録されていれば、個別パッチを仮想記憶空間上に読み込み、アプリケーションファイルの仮想記憶空間上の仮想アドレス、個別パッチの仮想記憶空間上の仮想アドレス、及びユーザの名称を、情報として出力するアプリケーション読み込み手段と、アプリケーション読み込み手段から出力された情報をテーブル形式で保持するTLB読み替えページテーブルと、アプリケーションにおけるタスクの切り替えとしてユーザへのタスクの切り替えを検出するアプリケーションタスク切り替え手段とを有し、アプリケーションタスク切り替え手段によりユーザへのタスクの切り替えが検出されたとき、検出されたユーザの名称がTLB読み替えページテーブル上に登録されていれば、ユーザの名称に伴って登録される仮想記憶空間上の個別パッチの仮想アドレス及び仮想メモリ内のアプリケーションファイルの仮想アドレスに基づいて、TLB(Translation-Lookaside buffer) の内容が書き替えられることを特徴とする。
【0020】
請求項9記載の発明は、請求項8記載の発明において、アプリケーションタスク切り替え手段によりユーザへのタスクの切り替えが検出されると、アプリケーションファイルの仮想アドレスと対応付けてTLBに登録されている実メモリ上のアドレスを、個別パッチの仮想記憶空間上の仮想アドレスで書き替えることを特徴とする。
【0021】
請求項10記載の発明は、請求項8又は9記載の発明において、アプリケーション読み込み手段は、読み込まれる前のアプリケーションファイルのアプリケーションファイル先頭からの相対アドレスと、読み込まれる前の個別パッチの個別パッチ先頭からの相対アドレスとが一致したとき、アプリケーションファイルに個別パッチが登録されていると判断し、アプリケーションファイルを仮想メモリ上に配置すると共に個別パッチを仮想記憶空間上に配置し、ユーザの名称、アプリケーションファイルの仮想メモリ上の仮想アドレス、及び個別パッチの仮想記憶空間上の仮想アドレスを、TLB読み替えテーブルに書き込むことを特徴とする。
【0022】
請求項11記載の発明は、請求項1から5のいずれかに記載の発明において、個別アプリケーションパッチ管理装置は、さらに、ユーザからの入力動作に基づき特定アプリケーションによるOSに対する個別パッチの適用の有効/無効を指定する個別パッチ適用有効/無効指定手段と、個別パッチ適用有効/無効指定手段における指定に基づきTLB読み替えページテーブル内のエントリをマスクするマスク手段とを有することを特徴とする。
【0023】
請求項12記載の発明は、請求項1から5のいずれかに記載の発明において、個別アプリケーションパッチ管理装置は、さらに、ユーザからの入力動作に基づき特定アプリケーション毎にOSに対する個別パッチの適用レベルを指定する個別パッチ適用レベル指定手段と、個別パッチ適用レベル指定手段における指定に基づきTLB読み替えページテーブル内のエントリをマスクするマスク手段とを有することを特徴とする。
【0024】
請求項13記載の発明は、OSにおけるタスクの切り替えとして特定アプリケーションへのタスクの切り替えが発生した際に、メモリアクセスがあったときに特定アプリケーションがOSへの適用を要求する個別パッチの仮想記憶空間上の仮想アドレスを指すように、TLB(Translation-Lookaside buffer) の内容を書き替えることを特徴とする。
【0025】
請求項14記載の発明は、請求項13記載の発明において、TLB内で個別パッチが登録されるカーネルファイルの仮想アドレスを個別パッチの仮想アドレスに書き替えることにより、カーネルファイルの仮想アドレスでメモリアクセスがあったときに個別パッチの仮想アドレスを指すように、TLBの内容を書き替えることを特徴とする。
【0026】
請求項15記載の発明は、カーネルファイルを読み込み仮想記憶空間上の仮想メモリへ配置させると共に、カーネルファイルに対して特定アプリケーションがOSへの適用を要求する個別パッチが登録されていれば、個別パッチを仮想記憶空間上に読み込み、カーネルファイルの仮想メモリ上の仮想アドレス、個別パッチの仮想記憶空間上の仮想アドレス、及び特定アプリケーションの名称を、情報として出力するカーネル読み込み工程と、カーネル読み込み工程により出力された情報をテーブル形式でTLB読み替えページテーブルに書き込む情報書き込み工程と、OSにおけるタスクの切り替えとして特定アプリケーションへのタスクの切り替えを検出するOSタスク切り替え工程とを有し、OSタスク切り替え工程により特定アプリケーションへのタスクの切り替えが検出されたとき、検出された特定アプリケーションの名称がTLB読み替えページテーブル上に登録されていれば、特定アプリーションの名称に伴って登録される仮想記憶空間上の個別パッチの仮想アドレス及び仮想メモリ内のカーネルファイルの仮想アドレスに基づいて、TLBの内容が書き替えられることを特徴とする。
【0027】
請求項16記載の発明は、請求項15記載の発明において、OSタスク切り替え工程により特定アプリケーションへのタスクの切り替えが検出されると、カーネルファイルの仮想アドレスと対応付けてTLBに登録されている実メモリ上のアドレスを、個別パッチの仮想記憶空間上の仮想アドレスで書き替えることを特徴とする。
【0028】
請求項17記載の発明は、請求項15又は16記載の発明において、カーネル読み込み工程では、読み込まれる前のカーネルファイルのカーネルファイル先頭からの相対アドレスと、読み込まれる前の個別パッチの個別パッチ先頭からの相対アドレスとが一致したとき、カーネルファイルに個別パッチが登録されていると判断し、カーネルファイルを仮想メモリ上に配置すると共に個別パッチを仮想記憶空間上に配置し、特定アプリケーションの名称、カーネルファイルの仮想メモリ上の仮想アドレス、及び個別パッチの仮想記憶空間上の仮想アドレスを、TLB読み替えテーブルに書き込むことを特徴とする。
【0029】
請求項18記載の発明は、アプリケーションにおけるタスクの切り替えとしてユーザの切り替えが発生した際に、メモリアクセスがあったときにユーザがアプリケーションへの適用を要求する個別パッチの仮想記憶空間上の仮想アドレスを指すように、TLB(Translation-Lookaside buffer) の内容を書き替えることを特徴とする。
【0030】
請求項19記載の発明は、請求項18記載の発明において、TLB内で個別パッチが登録されるアプリケーションファイルの仮想アドレスを個別パッチの仮想アドレスに書き替えることにより、アプリケーションファイルの仮想アドレスでメモリアクセスがあったときに個別パッチの仮想アドレスを指すように、TLBの内容を書き替えることを特徴とする。
【0031】
請求項20記載の発明は、アプリケーションファイルを読み込み仮想記憶空間上の仮想メモリへ配置させると共に、アプリケーションファイルに対してユーザがそのアプリケーションへの適用を要求する個別パッチが登録されていれば、個別パッチを仮想記憶空間上に読み込み、アプリケーションファイルの仮想メモリ上の仮想アドレス、個別パッチの仮想記憶空間上の仮想アドレス、及びユーザの名称を、情報として出力するアプリケーション読み込み工程と、アプリケーション読み込み工程により出力された情報をテーブル形式でTLB読み替えページテーブルに書き込む情報書き込み工程と、アプリケーションにおけるタスクの切り替えとしてユーザへのタスクの切り替えを検出するアプリケーションタスク切り替え工程とを有し、アプリケーションタスク切り替え工程によりユーザへのタスクの切り替えが検出されたとき、検出されたユーザの名称がTLB読み替えページテーブル上に登録されていれば、ユーザの名称に伴って登録される仮想記憶空間上の個別パッチの仮想アドレス及び仮想メモリ内のアプリケーションファイルの仮想アドレスに基づいて、TLB(Translation-Lookaside buffer) の内容が書き替えられることを特徴とする。
【0032】
請求項21記載の発明は、請求項20記載の発明において、アプリケーションタスク切り替え手段によりユーザへのタスクの切り替えが検出されると、アプリケーションファイルの仮想アドレスと対応付けて登録されている実メモリ上のアドレスを、個別パッチの仮想記憶空間上の仮想アドレスで書き替えることを特徴とする。
【0033】
請求項22記載の発明は、請求項20又は21記載の発明において、アプリケーション読み込み工程では、読み込まれる前のアプリケーションファイルのアプリケーションファイル先頭からの相対アドレスと、読み込まれる前の個別パッチの個別パッチ先頭からの相対アドレスとが一致したとき、アプリケーションファイルに個別パッチが登録されていると判断し、アプリケーションファイルを仮想メモリ上に配置すると共に個別パッチを仮想記憶空間上に配置し、ユーザの名称、アプリケーションファイルの仮想メモリ上の仮想アドレス、及び個別パッチの仮想記憶空間上の仮想アドレスを、TLB読み替えテーブルに書き込むことを特徴とする。
【0034】
請求項23記載の発明は、請求項13から17のいずれかに記載の発明において、個別アプリケーションパッチ管理方法は、さらに、ユーザからの入力動作に基づき特定アプリケーションによるOSに対する個別パッチの適用の有効/無効を指定する個別パッチ適用有効/無効指定工程と、個別パッチ適用有効/無効指定工程における指定に基づきTLB読み替えページテーブル内のエントリをマスクするマスク工程とを有することを特徴とする。
【0035】
請求項24記載の発明は、請求項13から17のいずれかに記載の発明において、個別アプリケーションパッチ管理方法は、さらに、ユーザからの入力動作に基づき特定アプリケーション毎にOSに対する個別パッチの適用レベルを指定する個別パッチ適用レベル指定工程と、個別パッチ適用レベル指定工程における指定に基づきTLB読み替えページテーブル内のエントリをマスクするマスク工程とを有することを特徴とする。
【0036】
【発明の実施の形態】
以下、本発明の実施の形態を添付図面を参照しながら詳細に説明する。
【0037】
図1は、本発明の一実施形態における個別アプリケーションパッチ管理装置の概略構成、及び、個別アプリケーションパッチ管理方法による処理の概略構成をを示した図である。図1において、1は、OSにてタスクの切り替えが生じた際に、そのタスク切り替えを検出するOS切り替え手段、2は、アプリケーション毎に仮想アドレスページの切り替えを指定したTLB読み替えページテーブル、3は、ハードディスク等に格納されるOSの基本部分であるカーネル、4は、同じくハードディスク等に格納されアプリケーション毎に用意された個別パッチ、5は、カーネル3から例えばページ単位でカーネルファイルを読み込むとともに、読み込まれたカーネルファイルに対して個別パッチが登録されていれば、個別パッチ4から個別パッチを読み込み、仮想アドレスページの切り替えを指定するための情報をTLB読み替えページテーブルに登録させるカーネル読み込み手段(通常、ブートロード)、6は、仮想記憶空間と実メモリとを対応付けるTLB(Translation-Lookaside buffer) 、7は、カーネル読み込み手段5により読み込まれたカーネルファイルが配置される仮想メモリ、8は、カーネル読み込み手段5により読み込まれた個別パッチが配置される個別パッチ空間である。
【0038】
次に、本実施形態における個別アプリケーションパッチ管理装置の動作、及び個別アプリケーションパッチ管理方法を図2及び図3のフローチャートを参照しながら説明する。
【0039】
OSの起動時に、カーネル読み込み手段5はカーネル3からカーネルファイルを読み込む(ステップS1)。通常、仮想メモリ7及び仮想記憶空間はページという概念で管理されており、16Kバイト程度で区分けされている。このサイズが仮想メモリ7及び仮想記憶空間における通常の最小管理単位であり、本実施形態では、カーネル読み込み手段5は1ページ単位でカーネルファイル及び個別パッチの読み込み動作を行うものとする。
【0040】
また、カーネル読み込み手段5は、読み込んだカーネルファイルを仮想メモリ7上に配置すると(ステップS2)、そのカーネルファイルに個別パッチが登録されているか否かを判定する(ステップS3)。個別パッチの登録がなされていれば(ステップS3/YES)、カーネルファイルを読み込むと共にそのカーネルファイルに登録されている個別パッチを読み込み個別パッチ空間8に配置させる(ステップS4)。個別パッチの登録がなされていなければ(ステップS3/NO)、後述するステップS6の処理に移行し、カーネル3から全てのカーネルファイルが読み出されたか否かを判定する。
【0041】
このように、カーネル読み込み手段5は、個別パッチ空間8上に個別パッチを配置させると、その個別パッチのOSへのパッチ適用を要求するアプリケーション名、その個別パッチが登録されていたカーネルファイルの仮想メモリ7上における仮想アドレスページ番号、及び、その個別パッチの個別パッチ空間8上における仮想アドレスページ番号、の対応をTLB読み替えテーブル2に書き込む(ステップS5)。
【0042】
次に、カーネル読み込み手段5は、カーネル3に収容されるカーネルファイル全てに対して読み込みが完了したか否かを判定する(ステップS6)。この判定において、全てのカーネルファイル読み出されたと判定されると(ステップS6/YES)、以上の処理を終了する。一方で、カーネル3に収容されるカーネルファイル全てに対して読み込みが完了していないと判定されると(ステップS6/NO)、読み込みがなされていないカーネルファイルに対して上記の処理が続行される。
【0043】
OSタスク切り替え手段1は、OSのタスクの切り替えとしてアプリーションの切り替えが発生したか否かを判断する(ステップS11)。この判断において、アプリケーションの切り替えは発生していないと判断された場合は(ステップS11/NO)、OSタスク切り替え手段1は引き続きタスクの切り替えを監視する。一方で、アプリケーションの切り替えが発生したと判断された場合は(ステップS11/YES)、OSタスク切り替え手段1は、次にタスクが移行するアプリケーションの名称を得る(ステップS12)。
【0044】
次に、ステップS12において得たアプリケーションの名称がTLB読み替えテーブル2上に存在するか否かを判断する(ステップS12)。この判断において、そのアプリケーション名称がTLB読み替えテーブル2上に存在しないと判断された場合(ステップS13/NO)、ステップS11の処理に戻る。一方で、そのアプリケーションの名称がTLB読み替えテーブル2上に存在すると判断された場合(ステップS13/YES)、TLB読み替えテーブル2上に登録されている仮想メモリ7上の全ての仮想アドレスページ番号について、それらの仮想アドレスページ番号に対応してTLB読み替えテーブル2に登録されている個別パッチ空間8上の仮想アドレスページ番号で、TLB6の内容の書き替えを行う(ステップS14)。その後は、後述するOSの仮想記憶システムの機能に制御が渡される(ステップS15)。
【0045】
このように書き替えられた仮想メモリ7上の仮想アドレスページ番号に対して外部からのメモリアクセスがあった場合は、この仮想メモリ7上の仮想アドレスページ番号は個別パッチ空間8上の仮想アドレスページ番号に書き替えられているため、その仮想アドレスページ番号で示される個別パッチ空間8上のページに対してリンクされる。
【0046】
しかしながら、この個別パッチ空間8上の個別パッチは実メモリ上の領域には存在しないため、上記のメモリアクセスの際にはページフォールトが発生する。よって、OSの仮想記憶システムは、このページフォールトに起因して、個別パッチ空間8上に存在している個別パッチを実メモリ上の空き領域に読み込むと共に、この実メモリ上の空き領域のアドレスページ番号を新たにTLB内容として登録する。
【0047】
次に、図4及び図5を参照しながら、本実施形態における個別アプリケーションパッチ管理装置の動作、及び個別アプリケーションパッチ管理方法を具体的に説明する。
【0048】
カーネル読み込み手段5は、ハードディスク等から1ページ単位毎にカーネルファイル先頭から順次読み込み実メモリ上に順番に配置する。この読み込み動作においては、カーネルファイル先頭からの相対ページ番号によって表現されるアドレスにより読み込む対象となるカーネルファイルが指定される。
【0049】
また、カーネル読み込み手段5は、上記の動作でカーネルファイルを読み出していく際に、そのカーネルファイル毎に個別パッチが登録されているか否かが判定する。この判定動作の詳細を以下に説明する。
【0050】
カーネルファイルについては既に説明したように、ハードディスク上等においてカーネルファイル先頭からの相対ページ番号でアドレスが管理されている。同じく、個別パッチもアプリケーション毎に個別パッチ先頭からの相対ページ番号によりアドレスが管理されている。カーネル読み込み手段5は、相対ページ番号を順次指定していくことによりカーネル3からカーネルファイルを読み込むと共に、個別パッチ3内においてその相対ページ番号と一致する相対ページ番号のアドレスに個別パッチが存在するか否かを判定する。存在する場合は、カーネル読み込み手段5は、読み込んだカーネルファイルに個別パッチが登録されていると判定する。
【0051】
また、一つのカーネルファイルに複数の個別パッチが登録されている場合(例えば、一つのカーネルファイルにアプリケーションA、アプリケーションBが登録されている場合)は、カーネル読み込み手段5は、それらの個別パッチを個々に個別パッチ空間8に配置させると共に、アプリケーション名としてアプリケーションAとアプリケーションB、個別パッチ空間上におけるそれらの個別パッチの仮想アドレスページ番号、及び、それらの個別パッチが登録されていたカーネルファイルの仮想メモリ7上の仮想アドレスページ番号を、TLB読み替えページテーブル2上に書き込む。
【0052】
このように読み込んだカーネルファイルに個別パッチが登録されていると判定された場合は、カーネル読み込み手段5は、カーネルファイルを仮想メモリ7上に配置すると共に、このカーネルファイルに登録されている個別パッチの実体を個別パッチ空間8上に配置する。
【0053】
尚、個別パッチ空間8は仮想記憶空間上に存在する領域である。OSの仮想記憶空間管理機能に対しては、個別パッチ空間8が属する仮想記憶空間上の仮想アドレスページ番号は全て予約され、その領域はハードディスク上に存在するとの管理情報が渡される。
【0054】
図4によれば、カーネル3において相対ページ番号1のカーネルファイルがカーネル読み込み手段5により読み込まれると、同じくカーネル読み込み手段5によって図示したように仮想メモリ7上の領域に配置される。さらに、カーネル読み込み手段5は、個別パッチ3内において相対ページ番号1に格納されている個別パッチが存在するか否かをアプリケーション毎に判定する。尚、本図に示した実施形態においては、アプリケーションAにより要求される個別パッチが登録されている。
【0055】
カーネル読み込み手段5は、このアプリケーションAにより要求される個別パッチと読み込んだカーネルファイルとの相対ページ番号を比較し、比較の結果、互いが相対ページ番号1で一致するため、その個別パッチの実体を個別パッチ空間8上に配置させる。また、カーネル読み込み手段5は、その際における仮想メモリ7上のカーネルファイルの仮想アドレスページ番号、個別パッチ空間8上の個別パッチの仮想アドレスページ番号、及び、アプリケーションAの名称をTLB読み替えテーブルに書き込む。
【0056】
次に、図5によれば、カーネル読み込み手段5の上記動作によりTLB読み替えページテーブル2に書き込まれた内容は、仮想メモリ7上のカーネルファイルの仮想アドレスページ番号として2、個別パッチ空間8上の個別パッチの仮想アドレスページ番号として1000、及び、仮想アドレスページ番号2から仮想アドレスページ番号1000への読み替えを要求するアプリケーションの名称としてAが登録されている。
【0057】
さらに、本図によれば、TLB内容の一例として、仮想アドレスページ番号0と実メモリ上のアドレスページ番号0、仮想アドレスページ番号1と実メモリ上のアドレスページ番号3、仮想アドレスページ番号2と実メモリ上のアドレスページ番号1、及び、仮想アドレスページ番号3と実メモリ上のアドレスページ番号2が対応付けられている。
【0058】
このようにカーネル読み込み手段5によりTLB読み替えページテーブル2に上記内容が書き込まれ、OSタスク切り替え手段1がアプリケーションAへのタスクの切り替えを検出すると、OSタスク切り替え手段1は、TLB読み替えページテーブル2に書き込まれているアプリケーションAに関する全ての内容に基づき、TLB6の内容を書き替える。
【0059】
TLB読み替えページテーブル2においてアプリケーションAで上記仮想メモリ7上の仮想アドレスページ番号として登録される番号と同一の仮想アドレスページ番号でTLB6に登録される部分に対して、TLB読み替えページテーブル2においてアプリケーションAに関連して登録される全ての上記個別パッチ空間上の仮想アドレスページ番号と一致する箇所のTLB6の仮想アドレスページ番号を、TLB読み替えページテーブル2においてアプリケーションAで上記個別パッチ空間8上の仮想アドレスページ番号にそれぞれ書き替える。
【0060】
例えば、外部からのメモリアクセスとして仮想アドレスページ番号2がTLBに入力されると、仮想アドレスページ番号2と実メモリ上のアドレスページ番号1とのリンクが解除され、アドレスページ番号1で示される実メモリ上の領域が開放される。
【0061】
また、TLB読み替えページテーブル2では、仮想アドレスページ番号2と個別パッチ空間8上の仮想アドレスページ番号1000が対応付けて登録されているため、TLB6では、仮想アドレスページ番号2から個別パッチ空間8上の仮想アドレスページ番号1000へと書き替えられる。従って、仮想アドレスページ番号2のメモリアクセスがなされると、替わって個別パッチ空間8上の仮想アドレスページ番号1000にアクセスされる。
【0062】
しかしながら、仮想アドレスページ番号1000は個別パッチ空間8上に存在し実メモリに属する領域ではないため、このアクセス時にはメモリフォールトが発生してしまう。メモリフォールトが発生すると、仮想アドレスページ番号1000の個別パッチの実体が、OSの仮想記憶システムの機能により実メモリ上の空き領域(ここでは、アドレスページ番号4の領域)に読み込まれ、TLB6の内容として、新たにアドレスページ番号4が仮想アドレスページ番号2に対応して登録される。
【0063】
以上では、アプリケーション毎にOSに対して要求される個別パッチの適用について説明したが、本発明の他の実施形態として、ユーザ毎にアプリケーションに対して要求される個別パッチの適用を行う場合について説明する。
【0064】
図6は、本実施形態における個別アプリケーションパッチ管理装置の概略構成、及び、個別アプリケーションパッチ管理方法による処理の概略構成をを示した図である。図6において、11は、アプリケーションにてタスクの切り替えが生じた際に、そのタスク切り替えを検出するアプリケーションタスク切り替え手段、12は、ユーザ毎に仮想アドレスページの切り替えを指定したTLB読み替えページテーブル、13は、ハードディスク等に格納されるアプリケーション、14は、同じくハードディスク等に格納されユーザ毎に用意された個別パッチ、15は、アプリケーション13から例えばページ単位でアプリケーションファイルを読み込むとともに、読み込まれたアプリケーションファイルに対して個別パッチが登録されていれば、個別パッチ14から個別パッチを読み込み、仮想アドレスページの切り替えを指定するための情報をTLB読み替えページテーブル12に登録させるアプリケーション読み込み手段、16は、仮想記憶空間と実メモリとを対応付けるTLB、17は、アプリケーション読み込み手段15により読み込まれたアプリケーションファイルが配置される仮想メモリ、18は、アプリーション読み込み手段15により読み込まれた個別パッチが配置される個別パッチ空間である。
【0065】
次に、本実施形態における個別アプリケーションパッチ管理装置の動作、及び個別アプリケーションパッチ管理方法を図7及び図8のフローチャートを参照しながら説明する。
【0066】
OSの起動時に、アプリケーション読み込み手段15はアプリケーション13からアプリケーションファイルを読み込む(ステップS21)。本実施形態でも、アプリケーション読み込み手段15は1ページ単位でアプリケーションファイル及び個別パッチの読み込み動作を行うものとする。
【0067】
次に、アプリケーション読み込み手段15は、読み込んだアプリケーションファイルを仮想メモリ17上に配置し(ステップS22)、その毎にそのアプリケーションファイルに個別パッチが登録されているか否かを判定する(ステップS23)。個別パッチの登録がなされていれば(ステップS23/YES)、アプリケーションファイルを読み込むと共にそのアプリケーションファイルに登録されている個別パッチを読み込み個別パッチ空間18に配置させる(ステップS24)。個別パッチの登録がなされていなければ(ステップS23/NO)、後述するステップS26においてアプリケーション13から全てのアプリケーションファイルが読み込まれたか否かが判定される。
【0068】
このように、アプリケーション読み込み手段15は、個別パッチ空間18上に個別パッチを配置させると、その個別パッチをOSのOSへの適用を要求するユーザ名、その個別パッチが登録されていたアプリケーションファイルの仮想メモリ17上における仮想アドレスページ番号、及び、その個別パッチの個別パッチ空間18上における仮想アドレスページ番号、の対応をTLB読み替えテーブル12に書き込む(ステップS25)。
【0069】
次に、アプリケーション読み込み手段15は、アプリケーション13に収容されるアプリケーションファイル全てに対して読み込みが完了したか否かを判断する(ステップS26)。読み込みが完了したと判断された場合(ステップS26/YES)、以上の処理を終了する。一方で、アプリケーション13に収容されるアプリケーションファイル全てに対して読み込みが完了していないと判断した場合は(ステップS26/NO)、読み込みがなされていないアプリケーションファイルに対して処理が続行される。
【0070】
アプリケーションタスク切り替え手段11は、アプリケーションのタスクの切り替えとしてユーザの切り替えが発生したか否かを判断する(ステップS31)。この判断において、ユーザの切り替えは発生していないと判断された場合は(ステップS31/NO)、アプリケーションタスク切り替え手段11は引き続きタスクの切り替えを監視する。一方で、ユーザの切り替えが発生したと判断された場合は(ステップS31/YES)、アプリケーションタスク切り替え手段11は、次のユーザの名称を得る(ステップS32)。
【0071】
次に、ステップS32において得たユーザの名称がTLB読み替えテーブル12上に存在するか否かを判断する(ステップS32)。この判断において、そのユーザ名称がTLB読み替えテーブル12上に存在しないと判断された場合(ステップS33/NO)、ステップS31の処理に戻る。一方で、そのユーザの名称がTLB読み替えテーブル12上に存在すると判断された場合(ステップS33/YES)、TLB読み替えテーブル12上に登録されている仮想メモリ17上の全ての仮想アドレスページ番号について、それらの仮想アドレスページ番号に対応してTLB読み替えテーブル12に登録されている個別パッチ空間18上の仮想アドレスページ番号で、TLB16の内容の書き替えを行う(ステップS34)。その後は、既に説明したOSの仮想記憶システムの機能に制御が渡される(ステップS35)。
【0072】
さらに他の実施形態として、ユーザからの入力動作に基づき特定アプリケーションによるOSに対する個別パッチの適用の有効/無効を指定できる個別パッチ適用有効/無効指定手段や、同じくユーザからの入力動作に基づきアプリケーション毎にOSに対する個別パッチの適用レベルを指定できる個別パッチ適用レベル指定手段、及び、これらの手段でなされた指定に基づきTLB読み替えページテーブル2内のエントリをマスクするマスク手段を、図1の構成に追加する。
【0073】
例えば、ユーザにとって使用されていないアプリケーションが存在し、そのアプリケーションがOSに対して個別パッチの適用を要求する特定アプリケーションであった場合、或いは、そのアプリケーションが特定アプリケーションであって、ユーザがこの特定アプリケーション上で出力ファイルを加工する等バグ回避の工夫を行っている場合では、上記個別パッチ適用有効/無効指定手段により、この特定アプリケーションによるOSに対する個別パッチの適用を無効とする指示が与えられる。上記マスク手段はこの指示を受け、TLB読み替えページテーブル2内で特定アプリケーションに関連するエントリの全てをマスクする。
【0074】
これにより、上記状況下において特定アプリケーションに対する個別パッチの適用はなされなくなり、ユーザがそのアプリケーションを使用していない場合には個別パッチの適用動作の無駄を省くことができる。さらに、ユーザが特定アプリケーション上で出力ファイルを加工するなどバグ回避の工夫をしている場合において、OSに対する個別パッチの適用がなされると不具合が生じてしまうが、ユーザは個別パッチの適用を無効とする指示を与えることにより、この点も回避することができる。
【0075】
また、ユーザが特定アプリケーションを使用する上において、OSに対して個別パッチを適用することが好ましくない場合、例えば、計算精度を向上させるパッチを適用すると計算速度が遅くなる場合があるが、そのときは、このアプリケーションによりOSに対して適用される個別パッチのうちの幾つかを無効とするように、ユーザは、その旨の内容を上記個別パッチ適用レベル指定手段に入力する。上記マスク手段は、上記個別パッチ適用レベル指定手段からの指定を受け、TLB読み替えページテーブル2上において無効とされた個別パッチに該当する箇所をマスクする。
【0076】
これにより、ユーザが特定アプリケーションを使用する上において余計なパッチ適用を避けたい場合には、個別パッチ適用レベル指定手段を用いてパッチ適用レベルを入力すれば、用途に応じたパッチ適用を実行することができる。
【0077】
【発明の効果】
以上の説明より明らかなように、本発明によれば、特定アプリケーションが要求するパッチをOSに適用させる際に、アプリケーション毎にOSへの適用が要求されるパッチを判断し、パッチ修正指示等のユーザからの入力を必要とせず、特定アプリケーションの実行時におけるOSに対するパッチ適用状況を動的に切り替えることできる。
【0078】
また、本発明によれば、一つのアプリケーションに対しユーザ毎に適用が要求される個別パッチを判断し、パッチ修正指示等のユーザからの入力を必要とせず、このアプリケーションが使用される際に、使用するユーザ毎にアプリケーションに対する個別パッチ適用状況を動的に切り替えることができる。
【0079】
また、本発明によれば、ユーザが特定アプリケーションを使用してない場合、或いは、ユーザ側で出力ファイルを加工するなどバグ回避の工夫をしている場合には、外部からのユーザからの入力により、その特定アプリケーションが要求するOSへの個別パッチ適用を無効、或いは、その特定アプリケーションが要求するOSへの個別パッチ適用のレベルを変化させることができる。
【0080】
さらに、本発明によれば、ユーザが特定アプリケーションを使用する上において、この特定アプリケーションが要求する個別パッチをOSに対して適用することが好ましくない場合に、OSに対する不要な個別パッチの適用を避けることができる。
【図面の簡単な説明】
【図1】 本発明の第1の実施形態における個別アプリケーションパッチ管理装置の概略構成、及び個別アプリケーションパッチ管理方法による処理の概略構成を示した図である。
【図2】 本発明の第1の実施形態における個別アプリケーションパッチ管理装置の動作、及び個別アプリケーションパッチ管理方法を示した第1のフローチャートである。
【図3】 本発明の第1の実施形態における個別アプリケーションパッチ管理装置の動作、及び個別アプリケーションパッチ管理方法を示した第2のフローチャートである。
【図4】 本発明の第1の実施形態における個別アプリケーションパッチ管理装置の動作、及び個別アプリケーションパッチ管理方法を具体的に説明するための第1の図である。
【図5】 本発明の第1の実施形態における個別アプリケーションパッチ管理装置の動作、及び個別アプリケーションパッチ管理方法を具体的に説明するための第2の図である。
【図6】 本発明の第2の実施形態における個別アプリケーションパッチ管理装置の概略構成、及び個別アプリケーションパッチ管理方法による処理の概略構成を示した図である。
【図7】 本発明の第2の実施形態における個別アプリケーションパッチ管理装置の動作、及び個別アプリケーションパッチ管理方法を示した第2のフローチャートである。
【図8】 本発明の第2の実施形態における個別アプリケーションパッチ管理装置の動作、及び個別アプリケーションパッチ管理方法を示した第2のフローチャートである。
【符号の説明】
1 OSタスク切り替え手段
2、12 TLB読み替えページテーブル
3 カーネル
4、14 個別パッチ
5 カーネル読み込み手段
6、16 TLB
7、17 仮想メモリ
8、18 個別パッチ空間
11 アプリーションタスク切り替え手段
13 アプリケーション
15 アプリケーション読み込み手段[0001]
BACKGROUND OF THE INVENTION
The present invention executes a specific application (hereinafter referred to as a specific application) that requires application of a specific patch (hereinafter referred to as an individual patch) other than a patch generally applied to an OS (operating system). The individual application patch management apparatus and individual application patch management method for managing the application of individual patches to an OS, particularly when a task is switched between specific applications, the application status of the individual patches to the OS is changed according to the switching of the specific application. The present invention relates to an individual application patch management apparatus and an individual application patch management method that are dynamically switched.
[0002]
[Prior art]
Conventionally, a patch applied to an OS generally affects all applications. However, if a patch required by a specific application is applied to the OS, a problem may occur when another application is executed.
[0003]
Here, as specific examples of the prior art having a technical field similar to that of the present invention, there are those disclosed in JP-A-5-241814 and JP-A-3-166624.
[0004]
When executing a load module already modified by a patch, all the patches are reflected when the load module is loaded. Previously, if you wanted to modify some of the patches and execute the load module, you modified the load module before executing it.
[0005]
On the other hand, Japanese Patent Application Laid-Open No. 5-241814 provides a patch management apparatus that can correct and delete patches already stored in a load module at the time of execution, and can easily execute the load module according to the application.
[0006]
Similarly, in Japanese Patent Application Laid-Open No. 3-166624, when executing a load module modified by a patch, all patches are unconditionally reflected in the executable program when the load module is loaded. In the conventional example, patches are collectively managed, so that patches to be reflected in an execution format program when loading a load module can be selected according to use.
[0007]
[Problems to be solved by the invention]
However, all of the above conventional examples require input of a patch correction instruction from the user in order to correct / delete the patch to be reflected in the execution format program in accordance with the application. Also, such patch correction based on the input of the patch correction instruction from the user is limited to the point in time when the patch correction instruction is input, and each time the usage changes, the user again inputs the patch correction instruction. Must be done.
[0008]
Therefore, according to the present invention, when applying an individual patch required by a specific application to the OS, it is necessary to determine an individual patch required to be applied to the OS for each specific application and to input a patch correction instruction or the like from the user. The object is to provide an individual application patch management apparatus and an individual application patch management method capable of dynamically switching the patch application status to the OS when executing a specific application.
[0009]
In addition, the present invention determines a specific patch (hereinafter also referred to as an individual patch) that is required to be applied to each user for one application, and does not require input from the user such as a patch correction instruction. It is an object of the present invention to provide an individual application patch management apparatus and an individual application patch management method capable of dynamically switching the patch application status for an application for each user who uses it.
[0010]
In addition, when the user does not use a specific application, or when the user devises a bug avoidance such as processing the output file, the input from the user from the outside, An object of the present invention is to provide an individual application patch management apparatus and an individual application patch management method for invalidating individual patch application to an OS requested by a specific application or changing the level of individual patch application to an OS requested by the specific application. And
[0011]
Furthermore, the present invention avoids applying an unnecessary individual patch to the OS when it is not preferable to apply the individual patch required by the specific application to the OS when the user uses the specific application. An object of the present invention is to provide an individual application patch management apparatus and an individual application patch management method.
[0012]
[Means for Solving the Problems]
In order to achieve this object, according to the first aspect of the present invention, when a task is switched to a specific application as a task switch in the OS, the specific application is applied to the OS when there is a memory access. The content of the TLB (Translation-Lookaside buffer) is rewritten so as to point to the virtual address in the virtual storage space of the requested individual patch.
[0013]
The invention described in
[0014]
The invention according to
[0015]
The invention according to
[0016]
According to a fifth aspect of the present invention, in the third or fourth aspect of the invention, the kernel reading means starts from the relative address from the head of the kernel file of the kernel file before being read and the head of the individual patch of the individual patch before being read. When the relative address matches, it is determined that the individual patch is registered in the kernel file, and the kernel file isVirtual memoryAs well as individual patches in the virtual storage space, and the names of specific applications and kernel filesVirtual memoryThe upper virtual address and the virtual address on the virtual storage space of the individual patch are written in the TLB replacement table.
[0017]
According to the sixth aspect of the present invention, when a user switch occurs as a task switch in an application, a virtual address on a virtual storage space of an individual patch that the user requests to apply to the application when there is a memory access. As indicated, the contents of TLB (Translation-Lookaside buffer) are rewritten.
[0018]
The invention described in claim 7 provides the memory access using the virtual address of the application file by rewriting the virtual address of the application file in which the individual patch is registered in the TLB to the virtual address of the individual patch. The TLB content is rewritten so as to point to the virtual address of the individual patch when there is an error.
[0019]
The invention according to claim 8 reads an application file.Virtual memory on virtual storage spaceIf an individual patch that the user requests to apply to the application file is registered for the application file, the individual patch is read into the virtual storage space, and the application fileVirtual storage spaceAn application reading means for outputting the virtual address, the virtual address on the virtual storage space of the individual patch, and the user name as information, and a TLB replacement page table for holding the information output from the application reading means in a table format And application task switching means for detecting task switching to the user as task switching in the application, and when the task switching to the user is detected by the application task switching means, the name of the detected user is TLB. If it is registered on the replacement page table, it will be registered on the virtual storage space registered with the user's name.Individual patchVirtual address andIn virtual memoryofApplication fileThe content of TLB (Translation-Lookaside buffer) is rewritten based on the virtual address.
[0020]
The invention according to claim 9 is the invention according to claim 8, wherein when switching of the task to the user is detected by the application task switching means,applicationThe virtual address of the fileIn association with TLBRegisteredHaveOn real memoryNodressThe, The virtual address on the virtual storage space of the individual patchsoRewriteGetIt is characterized by that.
[0021]
According to a tenth aspect of the present invention, in the invention according to the eighth or ninth aspect, the application reading means starts from the relative address from the top of the application file of the application file before being read, and the individual patch head of the individual patch before being read. When the relative address matches, it is determined that the individual patch is registered in the application file, and the application file isVirtual memoryIn addition to placing individual patches on the virtual storage space, user names and application filesVirtual memoryThe upper virtual address and the virtual address on the virtual storage space of the individual patch are written in the TLB replacement table.
[0022]
According to an eleventh aspect of the present invention, in the invention according to any one of the first to fifth aspects, the individual application patch management device is further configured to enable / disable the application of the individual patch to the OS by the specific application based on an input operation from the user. Individual patch application valid / invalid designation means for designating invalidity, and mask means for masking entries in the TLB replacement page table based on the designation in the individual patch application valid / invalid designation means.
[0023]
According to a twelfth aspect of the present invention, in the invention according to any one of the first to fifth aspects, the individual application patch management device further sets an application level of the individual patch to the OS for each specific application based on an input operation from the user. An individual patch application level designating unit for designating and a masking unit for masking an entry in the TLB replacement page table based on the designation in the individual patch application level designating unit.
[0024]
According to the thirteenth aspect of the present invention, when a task is switched to a specific application as a task switch in the OS, a virtual storage space of an individual patch that the specific application requests to apply to the OS when there is a memory access The content of TLB (Translation-Lookaside buffer) is rewritten so as to point to the upper virtual address.
[0025]
In the invention described in
[0026]
The invention according to claim 15 reads a kernel file.Virtual memory on virtual storage spaceIf an individual patch that requires a specific application to apply to the OS is registered for the kernel file, the individual patch is read into the virtual storage space and the kernel fileVirtual memoryThe above-described virtual address, the virtual address in the virtual storage space of the individual patch, and the name of the specific application are output as information, and the information output by the kernel reading process is written in the TLB replacement page table in a table format. An information writing step, and an OS task switching step for detecting task switching to a specific application as task switching in the OS, and is detected when task switching to the specific application is detected by the OS task switching step. If the name of the specific application is registered on the TLB replacement page table, the virtual application is registered with the name of the specific application.Individual patchVirtual address andIn virtual memoryofKernel fileThe content of the TLB is rewritten based on the virtual address.
[0027]
The invention according to
[0028]
The invention according to claim 17 is the invention according to claim 15 or 16, wherein, in the kernel reading step, the relative address from the head of the kernel file before being read and the head of the individual patch of the individual patch before being read. When the relative address matches, it is determined that the individual patch is registered in the kernel file, and the kernel file isVirtual memoryAs well as individual patches in the virtual storage space, and the names of specific applications and kernel filesVirtual memoryThe upper virtual address and the virtual address on the virtual storage space of the individual patch are written in the TLB replacement table.
[0029]
In the invention described in
[0030]
According to a nineteenth aspect of the present invention, in the invention of the eighteenth aspect, by rewriting the virtual address of the application file in which the individual patch is registered in the TLB to the virtual address of the individual patch, the memory access is performed with the virtual address of the application file. The TLB content is rewritten so as to point to the virtual address of the individual patch when there is an error.
[0031]
The invention according to claim 20 reads an application file.Virtual memory on virtual storage spaceIf an individual patch that the user requests to apply to the application file is registered for the application file, the individual patch is read into the virtual storage space, and the application fileVirtual memoryThe application reading process for outputting the virtual address, the virtual address on the virtual storage space of the individual patch, and the user name as information, and information for writing the information output by the application reading process to the TLB replacement page table in a table format A writing process and an application task switching process for detecting a task switching to the user as a task switching in the application, and when the task switching to the user is detected by the application task switching process, If the name is registered on the TLB replacement page table, the virtual storage space is registered with the user's name.Individual patchVirtual address andIn virtual memoryofApplication fileThe content of TLB (Translation-Lookaside buffer) is rewritten based on the virtual address.
[0032]
The invention according to claim 21 is the invention according to claim 20, wherein switching of a task to the user is detected by the application task switching means.applicationThe virtual address of the fileIn association withRegisteredHaveOn real memoryNodressThe, The virtual address on the virtual storage space of the individual patchsoRewriteGetIt is characterized by that.
[0033]
The invention according to
[0034]
According to a twenty-third aspect of the present invention, in the invention according to any one of the thirteenth to seventeenth aspects, the individual application patch management method further includes: enabling / disabling the application of the individual patch to the OS by the specific application based on an input operation from the user. An individual patch application valid / invalid designation process for designating invalidity, and a mask process for masking an entry in the TLB replacement page table based on designation in the individual patch application valid / invalid designation process.
[0035]
According to a twenty-fourth aspect of the present invention, in the invention according to any one of the thirteenth to seventeenth aspects, the individual application patch management method further sets an application level of the individual patch to the OS for each specific application based on an input operation from the user. An individual patch application level designating step for designating and a masking process for masking an entry in the TLB replacement page table based on the designation in the individual patch application level designating step.
[0036]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0037]
FIG. 1 is a diagram showing a schematic configuration of an individual application patch management apparatus and a schematic configuration of processing by an individual application patch management method according to an embodiment of the present invention. In FIG. 1, 1 is an OS switching unit that detects task switching when a task switching occurs in the OS, 2 is a TLB replacement page table that designates switching of a virtual address page for each application, The kernel, which is the basic part of the OS stored in the hard disk, etc., 4 is an individual patch that is also stored in the hard disk etc. and prepared for each application, and 5 reads the kernel file from the
[0038]
Next, the operation of the individual application patch management apparatus and the individual application patch management method in this embodiment will be described with reference to the flowcharts of FIGS.
[0039]
When the OS is started, the
[0040]
The kernel reading means 5 reads the read kernel file.Virtual memory7 (step S2), it is determined whether or not an individual patch is registered in the kernel file (step S3). If the individual patch is registered (step S3 / YES), the kernel file is read and the individual patch registered in the kernel file is read and arranged in the individual patch space 8 (step S4). If the individual patch is not registered (step S3 / NO), the process proceeds to step S6 described later, and it is determined whether all kernel files have been read from the
[0041]
As described above, when the
[0042]
Next, the kernel reading means 5 determines whether or not reading has been completed for all the kernel files accommodated in the kernel 3 (step S6). If it is determined in this determination that all kernel files have been read (step S6 / YES), the above processing is terminated. On the other hand, if it is determined that all the kernel files accommodated in the
[0043]
The OS task switching means 1 determines whether or not application switching has occurred as OS task switching (step S11). If it is determined in this determination that application switching has not occurred (step S11 / NO), the OS
[0044]
Next, it is determined whether or not the application name obtained in step S12 exists on the TLB replacement table 2 (step S12). In this determination, when it is determined that the application name does not exist on the TLB replacement table 2 (step S13 / NO), the process returns to step S11. On the other hand, when it is determined that the name of the application exists on the TLB replacement table 2 (step S13 / YES), on the TLB replacement table 2Climb toRecordedHaveRuVirtual memoryAll virtual address page numbers on 7aboutCorresponding to their virtual address page numberTo TLB replacement table 2RegisteredingVirtual address page number on the individual patch space 8soThe contents of
[0045]
Rewritten like thisVirtual memory7 If there is external memory access to the virtual address page number onVirtual memorySince the virtual address page number on 7 is rewritten to the virtual address page number on the individual patch space 8, it is linked to the page on the individual patch space 8 indicated by the virtual address page number.
[0046]
However, the individual patches on the individual patch space 8 are actual memos.ReTherefore, a page fault occurs when the memory is accessed. Therefore, the virtual storage system of the OS causes the individual patch existing on the individual patch space 8 to be actually recorded due to this page fault.ReAnd read this real memoReFree spaceNoA dress page number is newly registered as TLB contents.
[0047]
Next, the operation of the individual application patch management apparatus and the individual application patch management method in the present embodiment will be specifically described with reference to FIGS. 4 and 5.
[0048]
The kernel reading means 5 reads the actual memo sequentially from the top of the kernel file for each page unit from the hard disk or the like.ReArranged in orderYouThe In this reading operation, a kernel file to be read is specified by an address represented by a relative page number from the top of the kernel file.
[0049]
Further, when reading the kernel file by the above operation, the kernel reading means 5 determines whether or not an individual patch is registered for each kernel file.YouThe Details of this determination operation will be described below.
[0050]
As described above, the address of the kernel file is managed by the relative page number from the head of the kernel file on the hard disk or the like. Similarly, the address of each individual patch is managed by the relative page number from the head of the individual patch for each application. The kernel reading means 5 reads the kernel file from the
[0051]
In addition, when a plurality of individual patches are registered in one kernel file (for example, when application A and application B are registered in one kernel file), the
[0052]
When it is determined that the individual patch is registered in the kernel file read in this way, the kernel reading means 5 reads the kernel file.Virtual memory7, and the individual patch entities registered in the kernel file are arranged in the individual patch space 8.
[0053]
The individual patch space 8 is an area existing on the virtual storage space. For the virtual storage space management function of the OS, all virtual address page numbers in the virtual storage space to which the individual patch space 8 belongs are reserved, and management information that the area exists on the hard disk is passed.
[0054]
According to FIG. 4, when the kernel file having the
[0055]
The kernel reading means 5 compares the relative page number between the individual patch requested by the application A and the read kernel file. As a result of comparison, the individual patches match each other with the
[0056]
Next, according to FIG. 5, the contents written in the TLB replacement page table 2 by the above operation of the kernel reading means 5 are:Virtual memory2 as the virtual address page number of the kernel file on 7, 1000 as the virtual address page number of the individual patch on the individual patch space 8, andProvisionalA is registered as the name of the application requesting the replacement of the virtual
[0057]
Furthermore, according to this figure, as an example of TLB contents, virtual
[0058]
As described above, when the
[0059]
In the TLB replacement page table 2, the application AVirtual memoryAll the individual patches registered in relation to application A in the TLB replacement page table 2 for the part registered in the
[0060]
For example, if virtual
[0061]
In the TLB replacement page table 2, the virtual
[0062]
However, the virtual address page number 1000 exists in the individual patch space 8 and is a real memo.ToSince it is not an area to which it belongs, a memory fault occurs during this access. When a memory fault occurs, the actual patch of the individual address of the virtual address page number 1000 is actually recorded by the function of the OS virtual storage system.ReFree space (here:
[0063]
The application of the individual patch required for the OS for each application has been described above. However, as another embodiment of the present invention, the case of applying the individual patch required for the application for each user will be described. To do.
[0064]
FIG. 6 is a diagram showing a schematic configuration of the individual application patch management apparatus and a schematic configuration of processing by the individual application patch management method in the present embodiment. In FIG. 6, 11 is an application task switching means for detecting task switching when a task is switched in an application, 12 is a TLB replacement page table that designates switching of a virtual address page for each user, 13 Is an application stored in a hard disk or the like, 14 is an individual patch that is also stored in the hard disk or the like and is prepared for each user, and 15 is an application that reads an application file, for example, on a page basis from the application 13. On the other hand, if an individual patch is registered, an application for reading the individual patch from the
[0065]
Next, the operation of the individual application patch management apparatus and the individual application patch management method in this embodiment will be described with reference to the flowcharts of FIGS.
[0066]
When the OS is activated, the
[0067]
Next, the application reading means 15 reads the read application file.Virtual memory17 (step S22), and each time it is determined whether or not an individual patch is registered in the application file (step S23). If the individual patch has been registered (step S23 / YES), the application file is read and the individual patch registered in the application file is read and arranged in the individual patch space 18 (step S24). If the individual patch is not registered (step S23 / NO), it is determined whether all application files have been read from the application 13 in step S26 described later.
[0068]
As described above, when the
[0069]
Next, the
[0070]
The application task switching means 11 determines whether or not a user switching has occurred as a switching of application tasks (step S31). In this determination, when it is determined that no user switching has occurred (step S31 / NO), the application
[0071]
Next, it is determined whether or not the user name obtained in step S32 exists on the TLB replacement table 12 (step S32). In this determination, when it is determined that the user name does not exist on the TLB replacement table 12 (step S33 / NO), the process returns to step S31. On the other hand, when it is determined that the name of the user exists on the TLB replacement table 12 (step S33 / YES), on the TLB replacement table 12Climb toRecordedHaveRuVirtual memoryAll virtual address page numbers on 17aboutCorresponding to their virtual address page numberIn TLB replacement table 12RegisteredingVirtual address page number on the individual patch space 18so, The content of the
[0072]
As another embodiment, individual patch application valid / invalid designation means that can designate validity / invalidity of application of an individual patch to an OS by a specific application based on an input operation from a user, or for each application based on an input operation from the user. 1 is added to the configuration of FIG. 1 with individual patch application level designation means that can designate the application level of the individual patches for the OS and masking means for masking entries in the TLB replacement page table 2 based on the designation made by these means. To do.
[0073]
For example, when there is an application that is not used by the user and the application is a specific application that requires the OS to apply an individual patch, or the application is a specific application and the user When bug evasion is devised such as processing the output file above, the individual patch application valid / invalid designation means gives an instruction to invalidate the application of the individual patch to the OS by the specific application. The mask means receives this instruction and masks all entries related to the specific application in the TLB replacement page table 2.
[0074]
As a result, the individual patch is not applied to the specific application under the above circumstances, and when the user is not using the application, waste of the application operation of the individual patch can be eliminated. In addition, if the user is trying to avoid bugs such as processing output files on a specific application, a problem will occur if the individual patch is applied to the OS, but the user disables the application of the individual patch. This point can also be avoided by giving the instruction.
[0075]
In addition, when it is not preferable to apply an individual patch to the OS when a user uses a specific application, for example, a patch that improves calculation accuracy may slow down the calculation speed. The user inputs the contents to that effect to the individual patch application level designating unit so as to invalidate some of the individual patches applied to the OS by this application. The mask means receives a designation from the individual patch application level designation means and masks a portion corresponding to the invalid individual patch on the TLB replacement page table 2.
[0076]
As a result, if the user wants to avoid unnecessary patch application when using a specific application, the patch application level can be applied by inputting the patch application level using the individual patch application level designation means. Can do.
[0077]
【The invention's effect】
As is apparent from the above description, according to the present invention, when a patch required by a specific application is applied to the OS, a patch required to be applied to the OS is determined for each application, and a patch correction instruction or the like is determined. It is possible to dynamically switch the patch application status for the OS when executing a specific application without requiring input from the user.
[0078]
In addition, according to the present invention, an individual patch that is required to be applied to each user for one application is determined, and input from the user such as a patch correction instruction is not required. The individual patch application status for the application can be dynamically switched for each user to use.
[0079]
Further, according to the present invention, when a user does not use a specific application, or when the user devises bug avoidance such as processing an output file, an input from the user from outside The individual patch application to the OS required by the specific application can be disabled, or the level of individual patch application to the OS required by the specific application can be changed.
[0080]
Furthermore, according to the present invention, when it is not preferable to apply the individual patch required by the specific application to the OS when the user uses the specific application, application of an unnecessary individual patch to the OS is avoided. be able to.
[Brief description of the drawings]
FIG. 1 is a diagram showing a schematic configuration of an individual application patch management apparatus and a schematic configuration of processing by an individual application patch management method according to a first embodiment of the present invention.
FIG. 2 is a first flowchart showing an operation of an individual application patch management apparatus and an individual application patch management method according to the first embodiment of the present invention.
FIG. 3 is a second flowchart showing the operation of the individual application patch management apparatus and the individual application patch management method in the first embodiment of the present invention.
FIG. 4 is a first diagram for specifically explaining the operation of the individual application patch management apparatus and the individual application patch management method according to the first embodiment of the present invention.
FIG. 5 is a second diagram for specifically explaining the operation of the individual application patch management apparatus and the individual application patch management method according to the first embodiment of the present invention.
FIG. 6 is a diagram showing a schematic configuration of an individual application patch management apparatus and a schematic configuration of processing by an individual application patch management method in the second embodiment of the present invention.
FIG. 7 is a second flowchart showing the operation of the individual application patch management apparatus and the individual application patch management method according to the second embodiment of the present invention.
FIG. 8 is a second flowchart showing the operation of the individual application patch management apparatus and the individual application patch management method according to the second embodiment of the present invention.
[Explanation of symbols]
1 OS task switching means
2,12 TLB replacement page table
3 Kernel
4, 14 Individual patch
5 Kernel reading means
6, 16 TLB
7, 17Virtual memory
8, 18 Individual patch space
11 Application task switching means
13 Application
15 Application loading means
Claims (24)
該カーネル読み込み手段から出力された前記情報をテーブル形式で保持するTLB読み替えページテーブルと、
前記OSにおけるタスクの切り替えとして前記特定アプリケーションへのタスクの切り替えを検出するOSタスク切り替え手段とを有し、
該OSタスク切り替え手段により前記特定アプリケーションへのタスクの切り替えが検出されたとき、該検出された前記特定アプリケーションの名称が前記TLB読み替えページテーブル上に登録されていれば、前記特定アプリケーションの名称に伴って登録される前記仮想記憶空間上の前記個別パッチの仮想アドレス及び前記仮想メモリ内の前記カーネルファイルの仮想アドレスに基づいて、TLB(Translation-Lookaside buffer) が書き替えられることを特徴とする個別アプリケーションパッチ管理装置。Together to arrange the kernel file into virtual memory read virtual memory space, the if the particular application to the kernel file if it is a separate patch registration requesting application to OS, the said individual patch virtual storage space A kernel reading means for outputting, as information, a virtual address on the virtual storage space of the kernel file, a virtual address on the virtual storage space of the individual patch, and a name of the specific application;
A TLB replacement page table that holds the information output from the kernel reading means in a table format;
OS task switching means for detecting task switching to the specific application as task switching in the OS,
When switching of the task to the specific application is detected by the OS task switching means, if the detected name of the specific application is registered on the TLB replacement page table, the name of the specific application is accompanied. The TLB (Translation-Lookaside buffer) is rewritten on the basis of the virtual address of the individual patch in the virtual storage space registered and the virtual address of the kernel file in the virtual memory. Patch management device.
読み込まれる前の前記カーネルファイルのカーネルファイル先頭からの相対アドレスと、読み込まれる前の前記個別パッチの個別パッチ先頭からの相対アドレスとが一致したとき、前記カーネルファイルに前記個別パッチが登録されていると判断し、前記カーネルファイルを前記仮想メモリ上に配置すると共に前記個別パッチを前記仮想記憶空間上に配置し、前記特定アプリケーションの名称、前記カーネルファイルの前記仮想メモリ上の仮想アドレス、及び前記個別パッチの前記仮想記憶空間上の仮想アドレスを、前記TLB読み替えテーブルに書き込むことを特徴とする請求項3又は4記載の個別アプリケーションパッチ管理装置。The kernel reading means includes
The individual patch is registered in the kernel file when the relative address from the beginning of the kernel file of the kernel file before being read matches the relative address from the beginning of the individual patch of the individual patch before being read. determining that said placing the individual patches in the virtual memory space with the kernel file is placed on the virtual memory, the name of a specific application, the virtual address of the virtual memory of the kernel file, and the individual 5. The individual application patch management apparatus according to claim 3, wherein a virtual address of the patch in the virtual storage space is written in the TLB replacement table.
該アプリケーション読み込み手段から出力された前記情報をテーブル形式で保持するTLB読み替えページテーブルと、
前記アプリケーションにおけるタスクの切り替えとして前記ユーザへのタスクの切り替えを検出するアプリケーションタスク切り替え手段とを有し、
該アプリケーションタスク切り替え手段により前記ユーザへのタスクの切り替えが検出されたとき、該検出された前記ユーザの名称が前記TLB読み替えページテーブル上に登録されていれば、前記ユーザの名称に伴って登録される前記仮想記憶空間上の前記個別パッチの仮想アドレス及び前記仮想メモリ内の前記アプリケーションファイルの仮想アドレスに基づいて、TLB(Translation-Lookaside buffer) の内容が書き替えられることを特徴とする個別アプリケーションパッチ管理装置。Together to arrange the application file to the virtual memory of the read virtual storage space, if it is separate patch registration user for the application file requests application to the application, the individual patch the virtual storage space Application reading means for outputting the virtual address on the virtual storage space of the application file, the virtual address on the virtual storage space of the individual patch, and the name of the user as information,
A TLB replacement page table that holds the information output from the application reading means in a table format;
Application task switching means for detecting task switching to the user as task switching in the application,
When switching of the task to the user is detected by the application task switching means, if the detected user name is registered on the TLB replacement page table, it is registered along with the user name. A TLB (Translation-Lookaside buffer) content is rewritten based on a virtual address of the individual patch in the virtual storage space and a virtual address of the application file in the virtual memory. Management device.
読み込まれる前の前記アプリケーションファイルのアプリケーションファイル先頭からの相対アドレスと、読み込まれる前の前記個別パッチの個別パッチ先頭からの相対アドレスとが一致したとき、前記アプリケーションファイルに前記個別パッチが登録されていると判断し、前記アプリケーションファイルを前記仮想メモリ上に配置すると共に前記個別パッチを前記仮想記憶空間上に配置し、前記ユーザの名称、前記アプリケーションファイルの前記仮想メモリ上の仮想アドレス、及び前記個別パッチの前記仮想記憶空間上の仮想アドレスを、前記TLB読み替えテーブルに書き込むことを特徴とする請求項8又は9記載の個別アプリケーションパッチ管理装置。The application reading means includes
When the relative address from the top of the application file of the application file before being read matches the relative address from the top of the individual patch before being read, the individual patch is registered in the application file. the placing individual patches in the virtual memory space, the name of the user, the virtual address on the virtual memory of the application file, and the individual patches with judges, placing the application file on the virtual memory and 10. The individual application patch management apparatus according to claim 8, wherein the virtual address on the virtual storage space is written in the TLB replacement table.
ユーザからの入力動作に基づき前記特定アプリケーションによる前記OSに対する前記個別パッチの適用の有効/無効を指定する個別パッチ適用有効/無効指定手段と、
該個別パッチ適用有効/無効指定手段における指定に基づき前記TLB読み替えページテーブル内のエントリをマスクするマスク手段とを有することを特徴とする請求項1から5のいずれかに記載の個別アプリケーションパッチ管理装置。The individual application patch management device further includes:
Individual patch application valid / invalid designation means for designating validity / invalidity of application of the individual patch to the OS by the specific application based on an input operation from a user;
6. The individual application patch management apparatus according to claim 1, further comprising a masking unit for masking an entry in the TLB replacement page table based on a designation by the individual patch application valid / invalid designation unit. .
ユーザからの入力動作に基づき前記特定アプリケーション毎に前記OSに対する前記個別パッチの適用レベルを指定する個別パッチ適用レベル指定手段と、
該個別パッチ適用レベル指定手段における指定に基づき前記TLB読み替えページテーブル内のエントリをマスクするマスク手段とを有することを特徴とする請求項1から5のいずれかに記載の個別アプリケーションパッチ管理装置。The individual application patch management device further includes:
Individual patch application level designation means for designating the application level of the individual patch for the OS for each specific application based on an input operation from a user;
6. The individual application patch management apparatus according to claim 1, further comprising a mask unit that masks an entry in the TLB replacement page table based on a designation in the individual patch application level designation unit.
該カーネル読み込み工程により出力された前記情報をテーブル形式でTLB読み替えページテーブルに書き込む情報書き込み工程と、
前記OSにおけるタスクの切り替えとして前記特定アプリケーションへのタスクの切り替えを検出するOSタスク切り替え工程とを有し、
該OSタスク切り替え工程により前記特定アプリケーションへのタスクの切り替えが検出されたとき、該検出された前記特定アプリケーションの名称が前記TLB読み替えページテーブル上に登録されていれば、前記特定アプリーションの名称に伴って登録される前記仮想記憶空間上の前記個別パッチの仮想アドレス及び前記仮想メモリ内の前記カーネルファイルの仮想アドレスに基づいて、前記TLBの内容が書き替えられることを特徴とする個別アプリケーションパッチ管理方法。Together to arrange the kernel file into virtual memory read virtual memory space, the if the particular application to the kernel file if it is a separate patch registration requesting application to OS, the said individual patch virtual storage space A kernel reading step for outputting the virtual address on the virtual memory of the kernel file, the virtual address on the virtual storage space of the individual patch, and the name of the specific application as information,
An information writing step of writing the information output by the kernel reading step into a TLB replacement page table in a table format;
An OS task switching step of detecting task switching to the specific application as task switching in the OS,
When switching of a task to the specific application is detected by the OS task switching step, if the detected name of the specific application is registered on the TLB replacement page table, the name of the specific application is set. The individual application patch management, wherein the contents of the TLB are rewritten based on the virtual address of the individual patch in the virtual storage space registered together with the virtual address of the kernel file in the virtual memory. Method.
読み込まれる前の前記カーネルファイルのカーネルファイル先頭からの相対アドレスと、読み込まれる前の前記個別パッチの個別パッチ先頭からの相対アドレスとが一致したとき、前記カーネルファイルに前記個別パッチが登録されていると判断し、前記カーネルファイルを前記仮想メモリ上に配置すると共に前記個別パッチを前記仮想記憶空間上に配置し、前記特定アプリケーションの名称、前記カーネルファイルの前記仮想メモリ上の仮想アドレス、及び前記個別パッチの前記仮想記憶空間上の仮想アドレスを、前記TLB読み替えテーブルに書き込むことを特徴とする請求項15又は16記載の個別アプリケーションパッチ管理方法。In the kernel loading process,
The individual patch is registered in the kernel file when the relative address from the beginning of the kernel file of the kernel file before being read matches the relative address from the beginning of the individual patch of the individual patch before being read. determining that said placing the individual patches in the virtual memory space with the kernel file is placed on the virtual memory, the name of a specific application, the virtual address of the virtual memory of the kernel file, and the individual The individual application patch management method according to claim 15 or 16, wherein a virtual address of the patch in the virtual storage space is written in the TLB replacement table.
該アプリケーション読み込み工程により出力された前記情報をテーブル形式でTLB読み替えページテーブルに書き込む情報書き込み工程と、
前記アプリケーションにおけるタスクの切り替えとして前記ユーザへのタスクの切り替えを検出するアプリケーションタスク切り替え工程とを有し、
該アプリケーションタスク切り替え工程により前記ユーザへのタスクの切り替えが検出されたとき、該検出された前記ユーザの名称が前記TLB読み替えページテーブル上に登録されていれば、前記ユーザの名称に伴って登録される前記仮想記憶空間上の前記個別パッチの仮想アドレス及び前記仮想メモリ内の前記アプリケーションファイルの仮想アドレスに基づいて、前記TLB(Translation-Lookaside buffer) の内容が書き替えられることを特徴とする個別アプリケーションパッチ管理方法。Together to arrange the application file to the virtual memory of the read virtual storage space, if it is separate patch registration user for the application file requests application to the application, the individual patch the virtual storage space An application reading step of outputting the virtual address on the virtual memory of the application file, the virtual address on the virtual storage space of the individual patch, and the name of the user as information;
An information writing step of writing the information output by the application reading step into a TLB replacement page table in a table format;
An application task switching step of detecting task switching to the user as task switching in the application;
When switching of a task to the user is detected by the application task switching step, if the detected user name is registered on the TLB replacement page table, it is registered along with the user name. The content of the TLB (Translation-Lookaside buffer) is rewritten based on the virtual address of the individual patch in the virtual storage space and the virtual address of the application file in the virtual memory. Patch management method.
読み込まれる前の前記アプリケーションファイルのアプリケーションファイル先頭からの相対アドレスと、読み込まれる前の前記個別パッチの個別パッチ先頭からの相対アドレスとが一致したとき、前記アプリケーションファイルに前記個別パッチが登録されていると判断し、前記アプリケーションファイルを前記仮想メモリ上に配置すると共に前記個別パッチを前記仮想記憶空間上に配置し、前記ユーザの名称、前記アプリケーションファイルの前記仮想メモリ上の仮想アドレス、及び前記個別パッチの前記仮想記憶空間上の仮想アドレスを、前記TLB読み替えテーブルに書き込むことを特徴とする請求項20又は21記載の個別アプリケーションパッチ管理方法。In the application loading process,
When the relative address from the top of the application file of the application file before being read matches the relative address from the top of the individual patch before being read, the individual patch is registered in the application file. the placing individual patches in the virtual memory space, the name of the user, the virtual address on the virtual memory of the application file, and the individual patches with judges, placing the application file on the virtual memory and The individual application patch management method according to claim 20 or 21, wherein the virtual address on the virtual storage space is written to the TLB replacement table.
ユーザからの入力動作に基づき前記特定アプリケーションによる前記OSに対する前記個別パッチの適用の有効/無効を指定する個別パッチ適用有効/無効指定工程と、
該個別パッチ適用有効/無効指定工程における指定に基づき前記TLB読み替えページテーブル内のエントリをマスクするマスク工程とを有することを特徴とする請求項13から17のいずれかに記載の個別アプリケーションパッチ管理方法。The individual application patch management method further includes:
An individual patch application valid / invalid designation step of designating validity / invalidity of application of the individual patch to the OS by the specific application based on an input operation from a user;
18. The individual application patch management method according to claim 13, further comprising a masking step of masking an entry in the TLB replacement page table based on designation in the individual patch application valid / invalid designation step. .
ユーザからの入力動作に基づき前記特定アプリケーション毎に前記OSに対する前記個別パッチの適用レベルを指定する個別パッチ適用レベル指定工程と、
該個別パッチ適用レベル指定工程における指定に基づき前記TLB読み替えページテーブル内のエントリをマスクするマスク工程とを有することを特徴とする請求項13から17のいずれかに記載の個別アプリケーションパッチ管理方法。The individual application patch management method further includes:
An individual patch application level designation step for designating an application level of the individual patch for the OS for each specific application based on an input operation from a user;
18. The individual application patch management method according to claim 13, further comprising a masking step of masking an entry in the TLB replacement page table based on designation in the individual patch application level designation step.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000068627A JP3674446B2 (en) | 2000-03-08 | 2000-03-08 | Individual application patch management apparatus and individual application patch management method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000068627A JP3674446B2 (en) | 2000-03-08 | 2000-03-08 | Individual application patch management apparatus and individual application patch management method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2001256042A JP2001256042A (en) | 2001-09-21 |
| JP3674446B2 true JP3674446B2 (en) | 2005-07-20 |
Family
ID=18587657
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000068627A Expired - Fee Related JP3674446B2 (en) | 2000-03-08 | 2000-03-08 | Individual application patch management apparatus and individual application patch management method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3674446B2 (en) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2374688B (en) * | 2001-04-19 | 2004-12-29 | Ibm | A method and system for distributing software features to a computer |
| US8291407B2 (en) * | 2002-06-12 | 2012-10-16 | Symantec Corporation | Systems and methods for patching computer programs |
| JP4602727B2 (en) * | 2004-09-29 | 2010-12-22 | 富士通株式会社 | Program product maintenance management system, computer apparatus and program product maintenance management method |
| CN114528141B (en) * | 2022-02-16 | 2025-08-12 | 烽火通信科技股份有限公司 | Method and device for repairing program defects in kernel mode of embedded system |
-
2000
- 2000-03-08 JP JP2000068627A patent/JP3674446B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2001256042A (en) | 2001-09-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102294562B1 (en) | Page table data management | |
| US9904631B2 (en) | Microcomputer and method for controlling memory access | |
| JP6966333B2 (en) | Safe initialization | |
| JP6913636B2 (en) | Shared page | |
| JP6738354B2 (en) | change address | |
| JP4939387B2 (en) | Data processing apparatus and address space protection method | |
| KR101799261B1 (en) | Restricting memory areas for an instruction read in dependence upon a hardware mode and a security flag | |
| JP4295111B2 (en) | Memory management system and memory access security grant method based on linear address | |
| JP2007058776A (en) | Memory access control device | |
| JP5225003B2 (en) | MEMORY PROTECTION METHOD, INFORMATION PROCESSING DEVICE, MEMORY PROTECTION PROGRAM, AND RECORDING MEDIUM CONTAINING MEMORY PROTECTION PROGRAM | |
| WO2000063760A2 (en) | A device driver for accessing computer files | |
| US20160378693A1 (en) | Information processing apparatus and program execution method | |
| CN118210622B (en) | A memory allocation method and computing device | |
| US20250284617A1 (en) | Memory page markings as logging cues for processor-based execution tracing | |
| JP5338435B2 (en) | Information processing program, information processing apparatus, and information processing method | |
| JP3607540B2 (en) | Program unit memory access attribute management method | |
| CN109783145B (en) | Method for creating multi-image-based multifunctional embedded system | |
| JP2005122334A (en) | Memory dump method, memory dump program, and virtual computer system | |
| KR20040051322A (en) | Data retouching method for executing file on real time and virus elimination method using the data retouching method thereof | |
| JP3674446B2 (en) | Individual application patch management apparatus and individual application patch management method | |
| KR100791815B1 (en) | Computer system and how to run instructions on it | |
| JP2002073358A (en) | Access control method for virtual machine main memory | |
| US20050138263A1 (en) | Method and apparatus to retain system control when a buffer overflow attack occurs | |
| JP2555920B2 (en) | Online real-time processor | |
| CN114217882B (en) | Method and device for running application in process |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041116 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050117 |
|
| 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: 20050405 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050418 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090513 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100513 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110513 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110513 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120513 Year of fee payment: 7 |
|
| LAPS | Cancellation because of no payment of annual fees |