JPH02156348A - 複数のハッシュ表のあふれ領域管理方法 - Google Patents

複数のハッシュ表のあふれ領域管理方法

Info

Publication number
JPH02156348A
JPH02156348A JP63310424A JP31042488A JPH02156348A JP H02156348 A JPH02156348 A JP H02156348A JP 63310424 A JP63310424 A JP 63310424A JP 31042488 A JP31042488 A JP 31042488A JP H02156348 A JPH02156348 A JP H02156348A
Authority
JP
Japan
Prior art keywords
memory
overflow area
overflow
symbol
registered
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
JP63310424A
Other languages
English (en)
Inventor
Ryuichi Matsukura
隆一 松倉
Tokuhiro Aritaka
有高 徳裕
Takeshi Kanai
剛 金井
Hiromi Hasegawa
長谷川 博己
Masatomo Yazaki
昌朋 矢崎
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 JP63310424A priority Critical patent/JPH02156348A/ja
Publication of JPH02156348A publication Critical patent/JPH02156348A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概 要〕 複数のハツシュ表のあふれ領域管理方法に関し、比較的
小規模のメモリ構成のコンピュータにおいて、複数のハ
ツシュ表を使用する場合、比較的十分なあふれ領域が確
保出来る、複数のハツシュ表のあふれ、領域管理方法の
提供を目的とし、メモリに、複数のハツシュ表“領域及
び、複数のハッシュ表夫々のあふれ領域として共通に使
用するメモリプールを確保し、処理手段にて、記号登録
時あふれ領域が必要になると該メモリプールよりあふれ
領域を確保して登録し、削除する時は削除し、該あふれ
領域が空になると解放するように構成する。
〔産業上の利用分野〕
本発明は、例えば、複数の映画館の予約を行う、比較的
小規模のメモリ構成のコンピュータを用いる予約システ
ムで、映画館毎に予約者を登録したり削除したりする場
合、複数のハツシュ表を利用して予約者対応の記号を登
録、削除する場合等の、複数のハツシュ表のあふれ領域
管理方法に関する。
ハツシュ表とは、記号を表(ハツシュ表)に登録する場
合、探索が短時間で出来るようにする為に、記号Xに対
してn=1.2,3.  ・・・の整数になるようにハ
ツシュ関数をほどこし、n=f(X)を求め、第7図(
A)に示すハツシュ表のf (x)の列の1.2,3.
  ・・・の該当数字の行に登録するものである。
