JPH0352047A - 記憶領域の書き込み検査処理方法 - Google Patents

記憶領域の書き込み検査処理方法

Info

Publication number
JPH0352047A
JPH0352047A JP1188272A JP18827289A JPH0352047A JP H0352047 A JPH0352047 A JP H0352047A JP 1188272 A JP1188272 A JP 1188272A JP 18827289 A JP18827289 A JP 18827289A JP H0352047 A JPH0352047 A JP H0352047A
Authority
JP
Japan
Prior art keywords
area
length
storage area
writing
processing
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.)
Granted
Application number
JP1188272A
Other languages
English (en)
Other versions
JP2504570B2 (ja
Inventor
Hiroyuki Fukushima
裕之 福島
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 JP1188272A priority Critical patent/JP2504570B2/ja
Publication of JPH0352047A publication Critical patent/JPH0352047A/ja
Application granted granted Critical
Publication of JP2504570B2 publication Critical patent/JP2504570B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔概要〕 計算機システムにおいて.ユーザプログラムなどが指定
した記憶領域に対する書き込みの妥当性を,実際に書き
込みを行うことにより検査する記憶領域の書き込み検査
処理方法に関し.検査する頌域長が大きい場合,領域妥
当性検査の処理時間が長くかかるという問題を解決し.
処理の高速化を可能とすることを目的とし,検査する記
憶領域内の先頭部分について,■バイトまたはlワード
分の書き込みによる検査を行う処理過程と,検査する記
憶領域内の最終部分に●ついて,1バイトまたはlワー
ド分の書き込みによる検査を行う処理過程と.検査する
記憶領域内における領域の管理単位ごとに,各1バイト
またはlワード分ずつの書き込みによる検査を行う処理
過程とを備え,すべての検査に合格したときに.書き込
み可能と判断するように構戒する。
〔産業上の利用分野〕
本発明は,計算機システムにおいて,ユーザプログラム
などが指定した記憶領域に対する書き込みの妥当性を,
実際に書き込みを行うことにより検査する記憶領域の書
き込み検査処理方法に関する. 〔従来の技術〕 第4図は本発明の適用対象となる領域検査が必要になる
システムの例.第5図は従来技術の処理フローを示す. 第4図に示す計算機システム10において.例えばユー
ザプログラム12が,端末20からのデータの受信要求
を行った場合.通信制御プログラム21は,一旦,受信
バッファ22内に受信データを受け取り,その後,ユー
ザプログラム12が指定したユーザバッファ23に受信
データを複写する.このとき5ユーザプログラム12の
ミスにより.ユーザプログラム12が指定したユーザバ
ッフ123の領域が不当であると.データの書き込みに
対して,アドレスフォールトなどの異常が発生すること
がある. このように,受信データの転送中に異常が発生すると,
通信制御プログラム21は,異常終了してしまうことに
なる.もし,事前にユーザバッファ23の領域の妥当性
が検査できれば,通信制御プログラム2lは.ユーザプ
ログラムl2の受信要求に対して,復帰情報でもって領
域不当を通知し,予期できない異常終了を回避すること
ができるようになる. そのため,従来,ユーザプログラムl2からの受信要求
があると.実際のデータ受信処理に入る前に.領域検査
部11により,ユーザバッファ23への書き込みチェッ
クを行い,その書き込みが正常終了するかどうかを調べ
る. このような検査は,端末20からのデータ受信に限らず
,ファイルからのデータ読み込みによるデータ転送やそ
の他の処理にも有効になる.この領域の妥当性の検査を
,従来技術では,第5図に示す処理により行っていた.
なお,呼び出し元プログラムが.バラメタとして,領域
の先頭アドレスと,その領域長を指定し,検査を行う呼
び出し先プログラムが,指定された領域に指定された長
さだけデータを格納するインタフェースを持つものとす
る. (a)  検査アドレスに,領域先頭アドレスを入れる
.(b)  検査長に領域長を入れる. (C)  長文字移動命令(MVCL命令)により,!
域の書き込み検査を行う.この検査では,書き込みによ
り, wt域の内容が変化しないように, MVCL命
令における移動元のアドレスと,移動先のアドレスを同
一にする. この命令が正常に終了すれば,指定された領域は,正し
いことになる.プログラム割込みなどが生じた場合には
,指定された領域は正しくないことになる. 従来技術による検査のためのプログラムのコーディング
は,アセンブリ言語で記述すると,例えば次のようにな
る.なお,検査対象の先wLM域をA,8N域長をLと
する. LA    O,A    (Aの7Fレスをレジスタ
0 にセット)L     1.L    (領域長L
をレジスタ1 にセクト〉LR    2.0    
(Aのアドレスをレジスタ2にセフ←)LR    3
.1    (負頁域長Lをレジスタ3 にセット)M
VCL O.2  (長文字移動) このMVCL命令は,第2オペランドを第1オペランド
の位置に移動する命令であり.転送する領域長が大きい
と処理時間が長くかかる.〔発明が解決しようとする課
題〕 以上のように,従来技術では,領域の妥当性検査を行う
ために,指定された領域のすべてに,実際に書き込みを
行う方法を使用していた.したがって,領域長が大きい
場合,オーバヘッドが大きくなるという問題があった. 本発明は,検査する領域長が大きい場合に,領域妥当性
検査の処理時間が長くかかるという問題を解決し,処理
の高速化を可能とすることを目的としている. 〔課題を解決するための手段〕 第1図は本発明の原理説明図である. 第1図において,10はCPUおよびメモリなどを備え
た計算機システム.11は領域への書き込み妥当性を検
査するプログラムからなる領域検査部,12はユーザプ
ログラム.13は書き込みの領域を指定するパラメタ.
14はデータを格納する!域を表す. ユーザプログラムl2が,パラメタl3を指定して,デ
ータを格納する領域l4に対するデータ受信やファイル
からのデータの読み込みの処理を依頼する場合,fil
域検査部11は.事前に処理過程P1〜P3によって,
領域の書き込み検査を行う. 処理過程Piでは,検査する領域14内の先頭部分■に
ついて.1バイトまたは1ワード分の書き込みによる検
査を行う. 処理通程P2では,検査する領域14内の最終部分■に
ついて,■バイトまたは1ワード分の書き込みによる検
査を行う. 処理過程P3では.検査する領域l4内における領域の
管理単位■,■ごとに.各1バイトまたは1ワード分ず
つの書き込みによる検査を行う.これらのすべての検査
に合格したときに,書き込み可能と判断する.いずれか
の検査が不合格になった場合,ユーザプログラムl2に
対し,復帰コードで.ffl域指定誤りを通知する.〔
作用〕 ユーザプログラム12のξスは.以下の場合が大部分で
ある. (1)  ml域アドレスの指定もス (2)  SJI域長の指定逅ス これらのミスを効率よく検出するために,本発明では+
 a,l域全体についての書き込みを行うのではなく,
処理過程P1〜P3による管理単位ごとの部分的な書き
込み検査を行う. 処理過程P1の検査により.at域アドレスの指定ミス
を検出することができる.処理過程P2により+N域長
の指定ミスの検出することができる.例えばオペレーテ
ィング・システムによる領域の管理単位が,1ページ4
096バイトであるとすると g域長が4096バイト
以上である領域全体の検査は,処理過程P3によって.
先頭から4096バイトごとの各1バイトまたはlワー
ドの書き込みにより行う. なお.g域管理単位は,主記憶キーなどによる記憶保護
の単位でもよい. 検査する領域の領域長が短い場合には.本発明による方
法よりも.従来技術による方法のほうが.計算機の実行
時間が短い.そこで,N域長を判定した後に,従来技術
のようにjl域全体の検査を行うのか,本発明による検
査を行うのか.動的に切り分けるようにすると,M域長
が小さい場合にも効率的にwI域検査を実行することが
できる.〔実施例〕 第2図は本発明の一実施例処理フロー,第3図は本発明
と従来技術との性能比較の例を示す.本発明による検査
の処理の流れは,例えば第2図に示す(6)〜(自)の
ようになる.(a)  まず.検査する領域長が64バ
イトより長いかどうかを判定する.この例では.計算機
の特性により.管理単位ごとの検査か一括検査かの切り
分けを.領域長が64バイトを超えるかどうかで行って
いる.64バイト以下の場合,処理(自)へ移る. (ロ)検査アドレスに.lm先頭アドレスを入れる.文
字移動命令(MVC命令)により.検査アドレスの指す
領域の1バイトの書き込み検査を行う. (C)  最終アドレスに,(先頭アドレス+1域長一
l)を入れる,MVC命令により,最終アドレスの指す
wI域の1バイトの書き込み検査を行う.(イ)検査ア
ドレスに.ページ長(4096)を加える. (e)  検査アドレスが.最終アドレスより小さいか
どうかを判定する.小さくない場合,検査を終了する. (f)MVC命令により,検査アドレスの指す領域の1
バイトの書き込み検査を行う.その後,処理(イ)へ戻
り,同様に処理を繰り返す.(8)領域長が64バイト
以下の場合,文字移動命令(MVC命令)により,すべ
ての領域の書き込み検査を行う.その後,検査終了とす
る。
以上の処理において,プログラム例外が生した場合,所
定の出口ルーチンで SN域指定誤りの復帰コードを設
定し,呼び出し元のユーザプログラムに復帰する。
以上の処理を,代表的なアセンブリ言語で記述すると.
コーディングは例えば次のようになる.なお,検査対象
の先頭領域をA,aJj域長をLとする。
LA   3,A L    L,L CH   1,−H’64’ BNH  LABELL MVC  O(1.3).0(3) ・ ・ ・■ ・ ・ ・■ ・ ・ ・■ ・ ・ ・■ ・ ・ ・O LR   4,3         ・ ・ ・■AR
   4,1         ・ ・ ・■BCTR
 4.0         ・ ・ ・■MVC  O
(1.4),O(4)    −  −  −■LAB
EL2  AH   3,・H’4096’    ・
 ・ ・[相]CR   3,4        ・ 
・ ・■BNL  EXIT        .  .
  .@MVC  O(1.3),0(3)    ・
・−■B   LABEL2       ・ ・ ・
■LABELI  BCTRI,0         
・ ・ ・■BX   1,?IVC1       
...■B   EXIT        ・ ・ ・
@MVCI   MVC  O(0.3),O(3) 
   −  −  −@EXIT   EQU    
        ・ ・ ・■以上の命令は,それぞれ
次の意味を持つ.LA    :  LOAD  AD
[IRBSSL    :LOAD CH:CO阿PAREt HALFWOIiDBNH 
 : BRANCH NOT HIGHMVC  : 
 lfOVE  CHARACTERSLR   : 
 LOAD  REGISTERAR   :  AD
D  l?EGIsTERBCTR  :  BRAN
CH ON CO[lNT^H  : ^DD  HA
LFiRDCR   :  COMPARE RESI
STERBNL  :  BIIANCH  NOT 
 LOWB    :  BRAMCH EX   :  EXECUTE EQtl  :アドレス指定のアセンブラ用擬似命令以
上の命令列■〜[相]は,ほぼ第2図に示す処理(a)
〜(8)に対応しているので.詳細に説明するまでもな
いであろう.■の命令は,領域長が64バイトを超える
かどうかを判定している.■の命令により,領域長が6
4バイト以下の場合,■の命令へ分岐する.■の命令は
,領域の先頭アドレス部分を検査している.■の命令は
,N域の最終アドレス部分を検査している.■の命令に
より,途中領域を1バイトずつ検査している.@([株
])の命令では,64バイト以下の場合の一括検査を行
っている. 領域の検査完了までの実行時間は、例えば,以下のとお
りである.領域長をl,ある基準となる命令の実行時間
をiとする. 従来技術:88+j! 本実施例: i≧64の場合 52+ (1/4096) x262
〈64の場合 46+6Xj! 従来技術と、本実施例による検査の実行時間を,グラフ
で表すと,第3図に示すようになった.第3図において
,横軸が領域長,縦軸が実行時間を表している.●で示
したものが従来技術,口で示したものが本実施例による
ものである。
なお,以上の例は,検査の対象となる領域の領域長が,
実行時にしかわからない場合であるがインタフェース上
で領域長が規定されている場合には,以下の方法により
,さらに高速化することができる. (1)本処理論理をアセンブラマクロ化し.マクロパラ
メタとして.長さを指定する. (2)アセンプラマクロ内で長さを判定し,領域検査部
分のみのアセンブラ命令を展開する.例えば.,分散処
理システム等において,ユーザプログラムが指定する受
信データを格納するためのwi域の領域長は.通常の場
合,4096バイト以上であることが多く.第3図から
明らかなように,大幅な性能向上が可能になる. 〔発明の効果〕 以上説明したように,本発明によれば,従来技術に比べ
て,処理ステップ数が増加するが,領域長が大きい場合
における実行時間を大幅に短縮することができるように
なり.処理性能の向上が可能になる.また,ユーザプロ
グラム等が.wI域長を誤って長く指定した場合に,従
来技術では,先頭から1バイトずつ全データを移動して
いくために,領域不当を検出するまでに時間がかかるが
.本発明では,早期に検出することができる,
【図面の簡単な説明】
第1図は本発明の原理説明図. 第2図は本発明の一実施例処理フロー 第3図は本発明と従来技術との性能比較の例,第4図は
本発明の適用対象となる領域検査が必要になるシステム
の例, 第5図は従来技術の処理フローを示す.図中,10は計
算機システム.11は領域検査部,12はユーザプログ
ラム.13はパラメタ,14は領域を表す.

Claims (1)

  1. 【特許請求の範囲】 計算機システムにおけるある記憶領域に対する書き込み
    の妥当性を、実際に書き込みを行うことにより検査する
    記憶領域の書き込み検査処理方法において、 検査する記憶領域内の先頭部分について、1バイトまた
    は1ワード分の書き込みによる検査を行う処理過程(P
    1)と、 検査する記憶領域内の最終部分について、1バイトまた
    は1ワード分の書き込みによる検査を行う処理過程(P
    2)と、 検査する記憶領域内における領域の管理単位ごとに、各
    1バイトまたは1ワード分ずつの書き込みによる検査を
    行う処理過程(P3)とを備え、上記すべての検査に合
    格したときに、書き込み可能と判断することを特徴とす
    る記憶領域の書き込み検査処理方法。
JP1188272A 1989-07-20 1989-07-20 記憶領域の書き込み検査処理方法 Expired - Fee Related JP2504570B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1188272A JP2504570B2 (ja) 1989-07-20 1989-07-20 記憶領域の書き込み検査処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1188272A JP2504570B2 (ja) 1989-07-20 1989-07-20 記憶領域の書き込み検査処理方法

Publications (2)

Publication Number Publication Date
JPH0352047A true JPH0352047A (ja) 1991-03-06
JP2504570B2 JP2504570B2 (ja) 1996-06-05

Family

ID=16220764

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1188272A Expired - Fee Related JP2504570B2 (ja) 1989-07-20 1989-07-20 記憶領域の書き込み検査処理方法

Country Status (1)

Country Link
JP (1) JP2504570B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61213946A (ja) * 1985-03-19 1986-09-22 Sony Corp マイクロコンピユ−タ
JPS63255751A (ja) * 1987-04-13 1988-10-24 Sharp Corp メインメモリ容量自動検出装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61213946A (ja) * 1985-03-19 1986-09-22 Sony Corp マイクロコンピユ−タ
JPS63255751A (ja) * 1987-04-13 1988-10-24 Sharp Corp メインメモリ容量自動検出装置

Also Published As

Publication number Publication date
JP2504570B2 (ja) 1996-06-05

Similar Documents

Publication Publication Date Title
EP0537309B1 (en) System and method for preserving source instruction atomicity in translated program code
US8479050B2 (en) Identifying access states for variables
US7269718B2 (en) Method and apparatus for verifying data types to be used for instructions and casting data types if needed
US4710866A (en) Method and apparatus for validating prefetched instruction
EP0155211A2 (en) System for by-pass control in pipeline operation of computer
US7386690B2 (en) Method and apparatus for hardware awareness of data types
WO2000045257B1 (en) Executing programs for a first computer architecture on a computer of a second architecture
US20020170034A1 (en) Method for debugging a dynamic program compiler, interpreter, or optimizer
KR890000100B1 (ko) 제어 레지스터 처리방식
US7328374B2 (en) Method and apparatus for implementing assertions in hardware
US20020099922A1 (en) Data processing apparatus including a plurality of pipeline processing mechanisms in which memory access instructions are carried out in a memory access pipeline
US5003468A (en) Guest machine execution control system for virutal machine system
US6513110B1 (en) Check instruction and method
US7219335B1 (en) Method and apparatus for stack emulation during binary translation
JP2922723B2 (ja) 情報処理装置
US5278840A (en) Apparatus and method for data induced condition signalling
US5822607A (en) Method for fast validation checking for code and data segment descriptor loads
US20060174248A1 (en) Software tool for automatically protecting shared resources within software source code
US20090210680A1 (en) Method, system and computer program product for millicode store access checking instructions
JP2504570B2 (ja) 記憶領域の書き込み検査処理方法
US5815729A (en) Method and apparatus for on the fly descriptor validation
WO1988007239A1 (en) Apparatus and method for synchronization of arithmetic exceptions in parallel pipelined execution units
EP0297890B1 (en) Apparatus and method for data induced condition signaling
CN119149115B (zh) 一种基于自反射机制的动态指令转换调试方法
Kicinski et al. Xdp hardware offload: Current work, debugging and edge cases

Legal Events

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