JPH06103157A - 記憶空間管理方法 - Google Patents

記憶空間管理方法

Info

Publication number
JPH06103157A
JPH06103157A JP11722493A JP11722493A JPH06103157A JP H06103157 A JPH06103157 A JP H06103157A JP 11722493 A JP11722493 A JP 11722493A JP 11722493 A JP11722493 A JP 11722493A JP H06103157 A JPH06103157 A JP H06103157A
Authority
JP
Japan
Prior art keywords
storage space
address
program
bit
addresses
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
Application number
JP11722493A
Other languages
English (en)
Inventor
Karl-Hans Holder
カール−ハンス・ホールダ
Ingolf Salm
インゴルフ・サルム
Monika Zimmermann
モニカ・ツィマーマン
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH06103157A publication Critical patent/JPH06103157A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【目的】 本発明の目的は、記憶領域拡張の際に事実上
同時に異なるビットアドレスを適切に供給できる記憶空
間管理を実現することである。 【構成】 Pビット及びNビット(N>P)アドレス作
業記憶領域への複数の記憶空間リクエストを扱う記憶空
間管理の方法。Pビットアドレスの記憶空間は、記憶空
間領域全体(2)のうちの下側の部分(2−1)に昇順
アドレスで管理される。Nビットアドレスの記憶空間
は、記憶空間全体(2)に降順アドレスで管理される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータの作業記
憶空間領域における複数の記憶空間の管理に関するもの
である。
【0002】
【従来の技術】通常コンピュータで実行されるプログラ
ムは(時分割、多重プロセシング、バッチの何れの場合
でも)作業記憶領域へロードされ管理される。これらプ
ログラムやオペレーティングシステムは不規則に作業記
憶領域に対して動的記憶空間をリクエストして、別のプ
ログラムを再ロードしたりデータをそこに記録したりす
る。この場合プログラムから要求をされなくなった記憶
空間は解放されて記憶空間の管理に使われる。使用中で
ない記憶空間は「ギャップ」とみなされ、新たな記憶空
間のリクエストに対し使用される。記憶空間管理はこう
いった記憶空間の割付けやギャップの管理のことを指
す。
【0003】これを単純な例を使って説明する。図1、
2では記憶空間にプログラムがロードされている。この
記憶空間はプログラムにとって必要でなくなると直ちに
解放されて新たなリクエストに備える。ここで特に強調
しておくべきことは、図に示すようなプログラムだけで
はなくデータもまた記憶空間を使用できることである。
【0004】図1では、まずプログラム1がアドレス0
からaに入り、続いてプログラム2がアドレスa+1か
らbにロードされている。
【0005】図1では結局プログラム1から5が記憶1
の使用可能な空間(アドレス0からf)に以下のように
割り当てられている:
【0006】プログラム2と4が占有していた記憶空間
が、プログラム4の実行後に記憶空間管理に返される。
するとアドレスa+1からbとc+1からd、そして元
々使用されていなかったe+1からfが新たなプログラ
ムのロードを受けられる状態となる(図2)。
【0007】新たなプログラムを解放された「ギャッ
プ」(a+1からbとc+1からd)や元々空いていた
e+1からfにロードすることができる。ただし、「ギ
ャップ」容量を越える記憶空間を必要とするプログラム
はロードすることが出来ない。
【0008】図2の例では、プログラム8を記憶1にロ
ードすることが出来ない。なぜなら、a+1からb、c
+1からd、e+1からfの何れのギャップともプログ
ラム8の必要とする記憶空間より小さいからである。一
方、プログラム6、7はともに空き記憶空間(斜線部)
にロードできる:プログラム6はa+1からbに、プロ
グラム7はe+1からfにロードされている。プログラ
ム6(7)はアドレスa+1からb(e+1からf)の
全部を占有することは出来ないため、そこに空き記憶空
間(鍵括弧部)が残されることになる。
【0009】従ってプログラム8のような大きなプログ
ラムを新たにロードする場合は、そのために充分な「ギ
ャップ」が出来るまで待たされることになる。
【0010】プログラム(またはデータ)の割付け・除
去を連続的に繰り返せば、統計的分布に従って多数の
「ギャップ」が生成することになる。
【0011】記憶空間の利用を最適化し同時にどのプロ
グラムをどのギャップにロードするかを決定する戦略は
多種存在している。
【0012】記憶空間をアドレスの昇順(図1で矢印の
示す向き)に割り付けてやり、同様に「ギャップ」もア
ドレスの昇順に新たなプログラムに割り付けてゆく場合
は、大きなギャップの現れる確率は作業記憶領域の上端
で最大となる。これが特に顕著なのは、最初に現れた充
分な大きさのギャップを新たなプログラムに割り付ける
戦略を用いる場合である。
【0013】IBM VSE/ESAなどのオペレーデ
ィングシステムでは、コンピュータの開発に連れて作業
記憶領域も拡張された。元々記憶領域は24ビットアド
レス(24ディジットの2進数;各ポジションに0また
は1)であったが、記憶領域拡張に伴い31ビットアド
レスへと変わった。
【0014】このような記憶領域拡張があったために、
現在多くのユーザが24ビットアドレスでしか走らない
「古い」アプリケーション・プログラムと31ビットア
ドレスでも走る「新しい」アプリケーションの両方を使
用している。
【0015】
【発明が解決しようとする課題】記憶領域拡張の際に事
実上同時に異なるビットアドレスを適切に供給できる記
憶領域管理を実現することである。
【0016】
【課題を解決するための手段】前記課題を解決するため
に、本発明においては、Pビットアドレスの記憶空間
は、記憶空間領域全体(2)のうちの下側の部分(2−
1)に昇順アドレスで管理される。Nビットアドレスの
記憶空間は、記憶空間全体(2)に降順アドレスで管理
される。
【0017】さらなる発明の詳細は以下に述べる。
【0018】図3に示す記憶領域では、24ビット(P
ビット)プログラム用に下側の記憶領域2−1(最大1
6Mバイトまで)のアドレスを昇順に使用している。一
方31ビット(Nビット)プログラム用には記憶領域2
全体のアドレスを降順に使用している。
【0019】
【実施例】発明に基づく記憶空間管理の例を図3に示
す。
【0020】記憶空間全体を「2」とする。この記憶空
間2のうちアドレス0から2P−1(2P−1=16Mバ
イト−1、P=24)の部分2−1にプログラム(プロ
グラム1(P)、プログラム2(P)、プログラム3
(P)など)が割り付けられる。
【0021】これらのプログラムはPビットアドレス
(P=24)用である。記憶空間2のうち16Mバイト
に当たる2−1は24ビットアドレスで使用できる。簡
単のため図3の例ではプログラムのみを示しているが、
一般には記憶空間管理はデータも扱う。
【0022】プログラム等の割付け・除去は、記憶空間
管理によってアドレスの昇順(単頭矢印の向き)に行わ
れる。0、a^、b^、c^、d^(0<a^<b^<c^<
d^)を記憶空間アドレスとすると、各プログラムは以
下の様に割り付けられている: さらに、以下のNビットアドレス(N>P)のプログラ
ム プログラム1(N) プログラム2(N) プログラム3(N) プログラム4(N) が割り付けられている。N=31の場合、2Gバイトの
アドレスを使用できる。
【0023】これらのプログラムの記憶空間は記憶空間
2全体をアドレスの降順(2つの矢頭のある矢印(以下
双頭矢印という)の向き)に管理する。単頭矢印のアド
レス方向は双頭矢印のアドレス方向と逆向きである。
【0024】z、(z−a")、(z−b")、(z−
c")、(z−d")、(z−e")を記憶空間アドレス
とすると(但し、 z>(z−a")>(z−b")>
(z−c")>(z−d")>(z−e") )、各プロ
グラムは以下の様に割り付けられている: アドレス プログラム1(N) z から(z−a") プログラム2(N) z−(a"+1)から(z−b") プログラム3(N) z−(b"+1)から(z−c") プログラム4(N) z−(c"+1)から(z−d") 空き z−(d"+1)から(z−e")。 (プログラムの開始点が絶対記憶空間アドレスの小さい
方に、終点が大きい方に位置している)。
【0025】PビットアドレスのプログラムとNビット
アドレスのプログラムを互いに逆向きにアドレシングす
ることの利点は、記憶空間の利用を最適化し得ることで
ある: 1 第一に、上記割付けにおいてNビットプログラムが
記憶空間2−1上のPビットプログラムと競合すること
は通常起こらない。原則として、Pビットプログラムは
記憶空間2−1のみを使用出来るだけだが、Nビットプ
ログラムは記憶空間2全体を利用し得る。但し、Nビッ
トプログラムが記憶空間2−1を使用するのは、アドレ
スz−e" からzに空きが無くかつ記憶空間2−1に更
にNビットプログラムを割り付けるだけの空きが有る場
合だけである。 2 第2に、PビットプログラムとNビットプログラム
との間にできるギャップは、同一ビットのプログラム間
にできるギャップよりも通常大きい。この大きなギャッ
プに対し記憶空間管理が新たに大きな(Nビットの)プ
ログラムを割り付けることが出来る。極端な場合には、
記憶空間z−e" からzよりも大きなNビットプログラ
ムを割り付けることもある。
【0026】説明を簡潔にするため、連続してプログラ
ムの割付け・除去を行う際に現れるギャップは図3に示
していない。
【0027】通常 降順アドレス(双頭矢印の向き)の
場合、アドレス計算も逆向きに行う(図4、5)。つま
り最上位の絶対記憶空間zより始める。
【0028】4Mバイトの記憶空間を要求されて最低で
も4Mバイトのギャップを逆向きに探し、アドレスxか
らy1が最初に見つかったとする。するとプログラムは
記憶空間のアドレスy2(=y1−4Mバイト+1から
y1)に割り付けられる。
【0029】アドレスxからy1+4Mバイトは残った
ギャップとして新たな要求に備えている。
【0030】しかし、更に逆向きに絶対記憶空間アドレ
スを決定してゆくと複雑になりすぎてかえってプログラ
ムや場合によってはハードウェアにとっても不都合とな
る。
【0031】従って、Nビットアドレシングではアドレ
ス2Pから順方向に計算してアドレスy1およびy2を
決定すると良い。この場合、プログラムはまず仮想的な
記憶空間y^2からy^1に割り付けられ、次にアドレス
の差異 y1=2000−(y^2−2P) y2=2000−(y^1−2P) を実際に計算して絶対アドレスy1およびy2を得るこ
とになる(31ビットアドレスの場合、最大200Mバ
イト利用可能;P=24ビット)。
【0032】換言すると、アドレスy1およびy2を決
定する場合、まず昇順アドレシングであるように扱って
おいて、そのため生じる差異を後で適切に計算すること
によって降順アドレシングに戻すのである。
【0033】作業記憶領域の空き領域を探す場合、記憶
領域そのものを検索することはない。記憶空間について
記述してある管理情報空間(インデックス)中を昇順ア
ドレスに検索するのである。ここには上述の昇順から降
順へのアドレス差異決定法によって変換したアドレスが
記述されている。
【0034】結論として、通常昇順アドレスの計算のみ
に用いていた記憶空間管理アルゴリズム(及びプログラ
ムコード)を、降順アドレスの計算(更にはアドレスの
差異決定)にも使用し得ると言える。
【0035】
【発明の効果】本発明により、異なるビットのプログラ
ムを同時に扱い記憶空間の利用を最適化する記憶空間管
理が実現できる。この記憶空間管理を用いたコンピュー
タ上で、ユーザは不都合を生ずること無くビットの異な
るプログラムを同時に使用することが出来る。
【図面の簡単な説明】
【図1】従来の方式でコンピュータ作業記憶領域へプロ
グラムをロードした時の記憶空間の模式図。
【図2】図1で、「ギャップ」と新たなプログラムとが
現れた場合の模式図。
【図3】本発明に基づく記憶空間管理の模式図。
【図4】逆向き計算による絶対アドレス決定の模式図。
【図5】正方向の計算による絶対アドレスの決定、そし
てその差異決定の模式図。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 インゴルフ・サルム ドイツ国7046 ゴイフェルデン、ローテ− シュトラーセ 30/1 (72)発明者 モニカ・ツィマーマン ドイツ国7030 ボーブリンゲン、ホーエン シュタウフェンシュトラーセ 16

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】コンピュータの作業記憶領域への複数の記
    憶空間リクエストを扱う記憶空間管理の方法であって、 コンピュータの作業記憶空間の第一の記憶空間(図3の
    プログラム1(P)、プログラム2(P)、プログラム
    3(P) )をPビットアドレスで使用し、 第二の記憶空間(プログラム1(N)、プログラム2
    (N)、プログラム3(N) )をNビットアドレスで
    使用し、 ここでN>Pであり、第一の記憶空間(記憶空間(2)
    全体の一部(2−1))を昇順アドレスで管理し、第二
    の記憶空間(記憶空間(2)全体)を降順アドレスで管
    理することを特徴とする、前記の記憶空間管理方法。
  2. 【請求項2】降順アドレスで記憶空間を利用するために
    絶対記憶空間アドレスを決定する方法であって、先ず昇
    順アドレスで仮想的な記憶空間アドレスを決め、次いで
    その仮想アドレスとアドレス最大値との差を計算するこ
    とによって絶対記憶空間アドレスを算出し、任意で明細
    パラメターを考慮することもできることを特徴とする、
    前記方法。
JP11722493A 1992-06-03 1993-05-19 記憶空間管理方法 Pending JPH06103157A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP92109368A EP0572696A1 (de) 1992-06-03 1992-06-03 Speicherplatzverwaltung für eine Vielzahl von Speicherplatzanforderungen in einem Arbeitsspeicher eines Computers
DD92109368.8 1992-06-03

Publications (1)

Publication Number Publication Date
JPH06103157A true JPH06103157A (ja) 1994-04-15

Family

ID=8209675

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11722493A Pending JPH06103157A (ja) 1992-06-03 1993-05-19 記憶空間管理方法

Country Status (2)

Country Link
EP (1) EP0572696A1 (ja)
JP (1) JPH06103157A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5566321A (en) * 1993-12-13 1996-10-15 Cray Research, Inc. Method of managing distributed memory within a massively parallel processing system
GB2357166B (en) * 1999-12-07 2001-10-31 Marconi Comm Ltd Memory access system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58213362A (ja) * 1982-06-07 1983-12-12 Toshiba Corp 1チツプマイクロコンピユ−タ
JPS633035A (ja) * 1986-06-23 1988-01-08 Mitsui Toatsu Chem Inc ポリエ−テルイミドよりなる新規構造部材
JPH0293935A (ja) * 1988-09-30 1990-04-04 Nec Corp アドレス空間の動的変換方式

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1441816A (en) * 1973-07-18 1976-07-07 Int Computers Ltd Electronic digital data processing systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58213362A (ja) * 1982-06-07 1983-12-12 Toshiba Corp 1チツプマイクロコンピユ−タ
JPS633035A (ja) * 1986-06-23 1988-01-08 Mitsui Toatsu Chem Inc ポリエ−テルイミドよりなる新規構造部材
JPH0293935A (ja) * 1988-09-30 1990-04-04 Nec Corp アドレス空間の動的変換方式

Also Published As

Publication number Publication date
EP0572696A1 (de) 1993-12-08

Similar Documents

Publication Publication Date Title
JP2571664B2 (ja) コンピュータ主記憶域管理システムおよび方法
US6640290B1 (en) Easily coalesced, sub-allocating, hierarchical, multi-bit bitmap-based memory manager
US5809516A (en) Allocation method of physical regions of a disc array to a plurality of logically-sequential data, adapted for increased parallel access to data
JP3611305B2 (ja) 永続的且つロバストな記憶割当てシステム及び方法
EP0798639B1 (en) Process assignment in a multiprocessor system
JP2007523412A (ja) メモリ割当て
US7650400B2 (en) Dynamic configuration and self-tuning on inter-nodal communication resources in a database management system
JP3778980B2 (ja) 保留された量の不使用の記憶スペースを使用する方法
US6178423B1 (en) System and method for recycling numerical values in a computer system
US7251663B1 (en) Method and apparatus for determining if stored memory range overlaps key memory ranges where the memory address space is organized in a tree form and partition elements for storing key memory ranges
US5333315A (en) System of device independent file directories using a tag between the directories and file descriptors that migrate with the files
JP5222381B2 (ja) 使用可能なメモリ資源を管理するための構成および方法
JP2858795B2 (ja) 実記憶割り当て方法
US20140351552A1 (en) Working set swapping using a sequentially ordered swap file
US6643753B2 (en) Methods and systems for managing heap creation and allocation
JPH02300949A (ja) メモリ制御方法
JPH0638242B2 (ja) 要求ペ−ジ仮想アドレス空間におけるメモリ・ブロツク圧縮方法
JPH08129457A (ja) 外部記憶ストラクチャを拡大、縮小、及び再配分するための方法及び装置
CN111984425B (zh) 用于操作系统的内存管理方法、装置及设备
US7870171B2 (en) Method and system for garbage collection in a multitasking environment
US5678024A (en) Method and system for dynamic performance resource management within a computer based system
US7991976B2 (en) Permanent pool memory management method and system
US20090228537A1 (en) Object Allocation System and Method
JPH06103157A (ja) 記憶空間管理方法
JP3299294B2 (ja) メモリブロック制御方式