JPH0528053A - システム運転中のプログラムのメモリチエツク方法 - Google Patents
システム運転中のプログラムのメモリチエツク方法Info
- Publication number
- JPH0528053A JPH0528053A JP3207629A JP20762991A JPH0528053A JP H0528053 A JPH0528053 A JP H0528053A JP 3207629 A JP3207629 A JP 3207629A JP 20762991 A JP20762991 A JP 20762991A JP H0528053 A JPH0528053 A JP H0528053A
- Authority
- JP
- Japan
- Prior art keywords
- program
- check
- memory
- code
- load module
- 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
Landscapes
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Stored Programmes (AREA)
Abstract
(57)【要約】
【目的】 ハ−ド的なメモリチェック機能やメモリプロ
テクト機能がないシステムで、メモリの破壊を早期に発
見し、無用な誤動作を防ぎ、破壊情報を保存し異常原因
の解析を容易にすることを目的とする。 【構成】 本発明によるメモリチェック方法は、ロ−ド
モジュ−ル・プログラムが格納されているFD1と、ラ
イブラリ−等があるディスク2と、ロ−ドモジュ−ル・
ライブラリ−3と、チェック対象のAプログラム4,9
と、Bプログラム5,10等と、チェックプログラム7,
8と、ロ−ダプログラム6,11と、主メモリ12と、
CPU13で構成される。
テクト機能がないシステムで、メモリの破壊を早期に発
見し、無用な誤動作を防ぎ、破壊情報を保存し異常原因
の解析を容易にすることを目的とする。 【構成】 本発明によるメモリチェック方法は、ロ−ド
モジュ−ル・プログラムが格納されているFD1と、ラ
イブラリ−等があるディスク2と、ロ−ドモジュ−ル・
ライブラリ−3と、チェック対象のAプログラム4,9
と、Bプログラム5,10等と、チェックプログラム7,
8と、ロ−ダプログラム6,11と、主メモリ12と、
CPU13で構成される。
Description
【0001】
【産業上の利用分野】本発明は、ソフトウェアの動作中
におけるロ−ドモジュ−ル・プログラム(以下プログラ
ムと書く)のコ−ド部の破壊を早期に検出するプログラ
ムのメモリチェック方法に関するものである。なお、こ
こで適用されるシステムは、システム運転中に、ハ−ド
的なメモリチェック機能、メモリプロテクト機能がない
システムで、対象となるプログラムはコ−ド部とデ−タ
部が分離されているものとする。
におけるロ−ドモジュ−ル・プログラム(以下プログラ
ムと書く)のコ−ド部の破壊を早期に検出するプログラ
ムのメモリチェック方法に関するものである。なお、こ
こで適用されるシステムは、システム運転中に、ハ−ド
的なメモリチェック機能、メモリプロテクト機能がない
システムで、対象となるプログラムはコ−ド部とデ−タ
部が分離されているものとする。
【0002】
【従来技術】従来ハ−ド的なメモリプロテクト機能を持
たないシステムでは、動作中にプログラムのコ−ド部が
破壊された場合、その時点では検出されずシステムダウ
ン後、主メモリやディスクの情報を解析して検出される
ものであった。
たないシステムでは、動作中にプログラムのコ−ド部が
破壊された場合、その時点では検出されずシステムダウ
ン後、主メモリやディスクの情報を解析して検出される
ものであった。
【0003】
【発明が解決しようとする課題】しかしながら従来技術
では、プログラムのコ−ド部が破壊された時点では異常
信号が検出されず誤動作の検出が遅れ、システムの運用
に支障をきたす。又コ−ド部が破壊されたままのプログ
ラムが実行され、更に他のメモリ−を破壊する場合があ
る。この場合は、システムダウン後に主メモリやディス
クの情報を解析しても最初の異常原因の解明が不可能に
なる、という問題点があった。
では、プログラムのコ−ド部が破壊された時点では異常
信号が検出されず誤動作の検出が遅れ、システムの運用
に支障をきたす。又コ−ド部が破壊されたままのプログ
ラムが実行され、更に他のメモリ−を破壊する場合があ
る。この場合は、システムダウン後に主メモリやディス
クの情報を解析しても最初の異常原因の解明が不可能に
なる、という問題点があった。
【0004】本発明は上述の点に鑑みてなされたもの
で、 上記問題点の影響を最小限に留めるように異常を早期
検出し、破壊された後の無用の誤動作を防ぎ、シス
テムダウン後の異常原因の解析を容易にする、為のシス
テム運転中のプログラムのメモリチェック方法を提供す
ることを目的とする。
で、 上記問題点の影響を最小限に留めるように異常を早期
検出し、破壊された後の無用の誤動作を防ぎ、シス
テムダウン後の異常原因の解析を容易にする、為のシス
テム運転中のプログラムのメモリチェック方法を提供す
ることを目的とする。
【0005】
【課題を解決するための手段】上記課題を解決するため
本発明は、図1に示すチェックプログラムを設けた。ま
ずチェック対象となるAプログラムはフロッピーディス
クFD1からロ−ダにより主メモリを通してロ−ドモジ
ュ−ル・ライブラリ−3に読み込まれる。この時にロ−
ダは、プログラムのコ−ド部の総和を計算しチェックコ
−ドとしてコ−ド部の後部に保存する。図2にその動作
をフロ−チャ−トに示す。その他のプログラムも同様に
ロ−ドモジュ−ル・ライブラリ−3に読み込まれる。ロ
−ドモジュ−ル・ライブラリ−は主メモリ12にあって
もよい。
本発明は、図1に示すチェックプログラムを設けた。ま
ずチェック対象となるAプログラムはフロッピーディス
クFD1からロ−ダにより主メモリを通してロ−ドモジ
ュ−ル・ライブラリ−3に読み込まれる。この時にロ−
ダは、プログラムのコ−ド部の総和を計算しチェックコ
−ドとしてコ−ド部の後部に保存する。図2にその動作
をフロ−チャ−トに示す。その他のプログラムも同様に
ロ−ドモジュ−ル・ライブラリ−3に読み込まれる。ロ
−ドモジュ−ル・ライブラリ−は主メモリ12にあって
もよい。
【0006】プログラムがタスクとして実行されると
き、チェック対象となるプログラムは主メモリ12に呼
び出されて実行される。実行対象プログラムが待ち状態
になった時、CPUが他に実行するタスクがないとき、
チェックプログラムを主メモリに呼び出しタスクとして
実行する。図3にその動作のフロ−チャ−トを示す。こ
の時チェック対象となるプログラムのチェックコ−ドを
計算し前記保存されているチェックコ−ドと比較し、も
しその値が等しくなければ、そのチェック対象プログラ
ムは破壊されたと判断し、システムを停止し破壊された
アドレスとかコ−ド等の異常情報を保存する。以上の作
業をすべてのチェック対象のプログラムに対して行う。
チェックプログラム自身もチェック対象となる。
き、チェック対象となるプログラムは主メモリ12に呼
び出されて実行される。実行対象プログラムが待ち状態
になった時、CPUが他に実行するタスクがないとき、
チェックプログラムを主メモリに呼び出しタスクとして
実行する。図3にその動作のフロ−チャ−トを示す。こ
の時チェック対象となるプログラムのチェックコ−ドを
計算し前記保存されているチェックコ−ドと比較し、も
しその値が等しくなければ、そのチェック対象プログラ
ムは破壊されたと判断し、システムを停止し破壊された
アドレスとかコ−ド等の異常情報を保存する。以上の作
業をすべてのチェック対象のプログラムに対して行う。
チェックプログラム自身もチェック対象となる。
【0007】
【作用】本発明によれば、チェック対象プログラムは、
最初にライブラリ−に読み込まれる時にチェックコ−ド
が計算され正しいチェックコ−ドとして保存される。こ
のプログラムがタスクとして実行中の待ち状態にされた
時、再度チェックコ−ドが計算されて両チェックコ−ド
が比較されるので、この期間にプログラムが破壊された
か否かが分かる。
最初にライブラリ−に読み込まれる時にチェックコ−ド
が計算され正しいチェックコ−ドとして保存される。こ
のプログラムがタスクとして実行中の待ち状態にされた
時、再度チェックコ−ドが計算されて両チェックコ−ド
が比較されるので、この期間にプログラムが破壊された
か否かが分かる。
【0008】このチェックプログラムは、優先順位が最
も低いタスクとして実行されるのでシステムの性能には
悪影響を与えない。破壊される原因としてハ−ド的な故
障やソフト的には自分自身のタスクの暴走や他のタスク
の暴走で壊される場合がある。例えば、図1のAプログ
ラム9が自分自身を壊す場合もあり、Bプログラム10
により壊される場合もあるが、何れの原因で破壊されて
もチェックコ−ドで検出可能である。
も低いタスクとして実行されるのでシステムの性能には
悪影響を与えない。破壊される原因としてハ−ド的な故
障やソフト的には自分自身のタスクの暴走や他のタスク
の暴走で壊される場合がある。例えば、図1のAプログ
ラム9が自分自身を壊す場合もあり、Bプログラム10
により壊される場合もあるが、何れの原因で破壊されて
もチェックコ−ドで検出可能である。
【0009】
【実施例】以下本発明の一実施例を図面に基づいて詳細
に説明する。図1は本発明によるチェック時のシステム
の状態を示す図、図2はチェック対象プログラムをライ
ブラリに読み込むときのチェックコ−ドを計算し付加す
るフロ−チャ−ト、図3はチェックプログラムのフロ−
チャ−トである。
に説明する。図1は本発明によるチェック時のシステム
の状態を示す図、図2はチェック対象プログラムをライ
ブラリに読み込むときのチェックコ−ドを計算し付加す
るフロ−チャ−ト、図3はチェックプログラムのフロ−
チャ−トである。
【0010】プログラムはフロッピーディスクFD1か
ら主メモリ12を通してディスク2のロ−ドモジュ−ル
・ライブラリ−3に読み込まれる。フロッピーディスク
FD1は、ディスク2上であっても他の外部メモリであ
ってもよく、ロ−ドモジュ−ル・ライブラリ3は主メモ
リ12にあってもよい。ロ−ドモジュ−ル・ライブラリ
−3にはチェック対象となるAプログラム4、Bプログ
ラム5、ロ−ダプログラム6、チェックプログラム7等
の多くのプログラムが格納されている。
ら主メモリ12を通してディスク2のロ−ドモジュ−ル
・ライブラリ−3に読み込まれる。フロッピーディスク
FD1は、ディスク2上であっても他の外部メモリであ
ってもよく、ロ−ドモジュ−ル・ライブラリ3は主メモ
リ12にあってもよい。ロ−ドモジュ−ル・ライブラリ
−3にはチェック対象となるAプログラム4、Bプログ
ラム5、ロ−ダプログラム6、チェックプログラム7等
の多くのプログラムが格納されている。
【0011】これらのプログラムは、コ−ド部とデ−タ
部が分離されコ−ド部の後部にチェックコ−ドが格納さ
れる構造になっている。これらのプログラムが実行され
るときは、主メモリ12上に必要なエリヤ8,9,1
0,11が確保され、ディスク2のロ−ドモジュ−ル・
ライブラリ−3からロ−ダプログラム11によって主メ
モリ12上に呼び出され、必要な環境条件が準備されて
CPU13によってタスクとして実行される。各タスク
は、優先順位の高い順に実行される。チェックプログラ
ムを実行するタスクは、優先順位を最低に設定してお
く。こうすることにより他のタスクの実行を邪魔するこ
となくチェックすることが可能となる。
部が分離されコ−ド部の後部にチェックコ−ドが格納さ
れる構造になっている。これらのプログラムが実行され
るときは、主メモリ12上に必要なエリヤ8,9,1
0,11が確保され、ディスク2のロ−ドモジュ−ル・
ライブラリ−3からロ−ダプログラム11によって主メ
モリ12上に呼び出され、必要な環境条件が準備されて
CPU13によってタスクとして実行される。各タスク
は、優先順位の高い順に実行される。チェックプログラ
ムを実行するタスクは、優先順位を最低に設定してお
く。こうすることにより他のタスクの実行を邪魔するこ
となくチェックすることが可能となる。
【0012】本発明によるメモリチェックは、上記に詳
述した状態で、チェックプログラム7で行われ、最初の
チェックコ−ドの付加は、ロ−ダプログラム6によって
行われる。図2に基づいてチェックコ−ド付加の動作を
説明する。プログラムをロ−ドモジュ−ル・ライブラリ
−に読み込む際、コ−ド部の先頭アドレスを取り出す
(ステップST1)。次にコ−ド部の最終アドレスを取
り出す(ステップST2)。コ−ド部の先頭から最終ま
でを加算し(ステップST3)チェックコ−ドとして所
定の場所に格納する(ステップST4)。
述した状態で、チェックプログラム7で行われ、最初の
チェックコ−ドの付加は、ロ−ダプログラム6によって
行われる。図2に基づいてチェックコ−ド付加の動作を
説明する。プログラムをロ−ドモジュ−ル・ライブラリ
−に読み込む際、コ−ド部の先頭アドレスを取り出す
(ステップST1)。次にコ−ド部の最終アドレスを取
り出す(ステップST2)。コ−ド部の先頭から最終ま
でを加算し(ステップST3)チェックコ−ドとして所
定の場所に格納する(ステップST4)。
【0013】次にチェックプログラムの動作を図3に基
づいて説明する。プログラムインデックスを初期化する
(ステップST11)。同インデックスで指定されたチ
ェック対象のプログラムのコ−ド部の先頭アドレスと最
終アドレスを取り出す(ステップST12)。図2と同
じ方法でチェックコ−ドを計算し(ステップST1
3)、保存されているチェックコ−ドと比較する(ステ
ップST14)。もし同じであれば、今のプログラムが
最終プロッグラムかどうかチェックし(ステップST1
5)、もし最終プログラムでなければインデックスを次
に進め(ステップ16)、最終プログラムであればステ
ップST1より繰り返す。ステップST4でチェックコ
−ドが等しくなければ異常と見做し、破壊されたアドレ
スやコ−ドなどの異常情報を保存してシステムを停止す
る(ステップST17)。
づいて説明する。プログラムインデックスを初期化する
(ステップST11)。同インデックスで指定されたチ
ェック対象のプログラムのコ−ド部の先頭アドレスと最
終アドレスを取り出す(ステップST12)。図2と同
じ方法でチェックコ−ドを計算し(ステップST1
3)、保存されているチェックコ−ドと比較する(ステ
ップST14)。もし同じであれば、今のプログラムが
最終プロッグラムかどうかチェックし(ステップST1
5)、もし最終プログラムでなければインデックスを次
に進め(ステップ16)、最終プログラムであればステ
ップST1より繰り返す。ステップST4でチェックコ
−ドが等しくなければ異常と見做し、破壊されたアドレ
スやコ−ドなどの異常情報を保存してシステムを停止す
る(ステップST17)。
【0014】
【発明の効果】以上、詳細に説明したように本発明によ
れば、下記のような効果が期待できる。 プログラムのコ−ド部の破壊を早期に検出できる。 破壊されたプログラムが実行されることによる誤動作
を防ぐことができる。 破壊されたアドレスとかコ−ド等の破壊情報が保存さ
れ、無用な誤動作を最小限に抑えるためにシステム停止
後の原因解析が容易になる。
れば、下記のような効果が期待できる。 プログラムのコ−ド部の破壊を早期に検出できる。 破壊されたプログラムが実行されることによる誤動作
を防ぐことができる。 破壊されたアドレスとかコ−ド等の破壊情報が保存さ
れ、無用な誤動作を最小限に抑えるためにシステム停止
後の原因解析が容易になる。
【図1】本発明によるメモリチェック時のシステムの状
態を示す図。
態を示す図。
【図2】本発明に使用するチェックコ−ド計算のフロ−
チャ−ト。
チャ−ト。
【図3】本発明によるメモリチェックプログラムのフロ
−チャ−ト。
−チャ−ト。
1 フロッピーディスク 2 ディスク 3 ロ−ドモジュ−ル・ライブラリ− 4 Aプログラム 5 Bプログラム 6 ローダプログラム 7 チェックプログラム 8 チェックプログラム 9 Aプログラム 10 Bプログラム 11 ローダ 12 主メモリ 13 CPU
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.5 識別記号 庁内整理番号 FI 技術表示箇所 G06F 11/30 320 C 8725−5B
Claims (1)
- 【特許請求の範囲】 【請求項1】 システム運転中に、ハ−ド的なメモリチ
ェック機能やメモリプロテクト機能がない計算機システ
ムのメモリチェックの方法において、 ロ−ドモジュ−ル・プログラムをライブラリ−に読み込
むとき、ロ−ドモジュ−ル・プログラムのコ−ド部のチ
ェックコ−ドを計算し保存しておき、システム運転中
に、CPUがタスク処理をする空き時間を利用して、対
象とするタスクのロ−ドモジュ−ル・プログラムのコ−
ド部のチェックコ−ドを計算し、その結果を前記保存さ
れているチェックコ−ドと比較し、もし値が異なればロ
−ドモジュ−ル・プログラムが破壊されたと判断して、
システムを停止させ、不必要な誤動作を防ぎ、異常情報
を保存し障害解析を容易にさせることを特徴とするメモ
リチェック方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3207629A JPH0528053A (ja) | 1991-07-24 | 1991-07-24 | システム運転中のプログラムのメモリチエツク方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3207629A JPH0528053A (ja) | 1991-07-24 | 1991-07-24 | システム運転中のプログラムのメモリチエツク方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0528053A true JPH0528053A (ja) | 1993-02-05 |
Family
ID=16542963
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3207629A Pending JPH0528053A (ja) | 1991-07-24 | 1991-07-24 | システム運転中のプログラムのメモリチエツク方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0528053A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100908961B1 (ko) * | 2004-10-04 | 2009-07-22 | 야마하 가부시키가이샤 | 리드 프레임 및 그 반도체 패키지 |
| CN110222501A (zh) * | 2019-05-31 | 2019-09-10 | 河南思维轨道交通技术研究院有限公司 | 一种运行时代码的检查方法、存储介质 |
-
1991
- 1991-07-24 JP JP3207629A patent/JPH0528053A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100908961B1 (ko) * | 2004-10-04 | 2009-07-22 | 야마하 가부시키가이샤 | 리드 프레임 및 그 반도체 패키지 |
| CN110222501A (zh) * | 2019-05-31 | 2019-09-10 | 河南思维轨道交通技术研究院有限公司 | 一种运行时代码的检查方法、存储介质 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10460099B2 (en) | System and method of detecting malicious code in files | |
| US5511184A (en) | Method and apparatus for protecting a computer system from computer viruses | |
| US5367682A (en) | Data processing virus protection circuitry including a permanent memory for storing a redundant partition table | |
| US8943592B1 (en) | Methods of detection of software exploitation | |
| US6880113B2 (en) | Conditional hardware scan dump data capture | |
| US20030070115A1 (en) | Logging and retrieving pre-boot error information | |
| US9141464B2 (en) | Computing device and method for processing system events of computing device | |
| US8972794B2 (en) | Method and apparatus for diagnostic recording using transactional memory | |
| US20090013167A1 (en) | Computer device, method for booting the same, and booting module for the same | |
| KR101249693B1 (ko) | 서브루틴 복귀 메카니즘 선택 | |
| US6725368B1 (en) | System for executing a post having primary and secondary subsets, wherein the secondary subset is executed subsequently to the primary subset in the background setting | |
| US20080201618A1 (en) | Method for Running a Computer Program on a Computer System | |
| WO2026001164A1 (zh) | 堆叠文件系统、系统管理方法、控制器、芯片设备和车辆 | |
| JP2008513899A (ja) | コンピュータシステム上でコンピュータプログラムを処理する方法 | |
| US20060031669A1 (en) | Boot method and system | |
| KR20250070996A (ko) | 무한 리셋 복구 방법 및 그 시스템 | |
| JPH09319574A (ja) | コンピュータウィルスチェックシステム | |
| EP3293660A1 (en) | System and method of detecting malicious code in files | |
| JP2809986B2 (ja) | 計算機システム及びプログラムバグ回避方法 | |
| JPS6118045A (ja) | プログラムの暴走検出方式 | |
| JP3185780B2 (ja) | システム監視装置及びその方法 | |
| EP0655686B1 (en) | Retry control method and device for control processor | |
| JP3169879B2 (ja) | マイクロプロセッサ暴走検出方式 | |
| JPH09146789A (ja) | エミュレータ | |
| KR20190108712A (ko) | 비휘발성 주기억장치 환경에서 에러 복구 방법 및 그 시스템 |