JPH0426737B2 - - Google Patents

Info

Publication number
JPH0426737B2
JPH0426737B2 JP61221497A JP22149786A JPH0426737B2 JP H0426737 B2 JPH0426737 B2 JP H0426737B2 JP 61221497 A JP61221497 A JP 61221497A JP 22149786 A JP22149786 A JP 22149786A JP H0426737 B2 JPH0426737 B2 JP H0426737B2
Authority
JP
Japan
Prior art keywords
area
module
program
macro
sub
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 - Lifetime
Application number
JP61221497A
Other languages
English (en)
Other versions
JPS6376029A (ja
Inventor
Mitsuru Okumura
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP61221497A priority Critical patent/JPS6376029A/ja
Publication of JPS6376029A publication Critical patent/JPS6376029A/ja
Publication of JPH0426737B2 publication Critical patent/JPH0426737B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)
  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】 〔概要〕 テスト時において、領域管理モジユールに領域
の開放依頼があつたとき、その領域内のビツトを
反転して開放することにより、誤つて開放された
領域を参照するような誤動作を検出しやすくす
る。
〔産業上の利用分野〕
本発明は、情報処理システムにおけるプログラ
ムのテスト方式に関するものであり、特にプログ
ラムテスト時に一旦獲得された領域が返却によ
り、開放された後、その開放された領域を誤つて
参照するプログラムがあつた場合、誤動作として
検出しやすくするための領域管理方式に関する。
〔従来の技術〕
一般に、複数のモジユールで構成されるプログ
ラムでは、メモリ資源の効率的利用の面から、そ
れぞれのモジユールが実行時に必要とする領域を
獲得し、処理終了とともにその領域を返却して開
放し、他の使用を可能にする方法がとられてい
る。この場合、領域獲得にはGETMAINマクロ
を発行し、領域返却にはFREEMAINマクロを発
行して、それぞれスーパーバイザプログラムのサ
ービスを受ける。
たとえば、第3図に示すような構成のプログラ
ムを考える。このプログラムでは、主制御モジユ
ールMAINのもとに複数個のサブモジユール
SUB−1,SUB−2,…,SUB−nが従属され
ている。ここで、次のような領域使用が要求され
るものとする。
MAINで獲得された領域をSUB−1〜nで
参照し、MAINで返却する。
SUB−1で獲得し使用された領域をSUB−
1で返却する。
SUB−2で獲得された領域をSUB−1〜n
で参照し、SUB−nで返却する。
MAINで獲得し使用された領域をMAINで
返却する。
通常この場合、〜での領域獲得時には、そ
の都度GETMAINマクロが発行されるが、
GETMAINマクロによりSVC(スーパーバイザコ
ール)が発生し、スーパーバイザプログラムの処
理に切り替えることから、オーバヘツドが大きく
なり、性能が低下する。このため第4図に示され
るように、プログラム独自の領域管理モジユール
を設ける方法がしばしばとられる。
この領域管理モジユールの機能は、予め
GETMAINマクロを発行して、スーパーバイザ
プログラムからあるまとまつた大きさの領域を獲
得しておき、他の各モジユールがGETMAINマ
クロを発行したとき、自分がGETMAINマクロ
で獲得してある領域を分割して使用可能な領域を
要求元モジユールに通知し、また各モジユールか
らのFREEMAINマクロによる領域開放依頼(返
却)についても、実際にはFREEMAINマクロを
発行することなく、その領域を次のGETMAIN
マクロに対する使用可能領域として領域管理モジ
ユールに管理させることで代えるものである。
上記した第3図の例を第4図の場合で説明する
と、上記の〜の領域の獲得・返却要求はそれ
ぞれ領域管理モジユールを呼び出すことにより行
われる。
の獲得要求では、あるまとまつた単位(1ペ
ージ等)でGETMAINマクロを発行し要求元に
その一部を渡す。
の獲得要求では、で獲得した領域の残りか
ら、その一部を要求元に返す。また、この時の返
却要求ではその領域を未使用情報として管理して
おく。
の獲得要求では、で未使用状態として管理
してある領域から要求元に返す。この時の返却要
求でも、その領域を未使用状態として管理してお
く。
でも同様である。
そしてこのプログラム中で、領域管理モジユー
ルにより実際にGETMAINマクロで獲得された
領域は、そのプログラムの最後でFREEMAINマ
クロで返却する。
これにより、GETMAIN,FREEMAINの回
数が大幅に削減される。
〔発明が解決しようとする問題点〕
第4図に示されているような領域管理モジユー
ルをもつプログラムにおいて、あるモジユール
が、誤つて開放すべきでない領域に対して
FREEMAINマクロを発行して開放してしまい、
さらにその後でその領域が他のモジユールからの
GETMAINマクロによつて再利用されている場
合、たとえばその領域が制御表として使用されて
いれば、再利用した他のモジユールによつて制御
表の内容が書き替えられてしまう可能性がある。
そこで、先に誤つて領域を開放したモジユール
が開放していないものとしてその領域の制御表を
参照した場合、他のモジユールによつて既に内容
が書き替えられていれば誤動作するため、誤つて
領域を開放したというプログラムの誤りが発見さ
れる。
しかし、上記他のモジユールが再利用した領域
の制御表の書き替えをしていない場合、元のモジ
ユールの制御表データがそのまま保存されている
ため、元のモジユールが制御表を参照した場合に
正しく動作しているように見え、誤動作とならな
い。
また、GETMAINマクロによる領域の利用を
最適化する必要から、FREEMAINマクロが発行
されて開放された領域が次に再利用されるタイミ
ングはまちまちとなる。そのためテスト段階での
FREEMAINマクロ発行誤りの検出は一層困難と
なる。
そこで従来は、FREEMAINマクロにより開放
する領域を、“FFFF…”または“0000…”でク
リアする方法がとられることもあつたが、その場
合元のデータに“F”あるいは“0”の連続デー
タが含まれている場合、完全にクリアできないた
め、誤動作とならない可能性が残つた。
その結果、プログラムテストでは誤りが発見さ
れずに、顧客へ出荷されてから誤動作するという
問題があつた。
〔問題点を解決するための手段〕
本発明は、上記した従来の問題点を解決するた
め、FREEMAINマクロにより開放する領域のビ
ツトの値を全て反転することによつて、元のデー
タを完全に破壊し、誤つてFREEMAINマクロを
発行したモジユールがその後で、その領域を参照
した場合、確実に誤動作を生じるようにさせるも
のである。
第1図に本発明の原理的構成を示す。
図において、1ないし5はテスト対象プログラ
ムを構成するモジユールであり、そのうち1は主
制御モジユールMAIN、2,3,4はそれぞれ
副モジユールSUB−1,SUB−2,…,SUB−
n、5は領域管理モジユールである。
6は、領域管理モジユール5が領域獲得命令
(GETMAINマクロ)を発行して獲得した領域で
ある。
7は、他のモジユールが発行した領域獲得命令
(GETMAINマクロ)に応じて、領域6から使用
可能領域を切り出して、領域獲得命令発行元モジ
ユールに割り付ける処理を行う領域獲得命令対応
部である。
8は、他のモジユールが発行した領域開放命令
(FREEMAINマクロ)により返却された該当領
域を使用可能領域に変更する処理を行う領域開放
命令対応部である。
9は、領域開放命令対応部8が、返却された領
域を使用可能領域に変更する際に、その領域の各
ビツトの値を反転するビツト反転機能であり、プ
ログラムがテスト環境にあるときに働かされる。
〔作用〕
第1図に示された本発明の原理的構成におい
て、たとえばモジユールSUB−1が領域獲得命
令を発行し、領域獲得依頼を行つた場合、領域管
理モジユール5の領域獲得命令対応部7は領域6
の中の未使用領域から必要な大きさの領域を切り
出して、依頼元のモジユールSUB−1にその領
域を割り付け通知する。
モジユールSUB−1は処理を終了すると、領
域開放命令を発行し、獲得してある領域の返却を
依頼する。これに応じて、領域管理モジユール5
の領域開放命令対応部8は、依頼元のモジユール
SUB−1に割り付けてある領域を未使用領域に
変更する。その際、未使用領域に変更した領域内
の全ビツトについて、ビツト反転機能9を用いて
各“0”を“1”に、各“1”を“0”にそれぞ
れ反転する。
このようにして、返却された領域内のデータは
完全に破壊されるので、もしもあるモジユールが
領域開放命令を誤つて発行して領域を返却した
後、その領域を参照した場合、確実に誤動作し、
プログラムの誤りを発見できる。
〔実施例〕
第2図に本発明の実施例を示す。
図において、15は領域管理モジユール、16
は領域、16aはフラグテーブル、17は
GETMAIN対応部、18はFREEMAIN対応部、
19はビツト反転機能、20はプログラム実行に
使用される主制御表、21はデバツグモードか通
常モードかを表示するモード表示フイールドであ
る。なお、第2図中に15ないし19で示されて
いる構成要素は、第1図中に5ないし9で示され
ている構成要素に対応している。
簡単に説明すると、領域管理モジユール15
は、GETMAINマクロを用いて獲得した領域1
6を一定の大きさに分割し、それぞれの領域が未
使用か使用中かを“0”,“1”でフラグ表示する
フラグテーブル16aを用いて領域管理する。
GETMAIN対応部17は、他のモジユールか
らのGETMAINマクロに応答して、フラグテー
ブル16aから未使用領域(フラグ“0”の領
域)を探し、必要な大きさの領域を割り付ける。
また割り付けた領域に対応するフラグを“0”か
ら“1”に変更し、使用中(割り付け済)表示と
する。
FREEMAIN対応部18は、領域使用中のモジ
ユールからのFREEMAINマクロに応答して、割
り付けてある該当領域を開放する。その場合、フ
ラグテーブル16aの対応するフラグを“1”か
ら“0”に変更し、さらにテストモード時にはビ
ツト反転機能19を動作させる。
主制御表20には、処理のモードか通常モード
かデバツグモードかを表すためのモード表示フイ
ールド21が設けられている。そしてプログラム
テスト実行時には、デバツグモード表示が設定さ
れる(たとえば、ソースのコンパイル処理時にオ
プシヨンでデバツグ指定を行う)。
ビツト反転機能19は、上記のモード表示フイ
ールド21がデバツグモードを表示しているとき
にのみ起動され、開放対象領域内の番地を順次読
み出し、各読み出したデータと“FFF…F”(all
“1”)との排他的論理和演算を行い、ビツト反転
された結果を元の番地に書き込む。このようにし
て、開放対象領域内の全ビツトの値を反転し、元
の値を破壊する。
〔発明の効果〕
以上述べたように、本発明によれば、独自の領
域管理モジユールをもつプログラムのテストにお
いて、プログラムに含まれる領域返却および参照
の誤りの発見が容易となり、プログラムの信頼性
を向上させることができる。
【図面の簡単な説明】
第1図は本発明の原理的構成図、第2図は本発
明の1実施例の構成図、第3図および第4図はそ
れぞれ従来の異なる領域管理方式の説明図であ
る。 第1図中、1……主制御モジユールMAIN、
2,3,4……副モジユールSUB−1,SUB−
2,SUB−n、5……領域管理モジユール、6
……領域、7……領域獲得命令対応部、8……領
域開放命令対応部、9……ビツト反転機能。

