JP2533931B2 - 動的割当て領域のデ―タ内容保護方式 - Google Patents

動的割当て領域のデ―タ内容保護方式

Info

Publication number
JP2533931B2
JP2533931B2 JP1075426A JP7542689A JP2533931B2 JP 2533931 B2 JP2533931 B2 JP 2533931B2 JP 1075426 A JP1075426 A JP 1075426A JP 7542689 A JP7542689 A JP 7542689A JP 2533931 B2 JP2533931 B2 JP 2533931B2
Authority
JP
Japan
Prior art keywords
area
descriptor
access
request
allocation
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
JP1075426A
Other languages
English (en)
Other versions
JPH02253359A (ja
Inventor
和久 井上
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 JP1075426A priority Critical patent/JP2533931B2/ja
Publication of JPH02253359A publication Critical patent/JPH02253359A/ja
Application granted granted Critical
Publication of JP2533931B2 publication Critical patent/JP2533931B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Description

【発明の詳細な説明】 [概要] 記憶領域内に設けられた動的割当て領域のデータ内容
保護方式に関し、 領域の解放が行われた際にその後にその領域へのアク
セス要求時にその領域へのアクセスを禁止すると共にセ
グメントのハンドリングを可能にする動的割当て領域の
データ内容保護を提供することを目的とし、 動的割当て領域内の各割当て領域の割当て範囲を表す
リミット値とベース値を含む記述子を格納する記述子テ
ーブルと,領域割当て要求に応じて前記記述子テーブル
の空き記述子を求めて領域を獲得し,領域解放の要求に
応じて該当領域の記述子のリミット値を0に設定して領
域を解放する領域管理制御部と,アクセスの要求を制御
するアクセス制御部と,記述子へのアクセス要求に対
し,記述子テーブルの該当記述子の存在,不存在をチェ
ックして不存在の場合に異常の出力を発生する記述子ア
クセス検出部と,領域に対するアクセス要求に対し,該
当領域の記述子のリミット値が0か否か及び読み出し/
書き込みの可否を検出する領域アクセス検出部とを備
え,領域アクセス検出部は,前記記述子のリミット値が
0であることを検出して解放された領域に対するアクセ
スに対し異常の通知出力を発生するよう構成する。
[産業上の利用分野] 本発明は記憶領域内に設けられた動的割当て領域のデ
ータ内容保護方式に関する。
現在の多くのコンピュータシステムにおいては、シス
テム内に複数のモジュールが存在しており、それらがシ
ステムの資源を共用することが要求されている。このた
め、複数のモジュールによって一つの領域を共用し、そ
の領域の一部を動的に獲得したり解放したりして使用す
る必要がある。
そのような領域を動的割当てによって利用する記憶領
域に対しては、共用することによりデータの保護を行う
必要がある。すなわち、ある領域を使用した利用者(プ
ログラム)がその領域を解放した後、別の利用者に割当
てられて使用している時、先に使用した利用者が再びそ
の領域にアクセスする場合があり、その時は後の利用者
が使用しているデータが破壊される可能性があり、その
ような場合のデータ内容保護を行うことが望まれてい
る。
[従来の技術] 第6図は従来例の説明図であり、イ.は従来例1の方
式説明図、ロは従来例2の方式説明図である。
第6図のイ.に示す従来例1の方式では、プログラム
モジュール62,63等からメモリ域60内の領域を獲得する
要求があると、領域管理部61は、要求に対応するアドレ
ス通知を行うだけである。この場合、領域管理部61は領
域へのアクセスに対する制御権を持たない。なお、この
ような制御方式は、たとえば公知の8086CPUのアドレッ
シングにおいて行われている。
次に第6図のロ.に示す従来例2の方式は、メモリ域
64の動的領域A,B等の各々に対して割当て範囲を示す指
示子65が設けられ、各指示子には領域の長さを表すリミ
ット情報と基点位置を表すベース情報等が含まれてお
り、領域の割当てや領域へのアクセス等を行う場合に領
域管理制御部67において指示子を用いて対応する制御が
行われる。なお、検出部66はアクセス要求をチェックす
るものである。
この従来例2の方式において、領域割当てにおいて
は、割当て領域全体の中から適当な領域範囲を抽出し、
その範囲を記録・通知することにより領域を獲得し、ま
た同位置の解放要求に従って記録を更新することで領域
の解放をする。
領域の解放要求の場合、領域管理制御部67が要求に従
って対応する記述子を不在状態にする。
この不在状態とは領域を仮想的に削除した状態にする
ことであり、この状態になると当該領域へのアクセス要
求があると検出部66において不在状態であることが分か
り不当なアクセスであることを抽出することができる。
この方式は、例えば公知の80286/80386CPUでのアドレッ
シングにより行われている。
[発明が解決しようとする課題] 上記した従来例2の方式によれは、解放要求により領
域を不在状態とすることにより、不当なアクセス要求に
対処しているが、不在状態にすると、その状態となった
セグメント(領域のブロック)をハンドリングすること
ができない。すなわち、その領域の指示子の情報をレジ
スタにセットして処理することができなくなるという問
題があった。また、従来例1の方式のCPUで動作してい
たプログラムを従来例2の新たなCPUを使用する情報処
理装置に移植して実行することができないという問題が
あった。即ち、領域解放のアクセスや領域獲得の要求が
あると、不在状態となって以後の指示子についての操作
ができなくなる。
本発明は領域の解放が行われた際にその後にその領域
へのアクセス要求時にその領域へのアクセスを禁止する
と共にセグメントのハンドリングを可能にする動的割当
て領域のデータ内容保護方式を提供することを目的とす
る。
[課題を解決するための手段] 第1図は本発明の原理的構成図である。
第1図において、10は処理装置の主記憶装置として使
用される記憶領域、11は記憶領域10内において利用者に
対し動的に割当てと解放が行われる動的割当て領域、12
は動的割当て領域11の中の各割当て範囲を表すリミット
とベースを含む領域指示子、13は指示子に対するアクセ
ス及び領域に対するアクセスをチェックするアクセス検
出部、14は指示子を操作して領域割当てと解放を行う領
域管理制御部、141はリミット0設定手段を表す。
本発明は領域解放要求があると対応する割当て領域の
領域指示子に含まれるリミット値を“0"に設定し、当該
領域へのアクセス要求があると、アクセス検出部13にお
いてリミットが0であることを検出して通知すると共
に、その記述子に対応するセグメントのハンドリングを
可能にする。
[作用] 領域管理制御部14は領域獲得要求や領域解放要求を、
指示子12を操作して実行する。領域解放の要求がある
と、領域管理制御部14は記述子を取り出し、リミット0
設定手段141においてそのリミット値(領域の長さを表
す)を“0"に設定する。この設定値は元の指示子の格納
位置にセットされる。この状態の時,指示子へのアクセ
ス入力が到来すると,アクセス検出部13では対応する領
域指示子を取出して,領域が存在(リミット値が“0"の
場合は存在)すればこのアクセスを終了するが,不存在
の場合は直ちに通知出力が発生し,プログラムモジュー
ルなどから領域へのアクセス入力が到来した場合,アク
セス検出部13は当該領域の指示子のリミット値が“0"で
あるか検出して,“0"の場合は直ちに通知出力が発生す
る。この通知はシステムに供給されて異常処理が行われ
る。
[実施例] 第2図は本発明の実施例のブロック構成図、第3図は
領域割当て要求の処理フロー図、第4図は領域解放要求
の処理フロー図、第5図はアクセス制御部の処理フロー
図である。
第2図において、20は処理装置(CPUおよび記憶装
置)、21は領域管理制御部、22はアクセス制御部、23は
記述子テーブル、24は記述子アクセス検出部、25は領域
アクセス検出部、26はセグメントレジスタなどの各種レ
ジスタからなるレジスタ群、27は主記憶領域を表す。
主記憶領域27の動的割当て領域271の割当て範囲を表
す記述子は、各割当て領域毎に記述子テーブル23に格納
されている。この記述子は第1図の指示子に対応しリミ
ット,ベースアドレス(ベースで表示)を含んでいる。
領域管理制御部21は領域割当て要求や、領域解放要求
がプログラムから発生すると、それぞれに対応する処理
を行い、第3図および第4図にそれぞれの処理フローが
示されている。
アクセス制御部22は,記述子へのアクセス要求が発生
すると,第5図のAに示す処理フローにより処理を行
い,記述子アクセス検出部24は記述子へのアクセスをチ
ェックして不当な記述子アクセスを検出する。また,ア
クセス制御部22は,領域アクセス要求がプログラムによ
り発生すると,第5図のBに示す処理フローにより領域
アクセス要求処理を行い,領域アクセス検出部25で領域
アクセスをチェックして同様に不当な領域アクセスを検
出する。
第3図に示す領域割当て要求の処理フローを説明す
る。
最初にプログラムからの領域割当て要求が発生する
と、管理制御部により空き記述子サーチが行われる(ス
テップ31)。次に空きメモリ域のサーチが行われる(ス
テップ32)。このサーチは領域の使用状態が登録された
テーブル(図示されない)を調べることにより行われ
る。
空き領域が判別するとその中の一つの空きメモリを獲
得し(ステップ33)、次で空き記述子を獲得する(ステ
ップ34)。続いて記述子内にベースおよびサイズ(リミ
ットと同じ)を設定する(ステップ35)。最後に要求元
のプログラムへ獲得した記述子の内容を通知する。以
後、そのプログラムは獲得した領域に対して記述子の情
報を用いてアクセスすることができる。ステップ31,32
においてサーチが失敗したら(空き記述子や空きメモリ
が無い時)は要求元プログラムに対してエラー通知を行
う。
次に、第4図に示す領域解放要求の処理フローを説明
する。
プログラムから領域解放要求が発生すると、要求に含
まれる領域情報に基づいて管理制御部によるメモリ域解
放を実行する(ステップ41)。次に、管理制御部による
記述子内のサイズ(リミット)を0に設定する(ステッ
プ42)。この設定を行うと要求元プログラムに対し解放
完了通知を行う。
次に第5図によりアクセス制御部の処理フローを説明
する。
最初に,第5図のAに示す記述子アクセスの制御につ
いて説明すると,プログラムでの記述子アクセス要求が
発生すると,セグメントレジスタへの記述子セレクタ
(記述子を示すコード)のロード要求をする(ステップ
51)。この動作によりアクセス要求があった記述子のワ
ードが取出され、記述子アクセス検出部(第2図24)に
よる記述子情報チェックが行われる。このチェックでは
記述子情報に含まれた内容により記述子の存在/不在お
よび実行の可または不可などがチェックされる(ステッ
プ52)。このチェックにより不在であることが分かると
NG(ノーグッド)となって異常処理ハンドラへ処理が移
る。従来例2の方式の場合、領域解放の際に解放された
記述子が不在の状態となってこのステップ52において異
常処理に移る。
ところが、このような管理機構を持たない旧CPU(例
えば8086等)のプログラムを移植する場合、その中で領
域解放の処理部を呼出す前後に、レジスタの退避および
復元を実施している可能性が高い。何故なら、サブルー
チンのプログラムは、多くの場合呼出し時のレジスタ内
容を保存するように作られている。
そのようなプログラムを動作させると、領域解放処理
を呼出して記述子の情報を不在にした後に、レジスタの
復元を実行する時点で、もしセグメントレジスタ内に解
放済の記述子セレクタをロードしようとする場合、ステ
ップ51と同様の要求を行うことになり、ステップ52に相
当するチェックが実施され、プログラムは中断されてし
まう。この場合、異常処理ハンドラでリカバリを実施す
ることは不可能ではないが、性能の維持が困難となる。
これに対して、第4図のように記述子を解放する前に
記述子内のアクセス情報とリミット(サイズ)情報を操
作して、セグメントのサイズを0に設定すると、上記の
ような移植をしても、ステップ52のチェックにかかわら
ず(違反せず)、ステップ53のセレクタのロードが可能
となる。
すなわち、セグメントレジスタ内へ解放済み領域用記
述子のセレクタをロードすることだけが可能となる。し
かも、不当なアクセス(セグメントレジスタにロードす
るだけでなく、それを用いて領域アクセスをしようとす
る場合)に対しては、次の第5図のBに示すステップ55
のアクセス範囲のチェックに必ず違反する。
すなわち,第5図のBに示す領域アクセス要求の制御
において,最初のステップ54による領域アクセス要求が
発生すると,ステップ55では、領域アクセス検出部(第
2図25)により記述子情報チェックを実行し、このチェ
ックではリミットのチェックと読み出し/書き込みが可
か不可かなどのチェックを行う。本発明による領域解放
を行った場合、このチェックにおいて違反であることを
検出する。つまり、サイズが0である以上アクセスする
ことは不可能であり、このステップで異常処理ハンドラ
へ移行する。
なお、上記ステップ55の記述子情報のチェック処理が
正常に完了すると、次のステップ56では、「セレクタ+
オフセット」による領域アクセスが行われる。この場
合、ステップ53でセグメントレジスタにセレクタをロー
ドし、記述子をアクセスすると、記述子情報が得られ、
その記述子中のベース値により領域位置を得ることがで
きる。この位置情報により上記ステップ56では,ベース
位置にオフセット分加えた位置にある要求された指定領
域のアクセスが行われる。
このように、本来なら処理装置(CPU)を改造するこ
とが必要であった新型の処理装置(CPU)による各種の
チェック機構を利用して、旧プログラムを大改造するこ
となく移植して動作させることができる。
[発明の効果] 本発明によれば動的割当て領域におけるアクセスに関
しては他の領域利用者との間で互いに悪影響を及ぼすこ
とを抑制でき、コンピュータプログラムに潜む不当な部
分を検出することができるだけでなく、旧処理装置に対
応するプログラムを新型処理装置に移植する場合に、領
域データの保護の動作による不都合な処理(異常処理)
が直ちに発生するのを防止して処理の効率化を実現する
ことができる。
【図面の簡単な説明】
第1図は本発明の原理的構成図、第2図は本発明の実施
例のブロック構成図、第3図は領域割当て要求の処理フ
ロー図、第4図は領域解放要求の処理フロー図、第5図
はアクセス制御部の処理フロー図、第6図は従来例の説
明図である。 第1図中、 10:記憶領域 11:動的割当て領域 12:領域指示子 13:アクセス検出部 14:領域管理制御部 141:リミット0設定手段

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】記憶領域内に設けられた動的割当て領域の
    データ内容保護方式において, 動的割当て領域内の各割当て領域の割当て範囲を表すリ
    ミット値とベース値を含む記述子を格納する記述子テー
    ブルと, 領域割当て要求に応じて前記記述子テーブルの空き記述
    子を求めて領域を獲得し,領域解放の要求に応じて該当
    領域の記述子のリミット値を0に設定して領域を解放す
    る領域管理制御部と,アクセスの要求を制御するアクセ
    ス制御部と, 前記記述子へのアクセス要求に対し,前記記述子テーブ
    ルの該当記述子の存在,不存在をチェックして不存在の
    場合に異常の出力を発生する記述子アクセス検出部と, 領域へのアクセス要求に対し,該当領域の記述子のリミ
    ット値が0か否か及び読み出し/書き込みの可否を検出
    し,前記記述子のリミット値が0であることを検出する
    と解放された領域に対するアクセスとして異常の通知出
    力を発生する領域アクセス検出部とを備えることを特徴
    とする動的割当て領域のデータ内容保護方式。
JP1075426A 1989-03-28 1989-03-28 動的割当て領域のデ―タ内容保護方式 Expired - Lifetime JP2533931B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1075426A JP2533931B2 (ja) 1989-03-28 1989-03-28 動的割当て領域のデ―タ内容保護方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1075426A JP2533931B2 (ja) 1989-03-28 1989-03-28 動的割当て領域のデ―タ内容保護方式

Publications (2)

Publication Number Publication Date
JPH02253359A JPH02253359A (ja) 1990-10-12
JP2533931B2 true JP2533931B2 (ja) 1996-09-11

Family

ID=13575871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1075426A Expired - Lifetime JP2533931B2 (ja) 1989-03-28 1989-03-28 動的割当て領域のデ―タ内容保護方式

Country Status (1)

Country Link
JP (1) JP2533931B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200805065A (en) * 2006-01-17 2008-01-16 Nxp Bv Region protection unit, instruction set and method for protecting a memory region

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
インターフェース,第11巻第11号(1985−11)CQ出版社P.212−241

Also Published As

Publication number Publication date
JPH02253359A (ja) 1990-10-12

Similar Documents

Publication Publication Date Title
KR860000838B1 (ko) 데이타 처리시스템
US6029206A (en) Object-oriented method routing mechanism for automatically performing supervisory functions during method calls
JPH0619798A (ja) セレクタの値のロードを回避する方法とシステム
KR19990013514A (ko) 오퍼레이팅 시스템의 재기동 방법
JPH06231043A (ja) 仮想記憶システムにおけるデータ転送装置及びその方法
EP0431326A2 (en) Inter-processor interrupts in an n-element multi-processor
US5873124A (en) Virtual memory scratch pages
US5485573A (en) Method and apparatus for assisting in the determination of the source of errors in a multi-host data base management system
JP2539352B2 (ja) 階層型多重計算機システム
JP2004501407A (ja) 呼出し元アドレスを使用した安全なソフトウェアsmiディスパッチング
US4991083A (en) Method and system for extending address space for vector processing
JPS6257044A (ja) データ処理装置
JP2533931B2 (ja) 動的割当て領域のデ―タ内容保護方式
JP3485940B2 (ja) 仮想記憶制御装置及び方法
EP0117930B1 (en) Interactive work station with auxiliary microprocessor for storage protection
KR100435783B1 (ko) 운영 체계에서 사용자 메모리 유효성 검증 방법
JPH01286029A (ja) マイクロプログラムのパッチ方式
JPH0736713A (ja) プログラム実行管理装置
CN114638004B (zh) 一种数据保护方法、装置及存储介质
JP2828252B2 (ja) ファイルアクセス制御方式
US20040243751A1 (en) Method for resource access co-ordination in a data processing system, data processing system and computer program
US20240192872A1 (en) Method and system for tracking memory usage
JP3189894B2 (ja) 仮想計算機システム
JP3517884B2 (ja) データ処理装置
JPS5922977B2 (ja) 入出力装置によるペ−ジメモリ呼び出し方法