JP3438975B2 - 情報処理装置およびメモリエリア管理方法 - Google Patents

情報処理装置およびメモリエリア管理方法

Info

Publication number
JP3438975B2
JP3438975B2 JP31862794A JP31862794A JP3438975B2 JP 3438975 B2 JP3438975 B2 JP 3438975B2 JP 31862794 A JP31862794 A JP 31862794A JP 31862794 A JP31862794 A JP 31862794A JP 3438975 B2 JP3438975 B2 JP 3438975B2
Authority
JP
Japan
Prior art keywords
area
divided
link
memory
management
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
JP31862794A
Other languages
English (en)
Other versions
JPH08179982A (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
Hitachi Ltd
Nippon Telegraph and Telephone Corp
Original Assignee
Fujitsu Ltd
Hitachi Ltd
Nippon Telegraph and Telephone 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 Fujitsu Ltd, Hitachi Ltd, Nippon Telegraph and Telephone Corp filed Critical Fujitsu Ltd
Priority to JP31862794A priority Critical patent/JP3438975B2/ja
Publication of JPH08179982A publication Critical patent/JPH08179982A/ja
Application granted granted Critical
Publication of JP3438975B2 publication Critical patent/JP3438975B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、電子計算機システムに
おける、メモリエリアの割り当ておよび解放を行う手段
と、該手段を有する情報処理装置に係り、特に、リアル
タイム性およびメモリ使用効率の両方を重視するシステ
ムに適するメモリエリア管理方法および情報処理装置に
関する。
【0002】
【従来の技術】電子計算機システムにおける代表的なメ
モリ管理方法に、空き領域のキュー(待ち行列)を用い
たアイドルチェーン方法と、メモリ領域ごとの空塞を保
持する一覧表である空塞管理表を用いた方法がある。
【0003】アイドルチェーン方法は、あらかじめ定め
られたメモリ領域のサイズごとに、空き領域のキューを
作成しておき、このキューの中から、つぎに割り当てる
メモリ領域を決定する方法である。アイドルチェーン方
法を持ちいれば、メモリエリア使用許可効率を高くする
ことができる。しかし、あらかじめ、必要なメモリ領域
のサイズを定め、かつ、統計的手段等により、各サイズ
ごとに必要となるであろうメモリ領域の数を推測して確
保しておく必要があり、メモリエリア使用要求の変動が
あった場合、メモリ使用効率は低下する特徴がある。
【0004】空塞管理表を用いた方法は、メモリ領域ご
とに、該領域の空塞を記憶しておく一覧表である空塞管
理表を用意し、この空塞管理表を検索して空き領域を検
出することにより、割り当てるメモリ領域を決定する方
法である。空塞管理表を用いた方法では、メモリエリア
使用要求の変動に対して、柔軟な対処が可能なである。
しかし、メモリ使用要求がある度に、空塞管理表を走査
する必要があるため、メモリエリアの増大に伴って、メ
モリエリア使用許可効率は低下する特徴がある。
【0005】
【発明が解決しようとする課題】リアルタイム性を重視
し、かつ、メモリ使用効率を重視するシステムにおい
て、キューを用いたアイドルチェーン方式を採用した場
合、メモリエリア使用要求の変動があった場合、メモリ
使用効率が低下する問題があり、空塞管理表を用いた方
式を採用した場合、メモリエリアの増大に伴って、メモ
リエリア使用許可効率は低下する問題がある。
【0006】そこで、本発明は、メモリエリア使用要求
の変動があった場合、柔軟に対応することができ、か
つ、メモリエリアが増大してもメモリエリア使用許可処
理の効率が低下しないメモリエリア管理方法および該方
法を用いてメモリエリアの管理を行う情報処理装置を提
供することを目的とする。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、本発明では、記憶領域である複数の分割エリアを有
するメモリエリアと、該分割エリアのジョブへの割り当
てを管理するメモリエリア管理手段とを備える情報処理
装置であって、割り当ての管理のため情報を保持するメ
モリエリア管理情報格納領域を備えるものが提供され
る。
【0008】ここで、メモリエリア管理情報格納領域
は、分割メモリ管理エリアと空塞管理エリアとを備え
る。分割メモリ管理エリアは、分割エリアごとに、割り
当て可能な単独もしくは連続した分割エリアの数を示す
情報、および、いずれかの分割エリアに従属することを
示す情報のいずれかの情報である属性を保持する属性格
納領域を備える分割メモリ管理ブロックを備える。ま
た、空塞管理エリアは、分割エリアごとに、該分割エリ
アが使用中か否かを示す情報を保持する使用状況格納領
域を有する。なお、分割メモリ管理ブロックのうち、上
記属性格納領域に分割エリアの数が保持されているもの
は、該数ごとにリンクにより連鎖されている。
【0009】メモリエリア管理手段は、つぎの(1)お
よび(2)の手段を有する。
【0010】(1)ジョブから、上記分割エリアの割り
当ての要求を受け付けると、まず、割り当てを要求され
た分割エリアの数を上記属性格納領域に保持する上記分
割メモリ管理ブロックのリンクを検索し、上記リンクに
上記分割メモリ管理ブロックが連鎖されていることを検
出すると、該連鎖されている分割メモリ管理ブロックの
うちのいずれかの対応する分割エリアを、上記リンクか
ら外して、上記割り当て要求を行ったジョブに割り当
て、上記リンクに上記分割メモリ管理ブロックが連鎖さ
れていなければ、割り当て要求が単独の分割エリアの要
求であれば、空塞管理エリアの使用状況格納領域に未使
用を示す情報の保持されている分割エリアがあるかどう
か検査し、該分割エリアを検出すると、該分割エリアに
対応する使用状況格納領域に使用中を示す情報を格納し
て、該分割エリアの分割メモリ管理ブロックの属性格納
領域に、単独であることを示す情報を格納し、該分割エ
リアを割り当て要求を行ったジョブに割り当て、割り当
て要求が複数の分割エリアの要求であれば、上記空塞管
理エリアの使用状況格納領域に未使用を示す情報の保持
されている分割エリアが、少なくとも割り当てを要求さ
れた分割エリアの数だけ連続しているかどうか検査し、
連続していることを検出すると、該連続した各分割エリ
アの分割メモリ管理ブロックがリンクに連鎖されていれ
ばリンクから外し、該連続した各分割エリアに対応する
使用状況格納領域に使用中を示す情報を格納して、該連
続した分割エリアのうちのひとつの分割メモリ管理ブロ
ックの属性格納領域に、要求された分割エリアの数を格
納し、該連続した分割エリアのうちの他の分割エリアの
分割メモリ管理ブロックの属性格納領域に、従属を示す
情報を格納し、該連続した分割エリアを、上記割り当て
要求を行ったジョブに割り当てる手段。
【0011】(2)ジョブから、上記分割エリアの解放
の要求を受け付けると、上記解放を要求された分割エリ
アに対応する上記使用状況格納領域に未使用を示す情報
を格納し、該分割エリアのうちの属性が従属でないもの
を、該分割エリアの属性に応じたリンクに連鎖させる手
段。
【0012】さらに、本発明では、記憶領域である複数
の分割エリアを有するメモリエリアと、割り当ての管理
のため情報を保持するメモリエリア管理情報格納領域を
備え、メモリエリア管理情報格納領域は、分割エリアご
とに、割り当て可能な単独もしくは連続した分割エリア
の数を示す情報、および、いずれかの分割エリアに従属
することを示す情報のいずれかの情報である属性を保持
する属性格納領域を備える分割メモリ管理ブロックを備
える分割メモリ管理エリアと、分割エリアごとに、該分
割エリアが使用中か否かを示す情報を保持する使用状況
格納領域を有する空塞管理エリアとを備え、分割メモリ
管理ブロックは、属性ごとのリンクにより連鎖されてい
る情報処理装置の、該分割エリアのジョブへの割り当て
を管理するメモリエリア管理方法であって、つぎの
(1)および(2)のステップを有するものが提供され
る。
【0013】(1)ジョブから、上記分割エリアの割り
当ての要求を受け付けると、割り当てを要求された分割
エリアの数を、属性として上記属性格納領域に保持する
上記分割メモリ管理ブロックのリンクを検索し、上記リ
ンクに上記分割メモリ管理ブロックが連鎖されているこ
とを検出すると、該連鎖されている分割メモリ管理ブロ
ックのうちのいずれかの対応する分割エリアを、上記リ
ンクから外して、上記割り当て要求を行ったジョブに割
り当て、上記リンクに上記分割メモリ管理ブロックが連
鎖されていなければ、割り当て要求が単独の分割エリア
の要求であれば、上記空塞管理エリアの使用状況格納領
域に未使用を示す情報の保持されている分割エリアがあ
るかどうか検査し、該分割エリアを検出すると、該分割
エリアに対応する上記使用状況格納領域に使用中を示す
情報を格納して、該分割エリアの分割メモリ管理ブロッ
クの属性格納領域に、単独であることを示す情報を格納
し、該分割エリアを上記割り当て要求を行ったジョブに
割り当て、割り当て要求が複数の分割エリアの要求であ
れば、上記空塞管理エリアの使用状況格納領域に未使用
を示す情報の保持されている分割エリアが、少なくとも
割り当てを要求された分割エリアの数だけ連続している
かどうか検査し、連続していることを検出すると、該連
続した各分割エリアの分割メモリ管理ブロックがリンク
に連鎖されていればリンクから外し、該連続した各分割
エリアに対応する上記使用状況格納領域に使用中を示す
情報を格納して、該連続した分割エリアのうちのひとつ
の分割メモリ管理ブロックの属性格納領域に、要求され
た分割エリアの数を格納し、該連続した分割エリアのう
ちの他の分割エリアの分割メモリ管理ブロックの属性格
納領域に、従属を示す情報を格納し、該連続した分割エ
リアを、上記割り当て要求を行ったジョブに割り当てる
ステップ。
【0014】(2)ジョブから、上記分割エリアの解放
の要求を受け付けると、上記解放を要求された分割エリ
アに対応する上記使用状況格納領域に未使用を示す情報
を格納し、該分割エリアのうちの属性が従属でないもの
を、該分割エリアの属性に応じたリンクに連鎖させるス
テップ。
【0015】
【作用】本発明では、上記メモリエリア管理情報格納領
域に分割メモリ管理エリアを備える。分割メモリ管理エ
リアは、分割エリアの属性を保持する分割メモリ管理ブ
ロックを、分割エリアごとに備え、この分割メモリ管理
ブロックが、属性ごとにリンクされている(すなわち、
分割エリアが属性ごとにリンクされている)。ここで、
属性とは、割り当て可能な単独もしくは連続した分割エ
リアの数を示す情報、および、いずれかの分割エリアに
従属することを示す情報のいずれかの情報である。
【0016】このリンクにより、本発明では、上述のア
イドルチェーン方法と同様に、要求された分割エリアの
属性(割り当てられる分割エリアの数)に応じて、該属
性のリンク(すなわち、割り当て可能な分割エリアのキ
ュー)を検索して割り当てる分割エリアを決定すること
により、メモリエリアの増大しても、割り当て処理の効
率を低下させることなく、速やかに分割エリアの割り当
てを行うことができる。
【0017】また、本発明では、メモリエリア管理情報
格納領域は、分割エリアごとに、該分割エリアが使用中
か否かを示す情報を保持する使用状況格納領域を有する
空塞管理エリアをさらに備える。本発明のメモリエリア
管理手段は、割り当ての要求を受け付けると、まず、上
述のように、要求された属性のリンクを検索することに
より、割り当てる分割エリアを決定する。しかし、リン
ク内に分割エリアが登録されていないときは、空塞管理
エリアを参照することにより、要求された数の割り当て
可能な分割エリアがあるかどうか検査し、あれば、それ
を割り当てる。
【0018】このように、空塞の一覧表である空塞管理
エリアを用いて、リンクされていない分割エリアであっ
ても、割り当てることができるため、本発明では、あら
かじめ、必要なメモリ領域のサイズを定め、かつ、統計
的手段等により、各サイズごとに必要となるであろうメ
モリ領域の数を推測して確保しておく必要がなく、要求
されるサイズに変動があっても、メモリの使用効率は低
下しない。
【0019】しかも、本発明では、割り当てられた分割
メモリの属性を、要求された属性に変更するため、この
分割メモリは、解放されると、要求された属性の対応す
るリンクに連鎖されることになる。従って、本発明によ
れば、要求されるサイズの変動に動的に対応して、要求
の多いリンクに連鎖される分割エリアの数を増やすこと
ができ、効率のよいメモリエリア管理ができる。
【0020】
【実施例】以下、本発明の一実施例について、図面を用
いて説明する。本実施例では、情報処理装置のメモリエ
リアの管理に、本発明のメモリエリア管理方法を適用し
た。ここで、メモリエリアとは、実行されるジョブに対
して割り当てられる主記憶上の領域である。
【0021】A.情報処理装置の構成 本実施例の情報処理装置40の機能ブロック図を、図4
に示す。情報処理装置40は、ジョブに対して割り当て
るための記憶領域であるメモリエリア42と、メモリエ
リアの管理のためのメモリエリア管理データを保持する
メモリエリア管理情報格納領域43と、メモリエリアを
管理する手段であるメモリエリア管理手段41とを備え
る。情報処理装置40は、図5に示すように、主記憶装
置51とCPU(中央演算処理装置)52とを備える。
メモリエリア42およびメモリエリア管理情報格納領域
43は、主記憶装置51に備えられた記憶領域であり、
メモリエリア管理手段41は、主記憶装置51上にあら
かじめ保持されたインストラクションをCPU52が実
行することにより実現される。
【0022】メモリエリア42は、一定の大きさの複数
の領域に分割されて管理される。この分割された各領域
44を「分割エリア」と呼ぶ。本実施例では、メモリエ
リア管理手段41の受け付けるメモリ使用要求は、1
面、2面および4面のいずれか要求である。1面の要求
は、分割エリア44をひとつだけ使用する要求であり、
2面の要求は、連続した2つの分割エリア44を使用す
る要求であり、4面の要求は、連続した4つの分割エリ
ア44を使用する要求である。このときの要求されてい
る分割エリア44の数を「面数」と呼ぶ。
【0023】各分割エリア44には、それぞれを識別す
るための識別番号が付されている。なお、本実施例で
は、メモリエリア42は40個の分割エリア44に分割
されており、各分割エリア44には、識別情報として、
1〜40のエリア番号が付されている。また、メモリエ
リア管理情報格納領域43は、分割メモリ管理エリア1
0と、空塞管理エリア11とを備える。
【0024】B.分割メモリ管理エリア 分割メモリ管理エリア10の構成を図1に示す。分割メ
モリ管理エリア10は、メモリエリア42のすべての分
割エリア44ごとに、分割メモリ管理ブロック100を
有する。さらに、分割メモリ管理エリア10は、要求さ
れている面数ごとのリンク管理領域110を備える。
【0025】(1)分割メモリ管理ブロック 図1において、ブロック100aはエリア番号「1」の
分割エリア44を管理する分割メモリ管理ブロックであ
り、ブロック100bはエリア番号「2」の分割エリア
44を管理する分割メモリ管理ブロックであり、ブロッ
ク100cはエリア番号「3」の分割エリア44を管理
する分割メモリ管理ブロックであり、ブロック100d
はエリア番号「4」の分割エリア44を管理する分割メ
モリ管理ブロックであり、ブロック100eはエリア番
号「5」の分割エリア44を管理する分割メモリ管理ブ
ロックであり、ブロック100fはエリア番号「6」の
分割エリア44を管理する分割メモリ管理ブロックであ
り、ブロック100gはエリア番号「7」の分割エリア
44を管理する分割メモリ管理ブロックである。
【0026】分割エリア44には、その分割エリア44
の使用される形態を示す情報である「属性」が与えられ
ている。1つのみで使用される分割エリア44では属性
は「1面」である。2面(2つの連続した分割エリア4
4)の一括した使用許可が可能な分割エリア44では、
エリア番号の小さい方の分割エリア44(例えば、分割
メモリ管理ブロック100cにより管理される分割エリ
ア44であるエリア番号「3」の分割エリア44)の属
性は「2面」、大きい方の分割エリア44(例えば、分
割メモリ管理ブロック100dにより管理される分割エ
リア44であるエリア番号「4」の分割エリア44)の
属性は「従属」である。また、4面(4つの連続した分
割エリア44)の一括した使用許可が可能な分割エリア
44では、エリア番号の最も小さい分割エリア44の属
性が「4面」、残りの3つの分割エリア44の属性は
「従属」である。
【0027】分割メモリ管理ブロック100は、つぎに
大きいエリア番号を有する未使用の分割エリア44のエ
リア番号(「LKF」として図示)を保持する前段リンク
格納領域101と、つぎに小さいエリア番号を有する未
使用の分割エリア44のエリア番号(「LKB」として図
示)を保持する後段リンク格納領域102と、該ブロッ
クにより管理される分割エリア44の属性を保持する属
性格納領域103とを備える。本実施例では、未使用の
分割エリア44は、その属性ごとに、前段リンク格納領
域101に保持されたエリア番号によりフォワード・リ
ンクで繋がれ、後段リンク格納領域101に保持された
エリア番号によりバックワード・リンクで繋がれる。
【0028】なお、これらのリンクに繋がれるのは、未
使用の分割エリア44のみである。すでに使用されてい
る分割エリア44のブロック100のリンク格納領域1
01,102には、図1のブロック100aおよびブロ
ック100eのように、リンクに繋がれていないことを
示す情報(本実施例では「0」)が保持されている。ま
た、リンクの先頭にあたる場合、前段リンク格納領域1
01には「0」が保持され、リンクの末尾にあたる場
合、後段リンク格納領域102には「0」が保持され
る。従って、リンクされる分割エリア44が一つ敷かな
い場合は、前段および後段リンク格納領域101および
102の両方に「0」が保持されることになる。さら
に、属性が「従属」である分割エリア44も、使用中の
分割エリア44と同様、上述の分割エリア44のリンク
には繋がれない。従って、属性が「従属」である分割エ
リア44の分割メモリ管理ブロック100(例えば、図
1のブロック100d)のリンク格納領域101,10
2には、図1のブロック100aのように、リンクに繋
がれていないことを示す情報(本実施例では「0」)が
保持される。
【0029】(2)リンク管理領域 分割メモリ管理エリア10は、要求されている面数ごと
のリンク管理領域110を備える。本実施例では、要求
を受け付ける面数は、1、2または4であるから、リン
ク管理領域110として、属性が「1面」である分割エ
リア44のリンクのためのリンク管理領域110aと、
属性が「2面」である分割エリア44のリンクのための
リンク管理領域110bと、属性が「4面」である分割
エリア44のリンクのためのリンク管理領域110cと
の3つが備えられている。
【0030】各リンク管理領域110は、それぞれ、そ
のリンク管理領域110により管理されるリンクに、最
先に繋がれる分割エリア44のエリア番号(図1では
「HEAD」と図示されている)を保持するための前段リン
ク格納領域111と、末尾に繋がれる分割エリア44の
エリア番号(図1では「TAIL」と図示されている)を保
持するための後段リンク格納領域112とを備える。属
性が「従属」でない分割エリア44であって、未使用の
ものは、従属ごとにリンクされる。
【0031】すなわち、1面用リンク管理領域110a
の前段リンク格納領域111には、属性が「1面」であ
って未使用の分割エリア44のエリア番号のうち、最小
の番号が保持される。なお、図1に示した例では、2番
目のブロック100bの管理する分割エリア44(エリ
ア番号「2」の分割エリア44)がこの条件をみたすの
で、1面用リンク管理領域110aの前段リンク格納領
域111には、「2」が保持されることになる。また、
1面用リンク管理領域110aの後段リンク格納領域1
12には、属性格納領域103に該リンクの「1面」を
示す情報を保持するブロック100であって、未使用の
もの管理する分割エリア44のエリア番号のうち、最大
の番号が保持される。
【0032】また、属性が「2面」であって未使用の分
割エリア44のエリア番号のうち、最小の番号が、2面
用リンク管理領域110bの前段リンク格納領域111
に保持され、最大の番号が後段リンク格納領域112に
保持される。なお、図1に示した例では、3番目のブロ
ック100bの管理する分割エリア44(エリア番号
「3」の分割エリア44)がこの条件をみたすので、2
面用リンク管理領域110bの前段リンク格納領域11
1には、「3」が保持されることになる。
【0033】さらに、属性が「4面」であって未使用の
分割エリア44のエリア番号のうち、最小の番号が、4
面用リンク管理領域110cの前段リンク格納領域11
1に保持され、最大の番号が後段リンク格納領域112
に保持される。なお、図1に示した例では、属性が「4
面」である分割エリア44がないので、4面用リンク管
理領域110cの前段リンク格納領域111および後段
リンク格納領域には、該当する分割エリア44がないこ
とを示す「0」が保持されることになる。
【0034】(3)リンクの例 リンク管理領域110と、前段リンク格納領域101お
よび後段リンク格納領域102とにより、属性が「従
属」でない未使用の分割エリア44は連鎖される。この
連鎖の状態を図6に模式的に示す。
【0035】図6には、メモリエリア42の40個の分
割エリア44のうち、エリア番号が2、5、7、10の
4つの分割エリア44が、属性が「1面」である未使用
の分割エリア44であり、エリア番号3、11の2つの
分割エリア44が、属性が「2面」である未使用の分割
エリア44であり、属性が「4面」である分割エリア4
4であって未使用のものはなく、エリア番号4、12の
2つの分割エリア44が、属性が「従属」である未使用
の分割エリア44であり、残りの32面は使用中である
場合のリンクの状態を図示した。
【0036】上述のように、1面用リンク管理領域11
0aの前段リンク格納領域111には「2」が保持さ
れ、後段リンク格納領域112には、属性が「1面」で
あって、未使用のもの管理する分割エリア44のエリア
番号のうち、最大の番号である「10」が保持される。
【0037】エリア番号「2」の分割エリア44の分割
メモリ管理ブロック100bの前段リンク格納領域10
1には、つぎに大きいエリア番号を有する未使用の属性
が「1面」である分割エリア44のエリア番号である
「5」が保持される。エリア番号「2」は、属性が「1
面」である分割エリア44のエリア番号のうち最小であ
るから、後段リンク格納領域102には「0」が保持さ
れる。
【0038】エリア番号「5」の分割エリア44の分割
メモリ管理ブロック100eの前段リンク格納領域10
1には、つぎに大きいエリア番号を有する未使用の属性
が「1面」である分割エリア44のエリア番号である
「7」が保持され、後段リンク格納領域102には、つ
ぎに小さいエリア番号を有する未使用の属性が「1面」
である分割エリア44のエリア番号である「5」が保持
される。同様に、エリア番号「7」の分割エリア44の
分割メモリ管理ブロック100gの前段リンク格納領域
101には「10」が保持され、後段リンク格納領域1
02には「5」が保持される。
【0039】エリア番号「10」は、属性が「1面」で
ある分割エリア44のエリア番号のうち最大であるか
ら、エリア番号「10」の分割エリア44の分割メモリ
管理ブロック100hの前段リンク格納領域101には
「0」が保持される。後段リンク格納領域102には、
つぎに小さいエリア番号を有する未使用の属性が「1
面」である分割エリア44のエリア番号である「7」が
保持される。
【0040】同様に、2面用リンク管理領域110bの
前段リンク格納領域111には「3」が保持され、後段
リンク格納領域112には、「11」が保持される。エ
リア番号「3」の分割エリア44の分割メモリ管理ブロ
ック100cの前段リンク格納領域101には、「1
1」が保持され、後段リンク格納領域102には「0」
が保持される。エリア番号「11」の分割エリア44の
分割メモリ管理ブロック100iの前段リンク格納領域
101には「0」が保持され、後段リンク格納領域10
2には、「0」が保持される。
【0041】ここに示した例では、属性が「4面」であ
る未使用の分割エリア44はない。従って、4面用リン
ク管理領域110cの前段リンク格納領域111および
後段リンク格納領域112には、どちらも「0」が保持
される。
【0042】C.空塞管理エリアの構成 空塞管理エリア11は、エリア番号ごとに、該番号の示
す分割エリア44が使用中か否かを示す情報である使用
状況情報を保持するテーブルである。本実施例では、分
割エリア44は40個あるので、空塞管理エリア11
は、図7に示すように、エリア番号に対応した、使用状
況情報を保持する使用状況格納領域71を40個備え
る、1次元の配列構造を備える。本実施例では、使用状
況格納領域71に保持される使用状況情報は「0」およ
び「1」のいずれかである。「0」は使用中であること
を、「1」は未使用であることを、それぞれ示してい
る。
【0043】D.メモリエリア管理手段 メモリエリア管理手段41は、情報処理装置40の起動
時に、メモリ管理情報格納領域43の初期化を行う。ま
た、メモリエリア管理手段41は、ジョブからの分割エ
リア44の使用要求を受け付けると、該ジョブに対し
て、未使用の分割エリアを割り当てる、分割エリア割り
当て処理を行う。さらに、メモリエリア管理手段41
は、ジョブからのすでに割り当てられている分割エリア
の解放の要求を受け付けると、その分割エリアの割り当
てを解放する分割エリア解放処理を行う。
【0044】(1)初期化処理 メモリエリア管理手段41は、情報処理装置41の起動
時に、メモリ管理情報格納領域の初期化を行う。初期化
処理を図8に示す。
【0045】まず、メモリエリア管理手段41は、すべ
ての属性格納領域103に「1面」を格納する(ステッ
プ801)。つぎに、メモリエリア管理手段41は、空
きポインタ領域104に、最小のエリア番号である
「1」を格納する(ステップ802)。さらに、メモリ
エリア管理手段41は、1面用リンク管理領域110a
の前段リンク格納領域111に、最小のエリア番号であ
る「1」を格納し、1面用リンク管理領域110aの後
段リンク格納領域112に、最大のエリア番号である
「40」を格納し、2面用および4面用リンク管理領域
(110bおよび110c)の前段および後段リンク格
納領域(111および112)に、初期値「0」を格納
する(ステップ803)。
【0046】これにより、リンク管理領域110の初期
化が完了したので、つぎに、メモリエリア管理手段41
は、エリア番号1〜39の分割エリア44の分割メモリ
管理ブロック100の前段リンク格納領域101に、そ
れぞれ、その分割エリア44のエリア番号に1を加えた
数を格納し、エリア番号40の分割エリア44の分割メ
モリ管理ブロック100の前段リンク格納領域101
に、フォワード・リンクの末尾であることを示す「0」
を格納する(ステップ804)。
【0047】これにより、すべての分割エリア44をエ
リア番号の昇順に繋ぐ1面用のフォワード・リンクが完
成したので、つぎに、メモリエリア管理手段41は、す
べての分割メモリ管理ブロック100の前段リンク格納
領域101に、そのブロック100の管理する分割エリ
ア44のエリア番号から1を引いた数を格納する(ステ
ップ805)。これにより、すべての分割エリア44を
エリア番号の降順に繋ぐ1面用のバックワード・リンク
が完成する。ステップ801〜805により、分割メモ
リ管理エリア10が初期化される。
【0048】最後に、メモリエリア管理手段41は、す
べての使用状況格納領域71に、初期値として、未使用
であることを示す「1」を格納する(ステップ80
6)。これにより、空塞管理エリア11が初期化され
る。
【0049】(2)分割エリア割り当て処理 メモリエリア管理手段41は、ジョブからの分割エリア
44の使用要求を受け付けると、メモリ管理情報格納領
域43に保持された情報に応じて、使用を許可する分割
エリアのエリア番号をジョブに通知するとともに、該分
割エリアのメモリ管理情報を使用中であることを示す情
報に更新する。この分割エリア割り当て処理の流れを、
図2に示す。
【0050】まず、メモリエリア管理手段41は、要求
された面数に対応するリンク管理領域110の前段リン
ク格納領域111に保持された値を参照し(ステップ2
01)、その面数を属性とする未使用の分割エリア44
があるかどうか検査する(ステップ202)。
【0051】領域111に保持された値(xとする)が
「0」でなければ、使用可能な分割エリア44があると
いうことなので、メモリエリア管理手段41は、エリア
番号がその値xである分割エリア44をリンクから外し
(ステップ203)、空塞管理エリア11の、x番目か
ら要求されている面数分の使用状況格納領域71に、使
用中であることを示す「0」を格納して(ステップ20
4)、値xを要求元のジョブに通知し(ステップ20
5)、処理を終了する。
【0052】なお、ステップ203におけるリンクから
外す処理は、x番目のブロック100の前段リンク格納
領域101に保持された値をyとするとき、y番目のブ
ロック100の後段リンク格納領域102に、x番目の
ブロック100の後段リンク格納領域102に保持され
た値を格納し、参照したリンク管理領域110の前段リ
ンク格納領域111に値yを格納して、x番目のブロッ
ク100の前段リンク格納領域101および前段リンク
格納領域101に「0」を格納することにより行われ
る。
【0053】領域111に保持された値xが「0」であ
れば、使用可能な分割エリア44が、その面数のリンク
には繋がれていないということなので、メモリエリア管
理手段41は、空塞管理エリア11を操作して、使用状
況格納領域71に未使用であることを示す「1」が保持
されている領域が、要求された面数分、連続している箇
所を検索する(ステップ206)。
【0054】要求された面数だけ、「1」を保持する使
用状況格納領域71が連続している箇所がなければ(ス
テップ207)、メモリエリア管理手段41は、割り当
てられない旨を、要求元のジョブに通知し(ステップ2
08)、処理を終了する。
【0055】要求された面数だけ、「1」を保持する使
用状況格納領域71が連続している箇所があれば(ステ
ップ207)、メモリエリア管理手段41は、まず、そ
の先頭の使用状況格納領域71の対応するエリア番号を
処理対象のエリア番号とし、その番号の付された分割エ
リア44を、その属性に対応するリンクから外して(連
続して検出された未使用の分割エリア44の、最先のも
のが、従属であることはないので、いずれかのリンクに
繋がれているはずである)、その分割エリア44の分割
メモリ管理ブロック100の属性格納領域103に、要
求された面数を格納し、処理面数を1とする(ステップ
209)。
【0056】つぎに、メモリエリア管理手段41は、処
理面数が、要求された面数に達したかどうか検査する
(ステップ210)。メモリエリア管理手段41は、達
している場合は、ステップ214に処理を進めるが、達
していない場合は、処理対象のエリア番号および処理面
数を、それぞれ1増加させる(ステップ211)。以
下、この処理対象のエリア番号をαとする。つぎに、メ
モリエリア管理手段41は、α番目の分割メモリ管理ブ
ロック100の属性格納領域103に保持された値が、
「従属」かどうか検査し(ステップ212)、「従属」
でなければ、いずれか面数に対応したリンクに繋がれて
いるので、上述の方法によりリンクから外し、属性格納
領域103に「従属」を格納して(ステップ213)、
処理をステップ210に戻す。処理対象の分割エリア4
4の属性が、すでに「従属」である場合には(ステップ
212)、改めて「従属」にする必要がないので、メモ
リエリア管理手段41は、ステップ213を実行するこ
となく、ステップ210に処理を戻す。
【0057】なお、ステップ209およびステップ21
3におけるリンクから外す処理は、処理対象のエリア番
号をαとし、α番目のブロック100の前段リンク格納
領域101に保持された値をβとし、α番目のブロック
100の後段リンク格納領域102に保持された値をγ
とするとき、β番目のブロック100の後段リンク格納
領域102にγを格納し、γ番目のブロック100の前
段リンク格納領域101にβを格納して、α番目のブロ
ック100の前段リンク格納領域101および前段リン
ク格納領域101に「0」を格納することにより行われ
る。ただし、処理対象がリンクの先頭の分割エリア44
である場合には、γは0であるから、γ番目のブロック
100の前段リンク格納領域101への格納を行うかわ
りに、α番目のブロック100の属性格納領域103に
保持された値の面数の示すリンクのリンク管理領域11
0を検出し、その前段リンク格納領域111にβを格納
する。なお、属性格納領域103に保持された値が「従
属」を示すものであれば、その分割エリア44はいずれ
のリンクにも繋がれていないので、リンクから外す処理
の対象にはならない。
【0058】ステップ210において、処理面数が要求
された面数に達したことを検出すると、メモリエリア管
理手段41は、処理対象のエリア番号を1増加させ(こ
の新たな処理対象のエリア番号をδとする)、δ番目以
降の分割メモリ管理ブロック100の属性格納領域10
3を参照して、属性が「従属」である分割エリア44が
いくつ連続しているか検出する(ステップ214)。こ
の検出した分割エリア44の数は、ステップ209〜2
13により属性を変更して分割エリア44を割り当てた
ために、余ってしまった分割エリア44の数である。こ
の数は、従属する面数の最大値が3であることから、3
以下のはずである。
【0059】そこで、メモリエリア管理手段41は、余
った分割エリア44の数が2以上かどうか検査し(ステ
ップ215)、2未満なら処理をステップ218に進
め、2以上なら、δ番目の分割メモリ管理ブロック10
0の属性格納領域103に「2面」を格納し、2面のリ
ンクに繋いで(ステップ216)、余った分割エリア4
4の数を2減して、処理対象のエリア番号に2を加えて
(ステップ217)、処理をステップ218に進める。
δ+1番目の分割エリア44の属性は、すでに「従属」
であるから、改めて「従属」にするための処理を行う必
要はない。
【0060】ステップ218において、メモリエリア管
理手段41は、余った分割エリア44の数が0かどうか
検査する。0ならば、メモリエリア管理手段41は、処
理を上述のステップ204に進め、0でなければ、δ番
目の分割メモリ管理ブロック100の属性格納領域10
3に「1面」を格納し、エリア番号がδの分割エリア4
4を1面用のリンクに繋いで(ステップ219)、処理
を上述のステップ204に進める。
【0061】なお、ステップ216および219におけ
る、リンクに繋ぐ処理とは、つぎのようにして行われ
る。まず、メモリエリア管理手段41は、繋ごうとする
リンクのリンク管理領域110の後段リンク格納領域1
12に保持された値(εとする)を検出し、ε番目の
(すなわち、エリア番号がqの分割エリアの)分割メモ
リ管理ブロック100の前段リンク格納領域101にδ
を格納し、δ番目の分割メモリ管理ブロック100の後
段リンク格納領域102にεを格納し、繋ごうとするリ
ンクのリンク管理領域110の後段リンク格納領域11
2にδを格納する。これにより、エリア番号がδの分割
エリア44がリンクの末尾に繋がれたことになる。
【0062】なお、繋ごうとするリンクのリンク管理領
域110の後段リンク格納領域112に保持された値が
「0」のときは、メモリエリア管理手段41は、このリ
ンク管理領域110の前段および後段リンク格納領域1
11および112の両方にδを格納する。
【0063】このように、本実施例によれば、余分な分
割エリア44を、可能な限り多い面数に対応したリンク
に繋ぐことにより、不必要なメモリ使用効率の低下を防
ぐことができる。
【0064】E.割り当て処理の具体例 つぎに、分割メモリ管理エリア10の保持する情報が、
図1、図6および図7に示す状態にあるときを例にとっ
て、割り当て処理を具体的に説明する。
【0065】(1)要求された面数を属性とする未使用
分割エリア44があるとき 要求された面数を属性とする未使用分割エリア44があ
るときの例として、1面の分割エリア44の要求を受け
付けた場合について考える。
【0066】まず、メモリエリア管理手段41は、1面
用リンク管理領域110aの前段リンク格納領域111
に保持された値を参照する(ステップ201)。この値
は、図6に示す例では、「2」であって「0」ではない
ので(ステップ202)、メモリエリア管理手段41
は、図6に示す例では、2番目のブロック100bの前
段リンク格納領域101に保持された値は「5」であ
り、後段リンク格納領域102に保持された値は「0」
であるから、5番目のブロック100eの後段リンク格
納領域102に「0」を格納し、1面用リンク管理領域
110の前段リンク格納領域111に「5」を格納し
て、2番目のブロック100bの前段リンク格納領域1
01および前段リンク格納領域101に「0」を格納す
る。
【0067】これにより、図9に示すように、エリア番
号が「2」の分割エリア44がリンクから外されたこと
になる。また、これにより1面用リンクの先頭が、エリ
ア番号が2である分割エリア44をリンクから外すまで
は2番目だったエリア番号5の分割エリア44になって
いる。
【0068】さらにメモリエリア管理手段44は、空塞
管理エリア11の2番目の使用状況格納領域71に
「0」を格納して(ステップ204)、使用可能な分割
エリア44の先頭のエリア番号が「2」であることを、
要求元のジョブに通知し(ステップ205)、処理を終
了する。
【0069】つぎに、2面の分割エリア44の要求を受
け付けた場合について考える。メモリエリア管理手段4
1は、2面用リンク管理領域110bの前段リンク格納
領域111に保持された値を参照する(ステップ20
1)。この値は、図6に示す例では、「3」であって
「0」ではないので(ステップ202)、メモリエリア
管理手段41は、図6に示す例では、3番目のブロック
100cの前段リンク格納領域101に保持された値は
「11」であり、後段リンク格納領域102に保持され
た値は「0」であるから、11番目のブロック100i
の後段リンク格納領域102に「0」を格納し、2面用
リンク管理領域110の前段リンク格納領域111に
「11」を格納して、3番目のブロック100cの前段
リンク格納領域101および前段リンク格納領域101
に「0」を格納する。
【0070】これにより、図10に示すように、エリア
番号が「3」の分割エリア44がリンクから外されたこ
とになる。また、これにより属性が「2面」である未使
用分割エリア44はエリア番号11のものひとつになっ
たので、該分割エリア44のブロック100iの前段お
よび後段リンク格納領域101および102の保持する
値は両方とも「0」となる。連鎖する他の分割エリア4
4がないからである。ただし、2面用リンク管理領域1
10bの前段および後段リンク格納領域111および1
12の保持する値は、両方共、このエリア番号11の分
割エリア44を指しているので、次回に2面の要求があ
った場合には、このエリア番号11の分割エリア44が
割り当てられることになる。
【0071】(2)要求された面数を属性とする未使用
分割エリア44がないとき つぎに、要求された面数を属性とする未使用分割エリア
44がないときの例として、4面の分割エリア44の要
求を受け付けた場合について考える。なお、割り当て処
理が終了したときの分割メモリ管理エリア10のリンク
の状態を、図11に示す。
【0072】まず、メモリエリア管理手段41は、4面
用リンク管理領域110cの前段リンク格納領域111
に保持された値を参照する(ステップ201)。前段リ
ンク格納領域111に保持された値は「0」なので、メ
モリエリア管理手段41は、空塞管理エリア11を操作
して、使用状況格納領域71に未使用であることを示す
「1」が保持されている領域が、4面分、連続している
箇所を検索する(ステップ206)。
【0073】図7に示した例では、2番目から5番目ま
で4つの使用状況格納領域71に連続して「1」が保持
されているので、メモリエリア管理手段41はこれを検
出する。なお、このとき4つ連続して「1」が保持され
ている使用状況格納領域71がなければ(ステップ20
7)、メモリエリア管理手段41は、割り当てられない
旨を要求元のジョブに通知し(ステップ208)、処理
を終了する。
【0074】4つ連続して「1」が保持されていること
を検出したメモリエリア管理手段41は、まず、処理対
象のエリア番号を「2」とする。図6に示す例では、2
番目のブロック100bの前段リンク格納領域101に
保持された値は「5」であり、ブロック100bの後段
リンク格納領域102に保持された値は「0」である。
そこで、メモリエリア管理手段41は、5番目のブロッ
ク100eの後段リンク格納領域102に「0」を格納
し、1面用リンク管理領域110aの前段リンク格納領
域111に「5」を格納して、2番目のブロック100
bの前段リンク格納領域101および前段リンク格納領
域101に「0」を格納する。これにより、図11に示
すように、エリア番号2の分割エリア44が1面用リン
クから外されたことになる。メモリエリア管理手段41
は、2番目の分割メモリ管理ブロック100bの属性格
納領域103に「4面」を格納し、処理面数を1とする
(ステップ209)。
【0075】つぎに、メモリエリア管理手段41は、処
理面数が、要求された面数に達したかどうか検査する
(ステップ210)。処理面数が1であるのに対して、
要求された面数は4であるから、メモリエリア管理手段
41は、処理対象のエリア番号を3とし、処理面数を2
とする(ステップ211)。メモリエリア管理手段41
は、3番目の分割メモリ管理ブロック100cの属性格
納領域103に保持された値が「2面」なので(ステッ
プ212)、この分割エリア44をリンクから外す。す
なわち、図6に示す例では、3番目のブロック100c
の前段リンク格納領域101に保持された値は「11」
であり、ブロック100bの後段リンク格納領域102
に保持された値は「0」である。そこで、メモリエリア
管理手段41は、11番目のブロック100iの後段リ
ンク格納領域102に「0」を格納し、2面用リンク管
理領域110bの前段リンク格納領域111に「11」
を格納して、3番目のブロック100cの前段リンク格
納領域101および前段リンク格納領域101に「0」
を格納する。これにより、エリア番号3の分割エリア4
4が2面用リンクから外されたことになる。つぎに、メ
モリエリア管理手段41は、3番目のブロック100c
の属性格納領域103に「従属」を格納して(ステップ
213)、処理をステップ210に戻す。
【0076】つぎに、メモリエリア管理手段41は、処
理面数が要求された面数に達したかどうか、再度検査す
る(ステップ210)。処理面数が2であるのに対し
て、要求された面数は4であるから、メモリエリア管理
手段41は、処理対象のエリア番号を4とし、処理面数
を3とする(ステップ211)。メモリエリア管理手段
41は、4番目の分割メモリ管理ブロック100dの属
性格納領域103に保持された値が「従属」なので(ス
テップ212)、ステップ210に処理を戻す。
【0077】メモリエリア管理手段41は、処理面数が
要求された面数に達したかどうか、再度検査する(ステ
ップ210)。処理面数が3であるのに対して、要求さ
れた面数は4であるから、メモリエリア管理手段41
は、処理対象のエリア番号を5とし、処理面数を4とす
る(ステップ211)。メモリエリア管理手段41は、
5番目の分割メモリ管理ブロック100eの属性格納領
域103に保持された値が「1面」なので(ステップ2
12)、この分割エリア44をリンクから外す。すなわ
ち、図6に示す例では、5番目のブロック100eの前
段リンク格納領域101に保持された値は「7」であ
り、ブロック100eの後段リンク格納領域102に保
持された値は「2」である。そこで、メモリエリア管理
手段41は、7番目のブロック100gの後段リンク格
納領域102に「0」を格納し、1面用リンク管理領域
110bの前段リンク格納領域111に「7」を格納し
て、5番目のブロック100eの前段リンク格納領域1
01および前段リンク格納領域101に「0」を格納す
る。これにより、エリア番号5の分割エリア44が1面
用リンクから外されたことになる。つぎに、メモリエリ
ア管理手段41は、5番目のブロック100eの属性格
納領域103に「従属」を格納して(ステップ21
3)、処理をステップ210に戻す。
【0078】メモリエリア管理手段41は、処理面数が
要求された面数に達したかどうか、再度検査する(ステ
ップ210)。処理面数が4であるのに対して、要求さ
れた面数は4であり、一致するので、メモリエリア管理
手段41は、処理対象のエリア番号を1増加させ6と
し、余った分割エリア44の数が2以上かどうか検査す
る(ステップ215)。6番目の分割メモリ管理ブロッ
ク100fの属性格納領域103に保持された属性が
「従属」ではないので(ステップ214)、余った面数
は0である。
【0079】そこで、メモリエリア管理手段41は、余
った分割エリア44の数が2未満なので、さらに0かど
うか検査する(ステップ218)。0であるから、メモ
リエリア管理手段41は、空塞管理エリア11の2〜5
番目の使用状況格納領域71にそれぞれ「0」を格納し
て(ステップ204)、使用可能な分割エリア44の先
頭のエリア番号が「2」であることを、要求元のジョブ
に通知し(ステップ205)、処理を終了する。
【0080】(3)要求された属性の未使用分割エリア
44がなく、属性の変更により、余りの分割エリア44
が発生するとき つぎに、要求された面数を属性とする未使用分割エリア
44がなく、かつ、属性の変更により余りの分割エリア
が発生するときの例として、分割メモリ管理エリアのリ
ンクの状態が、図13および図15に示すものであると
きに、1面の分割エリア44の要求を受け付けた場合に
ついて考える。なお、図6と同様、リンクの状態が図1
3に示すものであるときの空塞管理エリア11の状態
も、図7に示した通りである。また、以下に説明する処
理の結果得られるリンクの状態を図14に示す。
【0081】まず、メモリエリア管理手段41は、1面
用リンク管理領域110cの前段リンク格納領域111
に保持された値を参照する(ステップ201)。前段リ
ンク格納領域111に保持された値は「0」なので、メ
モリエリア管理手段41は、空塞管理エリア11を操作
して、使用状況格納領域71に未使用であることを示す
「1」が保持されている領域を検索する(ステップ20
6)。
【0082】図7に示した例では、最先の「1」が保持
されている使用状況格納領域71は、2番目のものなの
で、これを検出したメモリエリア管理手段41は、処理
対象のエリア番号を「2」とする。図13に示す例で
は、2番目のブロック100bの前段リンク格納領域1
01および後段リンク格納領域102に保持された値は
どちらも「0」である。そこで、メモリエリア管理手段
41は、4面用リンク管理領域110cの前段リンク格
納領域111および後段リンク格納領域102の両方に
「0」を格納する。これにより、図14に示すように、
エリア番号2の分割エリア44が4面用リンクから外さ
れたことになる。メモリエリア管理手段41は、2番目
の分割メモリ管理ブロック100bの属性格納領域10
3に「1面」を格納し、処理面数を1とする(ステップ
209)。
【0083】つぎに、メモリエリア管理手段41は、処
理面数が、要求された面数に達したかどうか検査する
(ステップ210)。処理面数が1であるのに対して、
要求された面数も1であるから、メモリエリア管理手段
41は、処理対象のエリア番号を1増加させ3とし、余
った分割エリア44の数が2以上かどうか検査する(ス
テップ215)。3番目以降で、最初に属性格納領域1
03に保持された属性が「従属」でなくなるのは、図1
5からわかるように6番目であるから、余った面数は3
である。
【0084】そこで、この面数は2以上であるから(ス
テップ214)、メモリエリア管理手段41は、3番目
の分割メモリ管理ブロック100cの属性格納領域10
3に「2面」を格納し、このエリア番号3の分割エリア
を2面用のリンクに繋ぐ(ステップ216)。すなわ
ち、メモリエリア管理手段41は、2面用リンク管理領
域110bの後段リンク格納領域112に保持された値
「7」を検出し、7番目の分割メモリ管理ブロック10
0の前段リンク格納領域101に「3」を格納し、3番
目の分割メモリ管理ブロック100の後段リンク格納領
域102に「7」を格納し、リンク管理領域110bの
後段リンク格納領域112に「3」を格納する。これに
より、エリア番号「3」の分割エリア44が2面用リン
クの末尾に繋がれたことになる。
【0085】つぎに、メモリエリア管理手段41は、余
った分割エリア44の数3を2減して1とし、処理対象
のエリア番号3に2を加えて5とする(ステップ21
7)。つぎに、メモリエリア管理手段41は、余った分
割エリア44の数1は0ではないので(ステップ21
8)、5番目の分割メモリ管理ブロック100eの属性
格納領域103に「1面」を格納し、1面のリンクに繋
ぐ(ステップ219)。すなわち、メモリエリア管理手
段41は、1面用リンク管理領域110aの後段リンク
格納領域112に保持された値「0」を検出し、1面用
リンク管理領域110aの前段および後段リンク格納領
域111および112にそれぞれ「5」を格納する。こ
れにより、エリア番号「5」の分割エリア44が1面用
リンクに繋がれたことになる。
【0086】最後に、メモリエリア管理手段41は、空
塞管理エリア11の2番目の使用状況格納領域71に
「0」を格納して(ステップ204)、使用可能な分割
エリア44のエリア番号が「2」であることを、要求元
のジョブに通知し(ステップ205)、処理を終了す
る。
【0087】F.分割エリア解放処理 メモリエリア管理手段41は、ジョブからの分割エリア
44の解放要求を受け付けると、該分割エリアのメモリ
管理情報を、未使用であることを示す情報に更新する。
この分割エリアの解放処理の流れを、図3に示す。
【0088】本実施例では、解放の要求に際しては、解
放を要求する分割エリア44(複数ある場合は、そのう
ち、最先のエリア番号を有する分割エリア44)のエリ
ア番号が通知される。この番号を、ここではpとする。
この通知を受け付けたメモリエリア管理手段41は、p
番目の(すなわち、エリア番号がpの分割エリア44
の)分割メモリ管理ブロック100を検出し、その属性
格納領域103に保持された属性を読み出し(ステップ
301)、その属性の対応するリンクに、この分割エリ
ア44を繋ぐ(ステップ302)。
【0089】すなわち、メモリエリア管理手段41は、
ステップ302において、繋ごうとするリンクのリンク
管理領域110の後段リンク格納領域112に保持され
た値(qとする)を検出し、q番目の(すなわち、エリ
ア番号がqの分割エリアの)分割メモリ管理ブロック1
00の前段リンク格納領域101にpを格納し、p番目
の分割メモリ管理ブロック100の後段リンク格納領域
102にqを格納し、繋ごうとするリンクのリンク管理
領域110の後段リンク格納領域112にpを格納す
る。これにより、解放を要求された分割エリア44がリ
ンクの末尾に繋がれたことになる。
【0090】なお、繋ごうとするリンクにすでに繋がれ
ているリンクがないとき(すなわち、繋ごうとするリン
クのリンク管理領域110の後段リンク格納領域112
に保持された値が「0」のとき)は、メモリエリア管理
手段41は、このリンク管理領域110の前段および後
段リンク格納領域111および112の両方にpを格納
する。
【0091】最後に、メモリエリア管理手段41は、空
塞管理エリア11の、解放を要求された分割エリア44
(すなわち、エリア番号がpの分割エリア44から、そ
の分割エリアの属性である面数分の分割エリア44)に
対応する使用状況格納領域に、未使用を示す「1」を格
納する(ステップ303)。
【0092】このように、本実施例によれば、新たに属
性が変更されて割り当てられた分割エリア44は、その
後解放されると、新たな属性のリンクに繋がれるので、
不足していた属性の分割エリアの数が最適になるように
調整されることになる。
【0093】G.分割エリア解放処理の具体例 つぎに、分割メモリ管理エリア10の保持する情報が、
図11に示す状態にあるときを例にとって、解放処理を
具体的に説明する。この例では、エリア番号2〜5の4
面の分割エリア44が割り当てられていたジョブから、
これらの分割エリアの解放要求として、エリア番号
「2」が通知されたとする。
【0094】まず、メモリエリア管理手段41は、2番
目の分割メモリ管理ブロック100bの属性格納領域1
03に保持された属性を読み出す(ステップ301)。
この属性は「4面」であるから、つぎに、メモリエリア
管理手段41は、4面用リンクのリンク管理領域110
cの後段リンク格納領域112に保持された値を検出す
る。この値は「0」であるから、メモリエリア管理手段
41は、このリンク管理領域110cの前段および後段
リンク格納領域111および112の両方に「2」を格
納する(ステップ302)。これにより、図12に示す
ように、解放された分割エリア44は4面用リンクに繋
がれたことになる。
【0095】最後に、メモリエリア管理手段41は、空
塞管理エリア11の、2〜5番目の使用状況格納領域
に、未使用を示す「1」を格納する(ステップ30
3)。
【0096】H.実施例の他の態様 本実施例では、要求を受け付ける面数は、1、2、4の
3種類であるが、本発明はこれに限定するものではな
く、4面よりさらに多い面数の指定を受け付けるように
してもよい。このようにする場合は、割り当て処理(図
2に図示)におけるステップ215〜219の処理を、
図16に示すように変更することが望ましい。なお、図
16において、nの初期値は、要求を受け付ける面数の
うち、2番目に大きい面数である。
【0097】この場合、メモリエリア管理手段41は、
ステップ214のあと、余った面数が、要求を受け付け
る面数のうち、2番目に大きい面数n以上かどうか検査
し(ステップ161)、n以上ならば、ステップ216
と同様にして処理対象の分割エリア44の属性を「n
面」にする処理をし(ステップ162)、余った面数を
n減らす。つぎに、メモリエリア管理手段41は、nが
要求を受け付ける面数のうち最小の面数かどうか検査す
る(ステップ164)。メモリエリア管理手段41は、
最小であれば、ステップ204に処理を進め、最小でな
ければ、nを要求を受け付ける面数のうち、つぎに大き
い面数にし(ステップ165)ステップ161へ処理を
戻す。このようにすれば、できるだけ大きい面数のリン
クに繋ぐことができる。
【0098】また、本実施例では、分割メモリ管理ブロ
ック100を、メモリエリア42とは異なる記憶領域に
設けたが、メモリエリア42の分割エリア44内に、該
分割エリアの分割メモリ管理ブロック100を備えるよ
うにしてもよい。あるいは、分割メモリ管理ブロック1
00内のリンク格納領域101および102を分割エリ
ア44に設け、属性格納領域103は、分割メモリ管理
エリア10に備えるようにしてもよい。本実施例では、
属性の「従属」を示す情報は、「0」あるいはブランク
など、任意のデータにすることができる。
【0099】さらに、本実施例では、メモリエリア管理
手段41は、要求された面数に対応するリンクに分割エ
リア44が登録されていない場合に、空塞管理エリア1
1を走査するが、リンク内に繋がれた分割エリア44の
数があらかじめ定められた値を下回ったときや、分割エ
リア44の使用率があらかじめ定められた値を下回った
ときなどに、空塞管理エリア11の走査を行うようして
もよい。また、本実施例では空塞管理エリア11は一つ
だけ備えているが、従属を除く属性に応じて、複数設け
てもよい。
【0100】
【発明の効果】本発明によれば、要求される記憶領域の
サイズに変動があっても、それに柔軟に対応することが
でき、かつ、メモリエリアが増大しても分割エリアを割
り当てるための処理の効率が低下しない。
【図面の簡単な説明】
【図1】 図1は、分割メモリ管理エリアの構成を示す
概念図である。
【図2】 図2は、メモリエリア管理手段による分割エ
リア割り当て処理を示す流れ図である。
【図3】 図3は、メモリエリア管理手段による分割エ
リア解放処理を示す流れ図である。
【図4】 図4は、実施例の情報処理装置の機能ブロッ
ク図である。
【図5】 図5は、実施例の情報処理装置のハードウエ
ア構成図である。
【図6】 図6は、リンク管理領域および分割メモリ管
理ブロックのリンク格納領域により実現されるリンクの
構成例を示す模式図である。
【図7】 図7は、空塞管理表の構成を示す概念図であ
る。
【図8】 図8は、メモリエリア管理手段による分割メ
モリ管理エリアの初期化処理を示す流れ図である。
【図9】 図9は、リンク管理領域および分割メモリ管
理ブロックのリンク格納領域により実現されるリンクの
構成例を示す模式図である。
【図10】 図10は、リンク管理領域および分割メモ
リ管理ブロックのリンク格納領域により実現されるリン
クの構成例を示す模式図である。
【図11】 図11は、リンク管理領域および分割メモ
リ管理ブロックのリンク格納領域により実現されるリン
クの構成例を示す模式図である。
【図12】 図12は、リンク管理領域および分割メモ
リ管理ブロックのリンク格納領域により実現されるリン
クの構成例を示す模式図である。
【図13】 図13は、リンク管理領域および分割メモ
リ管理ブロックのリンク格納領域により実現されるリン
クの構成例を示す模式図である。
【図14】 図14は、リンク管理領域および分割メモ
リ管理ブロックのリンク格納領域により実現されるリン
クの構成例を示す模式図である。
【図15】 図15は、分割メモリ管理エリアの構成例
を示す模式図である。
【図16】 図16は、余った分割エリアの処理の一例
を示す流れ図である。
【符号の説明】
10…分割メモリ管理エリア、100…分割メモリ管理
ブロック、101…前段リンク格納領域、102…後段
リンク格納領域、103…属性格納領域、110…リン
ク管理領域、111…前段リンク格納領域、112…後
段リンク格納領域、11…空塞管理表、40…情報処理
装置、41…メモリエリア管理手段、42…メモリエリ
ア、43…メモリ管理情報格納領域、51…主記憶装
置、52…中央演算処理装置。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 金井 伸介 神奈川県横浜市戸塚区戸塚町216番地 株式会社日立製作所 情報通信事業部内 (72)発明者 鈴木 孝至 東京都千代田区内幸町一丁目1番6号 日本電信電話株式会社内 (72)発明者 小川 光康 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内 (56)参考文献 特開 平5−189299(JP,A) 特開 平4−38540(JP,A) 実開 平5−43246(JP,U) (58)調査した分野(Int.Cl.7,DB名) G06F 12/00 - 12/06

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】記憶領域である複数の分割エリアを有する
    メモリエリアと、該分割エリアのジョブへの割り当てを
    管理するメモリエリア管理手段とを備える情報処理装置
    において、 上記割り当ての管理のため情報を保持するメモリエリア
    管理情報格納領域を備え、 上記メモリエリア管理情報格納領域は、 上記分割エリアごとに、割り当て可能な単独もしくは連
    続した分割エリアの数を示す情報、および、いずれかの
    分割エリアに従属することを示す情報のいずれかの情報
    である属性を保持する属性格納領域を備える分割メモリ
    管理ブロックを備える分割メモリ管理エリアと、 上記分割エリアごとに、該分割エリアが使用中か否かを
    示す情報を保持する使用状況格納領域を有する空塞管理
    エリアとを備え、 上記分割メモリ管理ブロックのうち、上記属性格納領域
    に分割エリアの数が保持されており、かつ、未使用の分
    割エリアに対応するものは、該数ごとにリンクにより連
    鎖されており、 上記メモリエリア管理手段は、 ジョブから、上記分割エリアの割り当ての要求を受け付
    けると、 割り当てを要求された分割エリアの数を上記属性格納領
    域に保持する上記分割メモリ管理ブロックのリンクを検
    索し、 上記リンクに上記分割メモリ管理ブロックが連鎖されて
    いることを検出すると、該連鎖されている分割メモリ管
    理ブロックのうちのいずれかの対応する分割エリアを、
    上記リンクから外して、上記割り当て要求を行ったジョ
    ブに割り当て、 上記リンクに上記分割メモリ管理ブロックが連鎖されて
    いなければ、 割り当て要求が単独の分割エリアの要求であれば、上記
    空塞管理エリアの使用状況格納領域に未使用を示す情報
    の保持されている分割エリアがあるかどうか検査し、 該分割エリアを検出すると、該分割エリアに対応する上
    記使用状況格納領域に使用中を示す情報を格納して、該
    分割エリアの分割メモリ管理ブロックの属性格納領域
    に、単独であることを示す情報を格納し、該分割エリア
    を上記割り当て要求を行ったジョブに割り当て、 割り当て要求が複数の分割エリアの要求であれば、上記
    空塞管理エリアの使用状況格納領域に未使用を示す情報
    の保持されている分割エリアが、少なくとも割り当てを
    要求された分割エリアの数だけ連続しているかどうか検
    査し、 連続していることを検出すると、該連続した各分割エリ
    アの分割メモリ管理ブロックがリンクに連鎖されていれ
    ばリンクから外し、該連続した各分割エリアに対応する
    上記使用状況格納領域に使用中を示す情報を格納して、
    該連続した分割エリアのうちのひとつの分割メモリ管理
    ブロックの属性格納領域に、要求された分割エリアの数
    を格納し、該連続した分割エリアのうちの他の分割エリ
    アの分割メモリ管理ブロックの属性格納領域に、従属を
    示す情報を格納し、該連続した分割エリアを、上記割り
    当て要求を行ったジョブに割り当てる手段と、 ジョブから、上記分割エリアの解放の要求を受け付ける
    と、 上記解放を要求された分割エリアに対応する上記使用状
    況格納領域に未使用を示す情報を格納し、該分割エリア
    のうちの属性が従属でないものを、該分割エリアの属性
    に応じたリンクに連鎖させる手段とを有することを特徴
    とする情報処理装置。
  2. 【請求項2】記憶領域である複数の分割エリアを有する
    メモリエリアと、 割り当ての管理のため情報を保持するメモリエリア管理
    情報格納領域を備え、 上記メモリエリア管理情報格納領域は、 上記分割エリアごとに、割り当て可能な単独もしくは連
    続した分割エリアの数を示す情報、および、いずれかの
    分割エリアに従属することを示す情報のいずれかの情報
    である属性を保持する属性格納領域を備える分割メモリ
    管理ブロックを備える分割メモリ管理エリアと、 上記分割エリアごとに、該分割エリアが使用中か否かを
    示す情報を保持する使用状況格納領域を有する空塞管理
    エリアとを備え、 上記分割メモリ管理ブロックのうち未使用の分割エリア
    に対応するものは、属性ごとのリンクにより連鎖されて
    いる情報処理装置の、該分割エリアのジョブへの割り当
    てを管理するメモリエリア管理方法であって、 ジョブから、上記分割エリアの割り当ての要求を受け付
    けると、 割り当てを要求された分割エリアの数を、属性として上
    記属性格納領域に保持する上記分割メモリ管理ブロック
    のリンクを検索し、 上記リンクに上記分割メモリ管理ブロックが連鎖されて
    いることを検出すると、該連鎖されている分割メモリ管
    理ブロックのうちのいずれかの対応する分割エリアを、
    上記リンクから外して、上記割り当て要求を行ったジョ
    ブに割り当て、 上記リンクに上記分割メモリ管理ブロックが連鎖されて
    いなければ、 割り当て要求が単独の分割エリアの要求であれば、上記
    空塞管理エリアの使用状況格納領域に未使用を示す情報
    の保持されている分割エリアがあるかどうか検査し、 該分割エリアを検出すると、該分割エリアに対応する上
    記使用状況格納領域に使用中を示す情報を格納して、該
    分割エリアの分割メモリ管理ブロックの属性格納領域
    に、単独であることを示す情報を格納し、該分割エリア
    を上記割り当て要求を行ったジョブに割り当て、 割り当て要求が複数の分割エリアの要求であれば、上記
    空塞管理エリアの使用状況格納領域に未使用を示す情報
    の保持されている分割エリアが、少なくとも割り当てを
    要求された分割エリアの数だけ連続しているかどうか検
    査し、 連続していることを検出すると、該連続した各分割エリ
    アの分割メモリ管理ブロックがリンクに連鎖されていれ
    ばリンクから外し、該連続した各分割エリアに対応する
    上記使用状況格納領域に使用中を示す情報を格納して、
    該連続した分割エリアのうちのひとつの分割メモリ管理
    ブロックの属性格納領域に、要求された分割エリアの数
    を格納し、該連続した分割エリアのうちの他の分割エリ
    アの分割メモリ管理ブロックの属性格納領域に、従属を
    示す情報を格納し、該連続した分割エリアを、上記割り
    当て要求を行ったジョブに割り当てるステップと、 ジョブから、上記分割エリアの解放の要求を受け付ける
    と、 上記解放を要求された分割エリアに対応する上記使用状
    況格納領域に未使用を示す情報を格納し、該分割エリア
    のうちの属性が従属でないものを、該分割エリアの属性
    に応じたリンクに連鎖させるステップとを有することを
    特徴とするメモリエリア管理方法。
JP31862794A 1994-12-21 1994-12-21 情報処理装置およびメモリエリア管理方法 Expired - Fee Related JP3438975B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31862794A JP3438975B2 (ja) 1994-12-21 1994-12-21 情報処理装置およびメモリエリア管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31862794A JP3438975B2 (ja) 1994-12-21 1994-12-21 情報処理装置およびメモリエリア管理方法

Publications (2)

Publication Number Publication Date
JPH08179982A JPH08179982A (ja) 1996-07-12
JP3438975B2 true JP3438975B2 (ja) 2003-08-18

Family

ID=18101252

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31862794A Expired - Fee Related JP3438975B2 (ja) 1994-12-21 1994-12-21 情報処理装置およびメモリエリア管理方法

Country Status (1)

Country Link
JP (1) JP3438975B2 (ja)

Also Published As

Publication number Publication date
JPH08179982A (ja) 1996-07-12

Similar Documents

Publication Publication Date Title
US5784698A (en) Dynamic memory allocation that enalbes efficient use of buffer pool memory segments
US5924097A (en) Balanced input/output task management for use in multiprocessor transaction processing system
US5797005A (en) Shared queue structure for data integrity
US6035296A (en) Sorting method, sort processing device and data processing apparatus
US5155854A (en) System for arbitrating communication requests using multi-pass control unit based on availability of system resources
US5561785A (en) System for allocating and returning storage and collecting garbage using subpool of available blocks
US6157963A (en) System controller with plurality of memory queues for prioritized scheduling of I/O requests from priority assigned clients
US5640561A (en) Computerized method and system for replicating a database using log records
US6532501B1 (en) System and method for distributing output queue space
US20070011396A1 (en) Method and apparatus for bandwidth efficient and bounded latency packet buffering
US6230220B1 (en) Method for allocating either private or shared buffer memory for storing data from sort operations in accordance with an assigned value or threshold value
US20070156997A1 (en) Memory allocation
Chuang et al. Allocating precise submeshes in mesh connected systems
EP1564638B1 (en) A method of reassigning objects to processing units
US6115793A (en) Mapping logical cache indexes to physical cache indexes to reduce thrashing and increase cache size
JPH07202946A (ja) 通信バッファを管理するためのシステム及び方法
US5301104A (en) Method for allocating processing elements interconnected in a hypercube topology
US5493652A (en) Management system for a buffer memory having buffers of uniform size in which the buffers are divided into a portion of contiguous unused buffers and a portion of contiguous buffers in which at least some are used
US10657045B2 (en) Apparatus, system, and method for maintaining a context stack
US6298382B1 (en) Information retrieving method, information retrieving system, and retrieval managing unit for the same
EP1564640A1 (en) Database accelerator
US6324601B1 (en) Data structure and method for managing multiple ordered sets
US9870371B2 (en) Associating application-specific methods with tables used for data storage
EP1524599B1 (en) A method of reassigning objects to processing units
JP3438975B2 (ja) 情報処理装置およびメモリエリア管理方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030513

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080613

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090613

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees