JP2629572B2 - 動的確保領域の保証方式 - Google Patents

動的確保領域の保証方式

Info

Publication number
JP2629572B2
JP2629572B2 JP5229460A JP22946093A JP2629572B2 JP 2629572 B2 JP2629572 B2 JP 2629572B2 JP 5229460 A JP5229460 A JP 5229460A JP 22946093 A JP22946093 A JP 22946093A JP 2629572 B2 JP2629572 B2 JP 2629572B2
Authority
JP
Japan
Prior art keywords
area
reserved
release
processing unit
list
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
Application number
JP5229460A
Other languages
English (en)
Other versions
JPH0764852A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP5229460A priority Critical patent/JP2629572B2/ja
Publication of JPH0764852A publication Critical patent/JPH0764852A/ja
Application granted granted Critical
Publication of JP2629572B2 publication Critical patent/JP2629572B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)
  • Memory System (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は動的確保領域の保証方式
に関し、特に動的領域確保/解放要求元からの領域確保
要求に応じて領域を確保し、領域解放要求に応じて領域
を解放する動的領域確保/解放管理機構における動的確
保領域の保証方式に関する。
【0002】
【従来の技術】従来、オペレーティングシステムの動的
領域確保/解放処理では、ソフトウェア実行中に領域が
動的に確保され、不要となった時点で領域が解放されて
再利用されていた。
【0003】ところで、あるプロセスが使用していた領
域を解放した直後に他のプロセスが別の目的のために同
領域を確保する場合があるが、このタイミングで直前に
使用していたプロセスが同領域を不正にアクセスして内
容を破壊し、他のプロセスの誤動作を引き起こしてソフ
トウェア障害が発生することがある。
【0004】
【発明が解決しようとする課題】上述した従来の動的領
域確保/解放処理では、ソフトウェア実行中にあるプロ
セスが領域を解放した直後に他のプロセスが別の目的の
ために同領域を確保した場合、直前に使用していたプロ
セスが同領域を不正にアクセスして内容を破壊し、他の
プロセスの誤動作を引き起こしてソフトウェア障害が発
生することがあるので、障害が発見されたときにはかな
りソフトウェアの実行が進んでいるために、ソフトウェ
ア障害の解析が困難で不明となる場合が多いという問題
点があった。
【0005】本発明の目的は、上述の点に鑑み、確保領
域を直ちに空き領域とはせずに保留領域として暫時保留
した後に空き領域とすることにより、あるプロセスが領
域を解放した直後に他のプロセスが同領域を確保するこ
とがないようにして、領域の破壊によるソフトウェア障
害を未然に防止できるようにした動的確保領域の保証方
式を提供することにある。
【0006】なお、複数のセルプールユニットを考慮
し、ある1つのセルプールユニットを返却するか否かの
判定を行うに当たって、他のセルプールユニットにおけ
る空きセルの存在個数をチェックするようにして、セル
プールユニットが返却直後に獲得されるような非所望な
制御状態を未然に防止するようにしたセルプール動的返
却制御方式が知られているが(特公平3−15210号
公報参照)、本願発明のような領域の保留状態を設けて
領域の破壊によるソフトウェア障害を防止するようにし
たものではない。
【0007】
【課題を解決するための手段】本発明の動的確保領域の
保証方式は、プロセスでなる動的領域確保/解放要求元
からの領域確保要求に応じて領域を確保し、領域解放要
求に応じて領域を解放するオペレーティングシステムの
動的領域確保/解放管理機構において、領域確保要求に
応じて空き領域を確保して確保領域を生成する領域確保
処理部と、領域解放要求に応じて該当する確保領域を初
期化して保留領域とする領域保留処理部と、あらかじめ
決められた解放条件が成立したときに保留領域の不正ア
クセスを検査して不正アクセスが行われていなければ解
放を行って空き領域とする領域解放処理部とを有する。
【0008】
【実施例】次に、本発明について図面を参照して詳細に
説明する。
【0009】図1は、本発明の一実施例に係る動的確保
領域の保証方式の構成を示すブロック図である。本実施
例の動的確保領域の保証方式は、動的確保/解放領域1
と、動的領域確保/解放処理部3および領域保留状態管
理情報部4からなる動的領域確保/解放管理機構2と、
動的領域確保/解放要求元5とから、その主要部が構成
されている。
【0010】動的確保/解放領域1は、主記憶(仮想ア
ドレス空間を含む)上の領域であり、確保領域11と、
保留領域12をチェインした保留領域リスト13と、空
き領域14をチェインした空き領域リスト15とが存在
している。なお、特に図示はしないが、保留領域12お
よび空き領域14には、保留領域リスト13および空き
領域リスト15を形成するための前ポインタおよび後ポ
インタが付随している。また、確保領域11および空き
領域14には、サイズの情報が付随している。
【0011】図2を参照すると、領域保留状態管理情報
部4は、先頭ポインタ41と、末尾ポインタ42と、空
き領域リストサイズ43と、プール基準値44と、プー
ル合計サイズ45とを管理している。先頭ポインタ41
は保留領域リスト13の先頭の保留領域12を指し、末
尾ポインタ42は保留領域リスト13の末尾の保留領域
12を指す。空き領域リストサイズ43は、空き領域リ
スト15の空き領域14の合計サイズである。プール基
準値44は、保留領域12を空き領域リスト15に組み
込むためのタイミングを設けるために、動的確保/解放
領域1の合計サイズの1割の値を設定している。プール
合計サイズ45は、保留領域リスト13の保留領域12
の合計サイズを設定している。
【0012】保留領域リスト13は、保留領域12を領
域解放要求を受けた順番にチェインし、一番古い保留領
域12は先頭ポインタ41で指され、一番新しい保留領
域12は末尾ポインタ42で指される。保留領域リスト
13は、古い保留領域12または新しい保留領域12の
どちらからでもサーチ可能なように双方向リストとなっ
ている。
【0013】動的領域確保/解放処理部3は、オペレー
ティングシステムの一部として設けられ、領域確保処理
部31と、領域保留処理部32と、領域解放処理部33
とを含んで構成されている。
【0014】領域確保処理部31は、動的領域確保/解
放要求元5からの領域確保要求に応じて、動的確保/解
放領域1の空き領域リスト15から空き領域14を確保
して、確保領域11を生成する。
【0015】領域保留処理部32は、動的領域確保/解
放要求元5からの領域解放要求に応じて、動的確保/解
放領域1の該当する確保領域11を保留領域12として
保留領域リスト13にチェインする。
【0016】図3を参照すると、領域保留処理部32の
処理は、領域保留ステップ101と、領域ゼロクリアス
テップ102と、正常終了通知ステップ103からな
る。
【0017】領域解放処理部33は、プール合計サイズ
45がプール基準値44に達したときにプール合計サイ
ズ45がプール基準値44以下になるまで保留領域リス
ト13からの保留領域12の解放を行い、空き領域14
として空き領域リスト15にチェインする。また、領域
解放処理部33は、領域確保要求時に空き領域リスト1
5に空き領域14が存在しなかった場合に、保留領域リ
スト13のすべての保留領域12の解放を行い、空き領
域14として空き領域リスト15にチェインする。
【0018】図4を参照すると、領域解放処理部33の
処理は、アドレス取得ステップ201と、不正アクセス
検査ステップ202と、不正アクセス通知ステップ20
3と、保留領域解放ステップ204とからなる。
【0019】図5は、本実施例の動的確保領域の保証方
式における領域の状態遷移図である。確保領域11は、
アドレスを指定する領域解放要求に応じて保留領域12
へと遷移し、保留領域12は解放条件の成立に応じて空
き領域14に遷移し、空き領域14はサイズを指定する
領域確保要求に応じて確保領域11に遷移する。
【0020】次に、このように構成された本実施例の動
的確保領域の保証方式の動作について説明する。
【0021】動的領域確保/解放要求元5からサイズを
指定する領域確保要求があると、動的領域確保/解放処
理部3の領域確保処理部31は、空き領域リスト15か
ら要求されたサイズ以上の大きさで最小の空き領域14
を確保して確保領域11とする。これとともに、領域確
保処理部31は、領域保留状態管理情報部4の空き領域
リストサイズ43を減算する。そして、領域確保処理部
31は、動的領域確保/解放要求元5に領域確保の正常
終了を通知する。このとき、空き領域リスト15に要求
されたサイズ以上の空き領域14がなければ、領域確保
処理部31は、領域解放処理部33に保留領域リスト1
3のすべての保留領域12の解放を促す。
【0022】領域解放処理部33は、領域保留状態管理
情報部4の先頭ポインタ41(または末尾ポインタ4
2)が指す保留領域リスト13の先頭(または末尾)の
保留領域12のアドレスを取得し(ステップ201)、
解放する保留領域12内にゼロ以外の不正なデータが書
き込まれていないかどうかを検査する(ステップ20
2)。不正なデータが書き込まれていた場合には、領域
解放処理部33は、領域の保証が行えないために保留領
域12の解放は行わず、不正アクセスがあったことを動
的領域確保/解放要求元5に通知する(ステップ20
3)。不正なデータが書き込まれていなかった場合に
は、不正アクセスがなかったことになるので、領域解放
処理部33は、保留領域リスト13から保留領域12を
解放して空き領域14として空き領域リスト15にチェ
インするとともに、領域保留状態管理情報部4の先頭ポ
インタ41(または末尾ポインタ42),空き領域リス
トサイズ43およびプール合計サイズ45を更新する
(ステップ204)。領域解放処理部33は、この処理
を保留領域リスト13のすべての保留領域12に対して
繰り返す。
【0023】一方、動的領域確保/解放要求元5からア
ドレスを指定する領域解放要求があると、動的領域確保
/解放処理部3の領域保留処理部32は、動的確保/解
放領域1の該当する確保領域11を保留領域12として
保留領域リスト13にチェインし(ステップ101)、
該当する保留領域12内の初期化(ゼロクリア)を行う
(ステップ102)。これとともに、領域保留処理部3
2は、領域保留状態管理情報部4の末尾ポインタ42お
よびプール合計サイズ45を更新する。そして、領域保
留処理部32は、動的領域確保/解放要求元5に領域解
放の正常終了を通知する(ステップ103)。
【0024】プール合計サイズ45の更新の結果、プー
ル合計サイズ45がプール基準値44に達したときに
は、領域解放処理部33は、領域保留状態管理情報部4
の先頭ポインタ41が指す保留領域リスト13の先頭の
保留領域12のアドレスを取得し(ステップ201)、
解放する保留領域12内にゼロ以外の不正なデータが書
き込まれていないかどうかを検査する(ステップ20
2)。不正なデータが書き込まれていた場合には、領域
解放処理部33は、領域の保証が行えないために保留領
域12の解放は行わず、不正アクセスがあったことを動
的領域確保/解放要求元5に通知する(ステップ20
3)。不正なデータが書き込まれていなかった場合に
は、不正アクセスがなかったことになるので、領域解放
処理部33は、保留領域リスト13から保留領域12を
解放して空き領域14として空き領域リスト15にチェ
インするとともに、領域保留状態管理情報部4の先頭ポ
インタ41,空き領域リストサイズ43およびプール合
計サイズ45を更新する(ステップ204)。領域解放
処理部33は、この処理をプール合計サイズ45がプー
ル基準値44以下になるまで繰り返す。
【0025】
【発明の効果】以上説明したように本発明は、動的領域
確保/解放処理において、領域解放要求時に確保領域を
一旦保留領域とし、空き領域として解放するまでに時間
をおき、保留領域を解放するときに不正アクセスがなか
ったかどうかを検査することにより、動的領域確保の対
象となる空き領域の内容を保証することで、使用中に確
保領域内を破壊されることによる誤動作によって発生す
るソフトウェア障害を未然に防止することができるとい
う効果がある。
【0026】また、不正アクセスの検出が可能であるの
で、不正アクセスの通知に基づいてプロセスの動作を停
止させることにより、ソフトウェアの暴走を抑え、障害
解析を容易化することができるという効果がある。
【図面の簡単な説明】
【図1】本発明の一実施例に係る動的確保領域の保証方
式の構成を示すブロック図である。
【図2】図1中の領域保留状態管理情報部の内容と保留
領域リストを例示する図である。
【図3】図1中の領域保留処理部の処理を示す流れ図で
ある。
【図4】図1中の領域解放処理部の処理を示す流れ図で
ある。
【図5】本実施例の動的確保領域の保証方式における領
域の状態遷移図である。
【符号の説明】
1 動的確保/解放領域 2 動的領域確保/解放管理機構 3 動的領域確保/解放処理部 4 領域保留状態管理情報部 5 動的領域確保/解放要求元 11 確保領域 12 保留領域 13 保留領域リスト 14 空き領域 15 空き領域リスト 31 領域確保処理部 32 領域保留処理部 33 領域解放処理部 41 先頭ポインタ 42 末尾ポインタ 43 空き領域リストサイズ 44 プール基準値 45 プール合計サイズ

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 プロセスでなる動的領域確保/解放要求
    元からの領域確保要求に応じて領域を確保し、領域解放
    要求に応じて領域を解放するオペレーティングシステム
    動的領域確保/解放管理機構において、 領域確保要求に応じて空き領域を確保して確保領域を生
    成する領域確保処理部と、 領域解放要求に応じて該当する確保領域を初期化して保
    留領域とする領域保留処理部と、 あらかじめ決められた解放条件が成立したときに保留領
    域の不正アクセスを検査して不正アクセスが行われてい
    なければ解放を行って空き領域とする領域解放処理部と
    を有することを特徴とする動的確保領域の保証方式。
  2. 【請求項2】 前記領域解放処理部が、保留領域の不正
    アクセスの検査で不正アクセスが行われていれば保留領
    域の解放を行わずにその旨の通知を行う請求項1記載の
    動的確保領域の保証方式。
  3. 【請求項3】 前記領域確保処理部が空き領域リストか
    ら空き領域を確保して確保領域を生成し、前記領域保留
    処理部が確保領域を初期化して保留領域として保留領域
    リストにチェインし、前記領域解放処理部が保留領域リ
    ストから保留領域を取り出して空き領域として空き領域
    リストにチェインする請求項1記載の動的確保領域の保
    証方式。
  4. 【請求項4】 前記保留領域リストの先頭ポインタ,末
    尾ポインタ,空きリストサイズ,プール基準値およびプ
    ール合計サイズを管理する領域保留状態管理情報部を備
    え、前記解放条件が、保留領域のプール合計サイズがプ
    ール基準値に達したとき、および領域確保要求時に空き
    領域が存在しなかったときである請求項3記載の動的確
    保領域の保証方式。
JP5229460A 1993-08-23 1993-08-23 動的確保領域の保証方式 Expired - Fee Related JP2629572B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5229460A JP2629572B2 (ja) 1993-08-23 1993-08-23 動的確保領域の保証方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5229460A JP2629572B2 (ja) 1993-08-23 1993-08-23 動的確保領域の保証方式

Publications (2)

Publication Number Publication Date
JPH0764852A JPH0764852A (ja) 1995-03-10
JP2629572B2 true JP2629572B2 (ja) 1997-07-09

Family

ID=16892554

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5229460A Expired - Fee Related JP2629572B2 (ja) 1993-08-23 1993-08-23 動的確保領域の保証方式

Country Status (1)

Country Link
JP (1) JP2629572B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102004013522A1 (de) * 2004-03-19 2005-10-06 Aug. Winkhaus Gmbh & Co. Kg Schlüssel
US9021226B2 (en) 2011-06-10 2015-04-28 International Business Machines Corporation Moving blocks of data between main memory and storage class memory
US9323668B2 (en) * 2011-06-10 2016-04-26 International Business Machines Corporation Deconfigure storage class memory command
US9058275B2 (en) 2011-06-10 2015-06-16 International Business Machines Corporation Data returned responsive to executing a start subchannel instruction
US9021180B2 (en) 2011-06-10 2015-04-28 International Business Machines Corporation Clearing blocks of storage class memory
US9116634B2 (en) 2011-06-10 2015-08-25 International Business Machines Corporation Configure storage class memory command
JP7147531B2 (ja) * 2018-12-12 2022-10-05 日本電気株式会社 情報処理装置、メモリ初期化制御方法及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS605358A (ja) * 1983-06-24 1985-01-11 Fujitsu Ltd 記憶領域のセル管理制御方式
JPH077380B2 (ja) * 1985-07-24 1995-01-30 株式会社日立製作所 バッファ管理方法
JPH02166540A (ja) * 1988-12-20 1990-06-27 Fujitsu Ltd アクセス違反検出方式
JPH04330538A (ja) * 1991-05-02 1992-11-18 Nec Corp データ蓄積方式
JPH05189300A (ja) * 1992-01-10 1993-07-30 Fujitsu Ltd バッファ制御装置

Also Published As

Publication number Publication date
JPH0764852A (ja) 1995-03-10

Similar Documents

Publication Publication Date Title
US6640233B1 (en) Reserving file system blocks
JP2703479B2 (ja) タイム・ゼロ・バックアップ・セッションの安全保護機能を有するデータ処理方法及びシステム
JP3180038B2 (ja) 大容量記憶装置の構成管理のための方法およびシステム
JP4687729B2 (ja) キャッシュメモリ及びベクトル処理装置並びにベクトルデータ整列方法
US20040002974A1 (en) Thread based lock manager
US8161161B2 (en) Information processing method and information processing apparatus
US7861095B2 (en) Data processing apparatus security
JPH1078918A (ja) チェックポイント処理加速装置および同装置を適用した計算機システム
JPH11502339A (ja) ファイルを開いた状態で作動可能なコンピュータバックアップシステム
US9063887B2 (en) Restoring distributed shared memory data consistency within a recovery process from a cluster node failure
CA2422252C (en) Reduced synchronization reservation system and method for a shared memory buffer
US6502122B1 (en) Method and apparatus for executing transaction programs in parallel
US5933848A (en) System for managing the caching of data of a mass storage within a portion of a system memory
US7770177B2 (en) System for memory reclamation based on thread entry and release request times
JP2003316753A (ja) マルチプロセッサ装置
US8490104B2 (en) Method and apparatus for reservation and reallocation of surplus resources to processes in an execution space by a local resource manager after the execution space is generated succeeding the initialization of an application for which the execution space is created and the resources are allocated to the execution space by a global resource manager prior to application execution
JP2629572B2 (ja) 動的確保領域の保証方式
JPH04182858A (ja) 共有メモリ管理方式
JP3600313B2 (ja) アクセス制御システム
US6345331B1 (en) Device adapter being reintegrated with plurality of device adapters of network, or reestablishing permissions and resubmitting I/O requests depending on determined device state after failure
US20050044321A1 (en) Method and system for multiprocess cache management
US6912662B1 (en) Cooling-off period for destructive software
JPH0484215A (ja) ディスク制御装置のデータ二重書き方法
JP3005473B2 (ja) バッファ管理装置
JP2713230B2 (ja) コンピュータ・システムにおける入出力システム

Legal Events

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