Claims (1)

  1. 【特許請求の範囲】 1 独自の領域管理モジユール5を含む複数のモ
    ジユールで構成されたプログラムを処理する情報
    処理システムにおいて、 上記領域管理モジユール5は、領域獲得命令を
    発行してある大きさの領域6を獲得した後、プロ
    グラム内の他のモジユールが領域獲得命令を発行
    して領域獲得依頼を行つたとき、自モジユールが
    先に獲得してある領域6の中の未使用領域を切り
    出して依頼元のモジユールに割り付け、使用可能
    にする領域獲得命令対応部7と、プログラム内の
    他のモジユールが領域開放命令を発行して、使用
    中の領域について領域返却依頼を行つたとき、該
    当する割り付け済み領域を未使用領域に変更し再
    使用を可能にする領域開放命令対応部8とをそな
    え、 上記領域開放命令対応部8は、プログラムのテ
    スト時に、返却された割り付け済み領域を未使用
    領域に変更する際、その領域内の全てのビツトの
    値を反転することを特徴とするプログラムテスト
    における領域管理方式。
JP61221497A 1986-09-19 1986-09-19 プログラムテストにおける領域管理方式 Granted JPS6376029A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61221497A JPS6376029A (ja) 1986-09-19 1986-09-19 プログラムテストにおける領域管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61221497A JPS6376029A (ja) 1986-09-19 1986-09-19 プログラムテストにおける領域管理方式