こうすると、記号Xを検索する時にハツシュ関数で計算
すれば、ハツシュ表の行の値が求まるので簡単に探索が
出来る。
一般にハツシュ関数をどのように選んでも、記号x、y
に対しf (x) =f (y)と同じ値となり登録し
ようとしても衝突することがあり、このような場合は、
Xはハツシュ表に既に登録しであるので、yはあふれ領
域に登録し、ポインタにてリンクするようにしてyの探
索を容易にする。
又記号x、y、zに対しf (x) =f (y) =
f (z)となった場合は、y、zはあふれ領域に登録
し、yと2とは更にポインタにてリンクするようにして
2の探索を容易にする。
近年マイクロプロセッサを使用したシステムは、他の制
約からメモリを十分持つことが出来ない場合もあり、こ
のような、比較的小規模のメモリ構成のコンピュータで
、複数のハツシュ表を利用して記号を登録、削除する場
合、メモリの効率的な利用が必要になってくる。
〔従来の技術〕
従来、複数のハツシュ表を利用する場合は、夫々のハツ
シュ表に対して、予め必要と思われる十分なあふれ領域
をメモリ上で確保していた。
この場合、あふれ領域の使用量にアンバランスが生ずる
こともあり、使用量の小さいあふれ領域に割当だメモリ
領域は無駄になってしまう。
〔発明が解決しようとする課題〕
従来の方法では、無駄なメモリ領域を含み、十分大きい
メモリ領域が必要となり、比較的小規模のメモリ構成の
コンピュータでは、十分なあふれ領域が確保出来ない問
題点がある。
本発明は、比較的小規模のメモリ構成のコンピュータに
おいて、複数のハツシュ表を使用する場合比較的十分な
あふれ領域が確保出来る、複数のハツシュ表のあふれ領
域管理方法の提供を目的としている。
〔課題を解決するための手段〕
第1図は本発明の原理ブロック図である。
第1図に示す如く、メモリに、複数のハツシュ表領域1
.2.3.  ・・及び、複数のハッシュ表夫々のあふ
れ領域として共通に使用するメモリプール5を確保し、
処理手段6にて、記号登録時あふれ領域が必要になると
該メモリプール5よりあふれ領域を確保して登録し、削
除する時は削除し、該あふれ領域が空になると解放する
ようにする。
〔作 用〕
本発明によれば、予め各ハツシュ表に対してあふれ領域
を確保する従来の場合の、あふれ領域の合計よりも小さ
い領域の、各ハシシュ表夫々のあふれ領域として共通に
使用するメモリプール5をメモリ上に確保し、処理手段
6にて、記号登録時あふれ領域が必要になると該メモリ
プール5よりあふれ領域を確保して登録し、削除する時
は削除し、該あふれ領域が空になると解放するようにし
て、メモリ領域を効率的に使用するようにしているので
、比較的十分なあふれ領域が確保出来る。
〔実施例] 第2図は本発明の実施例のメモリの割当を示す図、第3
図は本発明の実施例の登録プログラムのフローチャート
、第4図は本発明の実施例の削除プログラムのフローチ
ャート、第5図は本発明の実施例の整理プログラムのフ
ローチャート、第6図は1例の本発明を適用するコンピ
ュータの構成を示す図、第7図は本発明の実施例のハツ
シュ表。
メモリブロック、未使用リストを示す図、第8図は本発
明の実施例のメモリプールの管理表を示す図である。
複数のハツシュ表を使用する、メモリが小規模なコンピ
ュータの構成を示すと第6図に示す如くで、例えば映画
館A、B、Cの映画館毎に予約者を登録したり削除した
りする場合等で、複数のハツシュ表を利用して予約者の
記号を登録、削除する場合、例えば、映画館A用の記号
を入力すると、マイクロプロセッサlOは、映画館A用
の記号に適用するハツシュ関数演算プログラムをROM
12より読み出し、演算し、演算結果によりメモリ11
の映画館A用のハツシュ表に登録したり削除したりする
このメモリll上でのハツシュ表及びメモリプールの割
当は第2図に示す如くで、複数のハツシュ表1.2,3
.  ・・及び、各ハツシュ表のあふれ領域として共通
に利用するメモリプール5を割当ておく。
この場合のメモリプール5の大きさは従来のあふれ領域
の合計より小さいものであり、又あふれ領域が必要にな
った時あふれ領域として割り当てるメモリブロックは、
従来のあふれ領域よりは小さいものであり、メモリブー
ル5内には多数のメモリブロックを含んでいる。
ハツシュ表を示すと、第7図(A)に示す如くで、ハツ
シュ関数で求めた値のf (x)の列、記号(x)を登
録する列、記号に対する情報を示す列、あふれ領域とリ
ンクする為にあふれ領域のアドレスを書き込むあふれポ
インタの列よりなっている。
又メモリブロックを示すと、第7図(B)に示す如くで
、記号(x)を登録する列、記号に対する情報を示す列
、メモリブロックの行のアドレスを書き込むあふれポイ
ンタの列よりなっており、各行をセルと呼ぶ。
尚メモリブロックはlセルの構成にして、削除すれば直
ちに解放出来るようにしてもよいが、メモリブロック獲
得の頻度が増加するので、通常はハツシュ表の10%程
度のセルを有するものとしている。
そこで、例えば、第7図に示す如く1個のハツシュ表に
対しメモリブロックを獲得した場合で、登録する記号A
Aのハツシュ関数の値が2であると、記号(x)の列の
2行目に登録し、登録する記号BBのハツシュ関数の値
が4であると、記号(x)の列の4行目に登録し、又登
録する記号CCのハツシュ関数の値が5であると、記号
(x)の列の5行目に登録する。
次に、登録する記号EEのハツシュ関数の値が2となる
と、記号(X)の列の2行目には記号AAが登録してあ
り、衝突するので、この時は、メモリプール5よりあふ
れ領域としてメモリブロックNO,lを確保し、第7図
(B)に示すメモリブロックNo、1の記号(x)の列
の第1行に登録し、ハツシュ表の2行目のあふれポイン
タにメモリブロックN011の第1行目のアドレスを書
込みリンクさせる。
次に、登録する記号DDのハツシュ関数の値が5となる
と、記号(X)の列の5行目には記号CCが登録してあ
り、衝突するので、第7図(B)に示すメモリブロック
No、1の記号(X)の列の第2行に登録し、ハツシュ
表の5行目のあふれポインタにメモリブロックNO61
の第2行目のアドレスを書込みリンクさせる。
次に、登録する記号FFのハツシュ関数の値が2となる
と、記号(X)の列の2行目には記号AAが登録してあ
り、又あふれポインタの列の2行目にはメモリブロック
N001−の1行目のアドレスが書き込んであるので、
この1行目をみるが、ここにも記号EEが書き込んであ
るので、メモリブロックN001の記号(x)の列の第
3行に登録し、第1行のあふれポインタにメモリブロッ
クNo、1の第3行目のアドレスを書込みリンクさせる
又メモリブロックを獲得すると、メモリ上に、メモリブ
ロック毎に、第7図(C)に示す如き未使用セルのリス
トを作り、未使用リストへのポインタには未使用リスト
の第1行目のセルのアドレスを書込み、又未使用リスト
の各セルのあふれポインタには次のセルのアドレスを書
込み、次々とリンクさせておき、例えば、メモリブロッ
クの第1行目のセルに記号を占き込むと、未使用リスト
の第1行目のセルは取り除き、未使用リストへのポイン
タには第2行目のセルのアドレスを書込む。
又、メモリ上に、第8図に示す如きメモリプール管理表
を設け、メモリブロックのNOo及びメモリブロックの
先頭のアドレス及びメモリブロック内のセルの数を書き
込む領域を設けておく。
又第6図のROM12には、処理プログラムとして、第
3図〜第5図に示す登録プログラム、削除プログラム及
び整理プログラムを格納しておき、マイクロプロセッサ
10はこれを読み出し処理を行う。
次に、記号登録について、第3図の登録プログラムに従
って説明する。
ステップ1にて、記号のハツシュ関数を計算し、ステッ
プ2にて、ハツシュ表の計算結果の行に記号が登録され
ているかを見、登録されていなければ、ステップ3にて
ハツシュ表に登録する。
登録されていると、ステップ4にて、第7図(C)の未
使用リストへのポインタにアドレスが書き込まれている
かを見、書き込まれていなければ、ステップ5にてメモ
リプール5からメモリブロックを獲得し、ステップ6に
て、メモリブロックの各セルを第7図(C)に示す如く
、未使用リストへのポインタ及び未使用セルのリストに
てリンクさせ又ステップ7にて第8図のメモリプール管
理表に獲得したメモリブロックのアドレス及びセルの数
を登録してステップ8に進む。
ステップ8では、第7図(C)の未使用リストへのポイ
ンタのアドレスにより未使用セルを獲得し、ステップ9
にて、獲得したメモリブロックの未使用セルに内容を登
録し、上位のハツシュ表又はセルのあふれポインタに登
録したセルのアドレスを書込みリンクさせる。
次に、記号削除について第4図の削除プログラムに従っ
て説明する。
ステップ1にて、削除する記号のハツシュ関数を計算し
、ハツシュ表の行の値を求める。
■削除する記号がハツシュ表中の該当行に有り、該行の
あふれポインタにはセルのアドレスが書き込まれていな
い時は、ステップ2にて内容を削除する。
■削除する記号がハツシュ表中の該当行に有り、該行の
あふれポインタにはセルのアドレスが書き込まれている
場合は、ステップ3にてあふれポインタにて最初にリン
クしているセルの内容を上書きして削除し、ステップ4
にて、第8図のメモリプール管理表の、削除したセルの
メモリブロックNo、のセルの使用数を1減じステップ
5に進む。
ステップ5ではセルの使用数の残りが使用数の約30%
程度以下でなければ終了し、以下になればメモリブロッ
クを次に説明する整理プログラムにて整理する。
■記号がメモリブロックにある場合は、ステップ7にて
メモリブロックのあふれポインタに、次のセルのアドレ
スが書き込まれているかを見、書き込まれていればステ
ン1プ8に進み、次のリンクのセルの内容を前のセルに
上書きして削除しステップ10に進む。
ステップ7にて次のセルが書き込まれていなければ、ス
テップ9にてセルの内容を削除しステップ10に進む。
ステップ10では、メモリプール管理表の、削除したセ
ルのメモリブロックNO,の使用数を1減ずし、ステッ
プ11に進む。
ステップ11にて、セルの使用数の残りが使用数の約3
0%程度以下でなければ終了し、以下になればメモリブ
ロックを次に説明する整理プログラムにて整理する。
次に、メモリブロックの整理につき第5図のメモリブロ
ックの整理プログラムに従って説明する。
ステップ1にて、複数のハツシュ表中のあふれポインタ
を探索してステップ2に進む。
ステップ2にて、リンク先のセルが整理メモリブロック
である時は、複数のメモリブロックの未使用リストから
未使用のセルを獲得しこれに内容をコピーし、リンクし
ている上位のハツシュ表又はセルのあふれ領域のアドレ
スを、コピーした未使用リストのセルのアドレスとし、
ステップ3にてメモリプール管理表の整理したセルの該
当メモリブロツタの使用数を1:$iじステップ4に進
む動作を、複数のハツシュ表の終わり迄繰り返し、ステ
ップ5に進む。
ステップ5にて、使用数が0になれば、ステップ6にて
該整理メモリブロックを解放して再度使用出来るように
する。
ステップ5にて、使用数がOにならなければステップ7
に進み、複数のメモリブロックの未使用リストをたどり
ブロックNO,を検索し、ステップ8にて、ブロックN
O9が整理メモリブロックならば1つ前のセルのあふれ
ポインタを次のセルのアドレスとし、ステップ9にてメ
モリプール管理表の該当ブロックNO1の使用数を1減
じステップ10に進む、ステップ7からステップlO迄
の動作を、未使用リストの終わり迄繰り返す。
すると整理メモリブロックは空になるので、ステップI
Iにて整理メモリブロックを解放して再度使用出来るよ
うにする。
このようにして、メモリプールのあふれ領域としてのメ
モリブロックを動的に割当てメモリの使用効率を高めて
いるので、比較的十分なあふれ領域が確保出来る。
尚コンピュータのO3としてlTR0N仕様にもとづく
ものを使用すれば、タスクがメモリブロックを獲得する
には例えばシステムコールget−blkを使用し、解
放する時はtel−blkを使用するようにすれば、メ
モリブロックの獲得解放が容易に出来る。
〔発明の効果〕
以上詳細に説明せる如く本発明によれば、あふれ領域を
割り当てるのに、複数のハツシュ表が共通にあふれ領域
として使用するメモリプールを設け、メモリプールのあ
ふれ領域としてのメモリブロックを動的に割当てメモリ
の使用効率を高めているので、比較的小規模のメモリ構
成のコンピュータで、複数のハツシュ表を利用して記号
を登録、削除する場合、比較的十分なあふれ領域が確保
出来る効果がある。
【図面の簡単な説明】
第1図は本発明の原理ブロック図、 第2図は本発明の実施例のメモリの割当を示す図、第3
図は本発明の実施例の登録プログラムのフローチャート
、 第4図は本発明の実施例の削除プログラムのフローチャ
ート、 第5図は本発明の実施例の整理プログラムのフローチャ
ート、 第6図は1例の本発明を適用するコンピュータの構成を
示す図、 第7図は本発明の実施例のハンシュ表、メモリブロック
、未使用リストを示す図、 第8図は本発明の実施例のメモリプールの管理表を示す
図である。 図において、 1.2.3はハツシュ表、 5はメモリプール、 6は処理手段、 10はマイクロプロセッサ、 11はメモリ、 12はROM。 I3は記号入力部を示す。 禾斃明の原理プロ・ンクロ 第 図 本尭8月/)火施イダ・1のメモリの富1当てを汀、寸
図第 1イグ・v本系明8通、出するコシピユータの構成ヒホ
す図第 乙 図 メモリアールの電は1表 をホす図 第 図

Claims (1)

  1. 【特許請求の範囲】 比較的小規模のメモリ構成のコンピュータで、複数のハ
    ッシュ表を利用して記号を登録、削除するに際し、 メモリに、複数のハッシュ表領域(1、2、3、・・)
    及び、複数のハッシュ表夫々のあふれ領域として共通に
    使用するメモリプール(5)を確保し、処理手段(6)
    にて、記号登録時あふれ領域が必要になると該メモリプ
    ール(5)よりあふれ領域を確保して登録し、削除する
    時は削除し、該あふれ領域が空になると解放するように
    したことを特徴とする複数のハッシュ表のあふれ領域管
    理方法。
JP63310424A 1988-12-08 1988-12-08 複数のハッシュ表のあふれ領域管理方法 Pending JPH02156348A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63310424A JPH02156348A (ja) 1988-12-08 1988-12-08 複数のハッシュ表のあふれ領域管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63310424A JPH02156348A (ja) 1988-12-08 1988-12-08 複数のハッシュ表のあふれ領域管理方法

Publications (1)

Publication Number Publication Date
JPH02156348A true JPH02156348A (ja) 1990-06-15

Family

ID=18005091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63310424A Pending JPH02156348A (ja) 1988-12-08 1988-12-08 複数のハッシュ表のあふれ領域管理方法

Country Status (1)

Country Link
JP (1) JPH02156348A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0528079A (ja) * 1991-07-24 1993-02-05 Fujitsu Ltd 通信システムにおけるメモリ管理装置
JPH0535844A (ja) * 1991-07-30 1993-02-12 Matsushita Graphic Commun Syst Inc 電子フアイル装置
JPH0619724A (ja) * 1992-07-02 1994-01-28 Nec Corp ジョブアカウント格納方式
JP2008176465A (ja) * 2007-01-17 2008-07-31 Ricoh Co Ltd ログ情報管理方法および情報機器

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0528079A (ja) * 1991-07-24 1993-02-05 Fujitsu Ltd 通信システムにおけるメモリ管理装置
JPH0535844A (ja) * 1991-07-30 1993-02-12 Matsushita Graphic Commun Syst Inc 電子フアイル装置
JPH0619724A (ja) * 1992-07-02 1994-01-28 Nec Corp ジョブアカウント格納方式
JP2008176465A (ja) * 2007-01-17 2008-07-31 Ricoh Co Ltd ログ情報管理方法および情報機器

Similar Documents

Publication Publication Date Title
JPH07175698A (ja) ファイルシステム
US7058656B2 (en) System and method of using extensions in a data structure without interfering with applications unaware of the extensions
CN107943542A (zh) 一种配置信息管理方法、装置、可读介质及存储控制器
JPH02156348A (ja) 複数のハッシュ表のあふれ領域管理方法
JPH0973407A (ja) データ管理装置
JPH06110759A (ja) ファイルシステム
JP3030030B2 (ja) 領域管理処理方式
JPH0267651A (ja) ファイルシステムのプロテクトの管理方法
JP2010061604A (ja) 整合性検証システム、検証方法およびプログラム
JPH02299037A (ja) ファイル割り当て処理方式
JPS61245251A (ja) フアイル管理方法
JPS58175188A (ja) メモリ管理方式
JPS62160545A (ja) 直接アクセス記憶装置の未使用領域管理方式
JPH04223537A (ja) イメージファイルの格納方式
JPH1165903A (ja) データベース管理方法及び装置、並びに、データベース管理プログラムを格納した記憶媒体
JP2663600B2 (ja) 制御表再配置処理方式
JPS62241047A (ja) デ−タベ−ス管理システムによる入出力バツフアの共用制御方法
JPH02193231A (ja) ファイルスペース空き領域管理方式
JPH06231152A (ja) 帳票処理方法
JPH04235644A (ja) ファイルの格納方式
JPS63167942A (ja) フアイル制御システム
JPH03268146A (ja) 高速ファイルアクセス方式
JPH0367341A (ja) 可変レコード制御方式
JPH02138645A (ja) 入力順ファイル処理方式
JPH05159005A (ja) 素子名付与方法