Publications (2)

Publication Number Publication Date
JPS6376029A JPS6376029A (ja) 1988-04-06
JPH0426737B2 true JPH0426737B2 (ja) 1992-05-08

Family

ID=16767633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61221497A Granted JPS6376029A (ja) 1986-09-19 1986-09-19 プログラムテストにおける領域管理方式

Country Status (1)

Country Link
JP (1) JPS6376029A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04217048A (ja) * 1990-12-18 1992-08-07 Pfu Ltd メモリ管理装置

Also Published As

Publication number Publication date
JPS6376029A (ja) 1988-04-06

Similar Documents

Publication Publication Date Title
US4387427A (en) Hardware scheduler/dispatcher for data processing system
US4480304A (en) Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment
US5274789A (en) Multiprocessor system having distributed shared resources and dynamic and selective global data replication
US6542919B1 (en) Operating system for use with protection domains in a single address space
US5088031A (en) Virtual machine file control system which translates block numbers into virtual addresses then into real addresses for accessing main storage
GB2265734A (en) Free memory cell management system
JPH0776944B2 (ja) 仮想索引機構
US6473848B2 (en) Method for controlling memory access on a machine with non-uniform memory access and machine for implementing such a method
EP0294499B1 (en) Control scheme for segmented buffers based on a shared reference count
US5809551A (en) Pending page release
JPH0426737B2 (ja)
EP0049423B1 (en) Multiprocessor system
JP3351469B2 (ja) 情報処理システム及びそれに用いるデータコピーを伴う障害処理方式
Attanasio Virtual Control Storage-curity measures in VM/370
JP2864496B2 (ja) 多重処理計算機
JP2798140B2 (ja) 仮想空間制御方式
JPH09282291A (ja) 共通記憶装置のロックフラグ解除方式および方法
JP2535584B2 (ja) 実記憶固定処理計算機
JPS60215272A (ja) マルチプロセツサシステム
JPH0534705B2 (ja)
Barkley et al. A performance study of the UNIX® System V fork system call using CASPER
JPS63266554A (ja) プログラムデバグ方式
JPH07120305B2 (ja) マルチプロセッサによるデータベース処理方式
JPH03232051A (ja) セマフォアクセス制御方法
JPS5918787B2 (ja) Tlbパ−テイシヨン方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees