JPH05134909A - 空きスペース検索方法 - Google Patents

空きスペース検索方法

Info

Publication number
JPH05134909A
JPH05134909A JP3300227A JP30022791A JPH05134909A JP H05134909 A JPH05134909 A JP H05134909A JP 3300227 A JP3300227 A JP 3300227A JP 30022791 A JP30022791 A JP 30022791A JP H05134909 A JPH05134909 A JP H05134909A
Authority
JP
Japan
Prior art keywords
bit
byte
address
conversion
conversion table
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
JP3300227A
Other languages
English (en)
Inventor
Hiroaki Tsuno
洋明 津野
Fujio Fujita
藤田不二男
Shoichi Kato
正一 加藤
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP3300227A priority Critical patent/JPH05134909A/ja
Publication of JPH05134909A publication Critical patent/JPH05134909A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】ビットマップで管理されたランダムアクセス装
置の空きスペースを高速に例外なく検出する事を目的と
する。 【構成】第一の変換表によりビットマップ上のビット '
0’を検索し、第二の変換表によりビットマップ上のビ
ット '1’を検索する。その際、ビット '0’よりも左
側に位置するビット '1’を検出しないようにするた
め、マスクをかけてから第二の変換表によりビット '
1’を検索する。これによりどのようなビットパターン
に対しても本発明の方法で高速な空きスペース検索を実
現できる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は処理装置に接続されるラ
ンダムアクセス記憶装置の記憶域の使用状況、特に空き
スペースを管理するための空きスペース検索方法に関す
る。
【0002】
【従来の技術】ランダムアクセス記憶装置の空きスペー
スを管理する方法として、該装置上の記憶領域をブロッ
クに分割し、各ブロックに1ビットを対応させたビット
マップを用い、未使用のブロックに対するビットは '
0'、使用中のブロックに対するビットは '1’とし
て、記憶領域の使用状態を管理している。
【0003】従来このビットマップから連続する空きス
ペース、即ち '0'の数を検出する方法として、たとえ
ば特公平3−15775号公報に開示された方法などが
ある。
【0004】
【発明が解決しようとする課題】空きスペースを示す '
0'の数を検出する従来の方法の中で、たとえばバイト
内の連続する '0'ビットの個数を変換後の値とする変
換表を用いる方法では、空き領域の大きさを知る事が出
来ても、バイト内の最終ビットが '0'でないようなビ
ットパターンの場合、空き領域の開始位置を知ることが
出来ないという問題がある。その場合には、他の手法を
併用して該当バイト内の '0'ビット開始位置を求める
必要があった。
【0005】本発明の目的は、ビットマップがいかなる
ビットパターンであっても、ビットマップで管理された
スペースから空き領域の位置と大きさを高速に求めるこ
とである。
【0006】
【課題を解決するための手段】本発明では、バイト内で
の '0’ビットの位置を求める変換表で空き領域の位置
を求め、バイト内での '1’ビットの位置を求める変換
表を用いて、空き領域の終わり位置を求め、両者の差か
ら空き領域の大きさを求める事で、どのようなビットパ
ターンに対しても本発明の方式のみで空き領域の位置と
大きさを求めることが出来るようにした。
【0007】
【作用】バイト内での '0’ビットの位置を求める変換
表によって、空き領域の開始位置を求める。連続する '
0’ビット列は '1’ビットの出現で終わる事を利用し
てバイト内での '1’ビットの位置を求める変換表を用
いて、空き領域の終わり位置を求める。空き領域の開始
位置に先行する '1’のビットをマスクして'0’にし
てから '1’ビットの位置を求める変換表を用いる事で
いかなるビットパターンに対しても本発明の方式のみで
空き領域の開始位置と大きさを求められる。
【0008】
【実施例】以下、本発明の実施例について図面を用いて
説明する。
【0009】図1は、第一の変換表、第二の変換表及び
マスクパターンである。図2は本発明に係る空きスペー
ス検索方法の一実施例に用いた処理装置の構成図であ
る。図3は、本実施例の空きスペース検索方法を示すフ
ローチャートである。
【0010】図2において、1は計算機システム、2は
計算機システムのメモリー、3は処理装置、4はランダ
ムアクセス装置、5はビットマップ、6はメモリー上に
常駐させたランダムアクセス装置のビットマップ、7は
変換表である。
【0011】本実施例は、ランダムアクセス装置の領域
の使用状況を示すビットマップを、図1(a)の第一の
変換表を参照して '0’のビット列が始まる先頭バイト
のアドレスと、そのバイト中での位置を検出し、次に、
図1(b)の第二の変換表を参照して '1’のビット列
が始まるバイトのアドレスと、そのバイト中での位置を
検出する。この '1’のビット列の検出の前に、同一バ
イト内の '0’のビット列より高位のビットの '1’を
検出しないようにするため、 '0’のビット列が始まる
先頭バイトに図1(c)で示すマスクパターンのマスク
をかけておく。
【0012】8ビットから成るバイトのビットパターン
は256種類存在する。
【0013】図1(a),(b)はいずれもこの256
種類のビットパターンに対する変換値を示す表であり、
バイトの値を16進数で表した場合の上位桁を縦軸に、
下位桁を横軸にとってある。
【0014】第一の変換表は、1バイトを上位ビットか
ら見て最初に現われる'0’の位置を示す。例えば16
進の "CB”というバイトに対するビット列は、'11001
011'である。これには、ビット '0’が1個以上連続す
るビット列は2個存在するが、図1(a)の第一の変換
表は、上位から見て最初に出現する '0’の位置3を示
す。次に、ビット '1’の位置を検出するが、先に検出
した位置3より高位のビット '1’を無視するため図1
(c)のマスクをかける。マスクは配列になっていて、
ビット '0’検出位置を添字とすれば適切なパターンが
得られるようにしてある。ここでは、先に検出した位置
が3なので、配列の3番目のマスクをかける。それは1
6進数で”7F”である。オリジナルのパターン”C
B”にこのマスクを論理積演算して、”0B”を得る。
これは、ビット列で表すと'00001011'であり、位置3よ
り高位の '1’ビットを '0’にすることが出来た事が
わかる。これに対し、図1(b)の第二の変換表を用い
て、ビット '1’の位置を検出する。第二の変換表は、
位置5を示す。この結果より、ビット'0’は位置3か
ら始まり、5の1ビット左 つまり4の位置で終わり、
ビット列の長さは5−3より2である事がわかる。
【0015】次に、表1に示すビットマップの例のよう
に長く連続する '0’ビット列を検出する場合を例に説
明する。
【0016】
【表1】
【0017】ここでまず、本実施例における変換処理を
行なう命令語を変換テスト命令と称することにする。変
換テスト命令は、コード変換のために一般に装備されて
いる命令語で、変換表のアドレス、被変換テストのコー
ド列のアドレス、及びコード列の長さを与えて変換テス
ト命令を実行すると、コード列をバイト単位に変換表に
従って変換テストし、変換値が0のあいだ或はコード列
の終端に達するまで処理を続行する。変換値が0以外の
バイトがあると、そのアドレス及び変換値をレジスタに
セットして変換テスト命令は停止する。
【0018】表1のビットマップから先ず、最初のビッ
ト '0’を検出するため、図1(a)の第一の変換表の
アドレス、及び表1のビットマップのアドレスと長さを
与えて変換テスト命令を実行する。バイト0は第一の変
換表で変換すると0である為、変換テスト命令は停止せ
ず、バイト1に対して処理を続行する。バイト1は変換
値が8である為、変換テスト命令はバイト1のアドレス
と変換値8をレジスタにセットして停止する。変換値が
8である事からバイト1の左端ビットが '0’であるこ
とが分かる。そこで、ビット '1’の検索はバイト1の
次のバイト、つまりバイト2からおこなえばよいことが
分かる。変換テスト命令に、図1(b)の変換表のアド
レス及び、バイト2のアドレスとバイト2からビットマ
ップの終端までの長さを与えて、変換テスト命令を実行
する。バイト2は第二の変換表で変換すると0である為
変換テスト命令は停止せず、バイト3に対して処理を続
行する。バイト3の変換値も0のため、次にバイト4に
対して変換を行なう。バイト4を変換すると、値が1で
ある。そこで変換テスト命令は、バイト4のアドレスと
変換値1をレジスタにセットして停止する。
【0019】これにより、ビット '0’はバイト1の位
置8から始まり、バイト4の位置1の1ビット左の位置
まで連続している事がわかった。
【0020】従って空き領域の大きさは、各々の変換テ
スト命令停止位置から(バイト4−バイト1)−1=2
バイト つまり2×8=16ビットと、バイト1の変換
値8からバイト1には1ビット、バイト4の変換値1か
らバイト4には0ビット、合計17ビット単位の大きさ
である事が得られた。
【0021】このように、2種類の変換表を使った2回
の変換テスト命令実行で、空き領域の位置と大きさを高
速に求める事ができる。
【0022】
【発明の効果】以上、説明したように、本発明の空きス
ペース検索方法は2種類の変換表を用いて、如何なるパ
ターンのビットマップに対しても必ず空きスペースの位
置と大きさを高速に求めることができ、ランダムアクセ
ス装置の記憶域管理に有効である。
【図面の簡単な説明】
【図1】第一の変換表と、第二の変換表と、第一の変換
表で検出したバイトのビット'0’よりも高位にあるビ
ット '1’をマスクするためのマスクパターンを示す図
である。
【図2】本発明の空きスペース検索方法の一実施例に用
いた処理装置の構成を示すブロック図である。
【図3】本発明の空きスペース管理方法を示すフローチ
ャートである。
【符号の説明】
2…メモリー 3…処理装置 4…ランダムアクセス装置 5…ビットマップ 6…ビットマップ(メモリ常駐) 7…変換表

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】ランダムアクセス装置の記憶域の使用状況
    を任意の単位ごとに '0'または'1'のビット値で表す
    ビットマップを備えた処理装置に於いて、このビットマ
    ップからランダムアクセス装置の空きスペースを検索す
    る方法であって、 8ビットからなるビット列を最高位側から見た時、最初
    に現われる '0'のビット位置をビットパターンごとに
    示す第一の変換表と、 8ビットからなるビット列を最高位側から見た時、最初
    に現われる '1'のビット位置をビットパターンごとに
    示す第二の変換表を設け、 前記ビットマップの指定したアドレスのバイトのビット
    パターンに基づいて、前記第一の変換表から対応する値
    を読みだし、読みだした値が0の場合には、次のアドレ
    スのバイトについて該処理を繰返し、読みだした値が0
    以外の場合は処理を停止し、当該バイトのアドレスを '
    0'を含むバイト列の先頭アドレスとして記憶し、また
    得られた変換値をバイト内の '0’ビット先頭位置とし
    て記憶すると共に、その位置が最下位ビット位置かどう
    かを知り、 その位置が最下位ビット位置でない場合は、前記先頭バ
    イト内の '0'のビット位置以前のビットを '0'にする
    マスクをかけた後に、当バイト位置から第二の変換表を
    適用した変換を行ない、そこで読みだした値が0の場合
    には、次のアドレスのバイトについて該処理を繰返し、
    読みだした値が0でない場合には処理を停止して、その
    時の当該バイトを連続する ’0’ビット列を終了させ
    る '1’ビットをふくむバイトのアドレスとし、読みだ
    した値を '1’ビットの位置として記憶し、 その位置が最下位ビット位置の場合には、当バイト位置
    の次のバイト位置から第二の変換表を適用した変換を行
    ない、そこで読みだした値が0の場合には、次のアドレ
    スのバイトについて該処理を繰返し、読みだした値が0
    でない場合には処理を停止して、その時の当該バイトを
    連続する ’0’ビット列を終了させる'1’ビットをふ
    くむバイトのアドレスとし、読みだした値を '1’ビッ
    トの位置として記憶し、 ここで得られた連続する ’0’ビット列を終了させる
    '1’ビットをふくむバイトのアドレスと、そのバイト
    内での '1’ビットの位置と、先に第一の変換表を使っ
    て得られている '0'を含むバイト列の先頭アドレス
    と、そのバイト内の ’0’ビット先頭位置から空き領
    域の位置及び大きさを知ることを特徴とする空きスペー
    ス検索方法。
JP3300227A 1991-11-15 1991-11-15 空きスペース検索方法 Pending JPH05134909A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3300227A JPH05134909A (ja) 1991-11-15 1991-11-15 空きスペース検索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3300227A JPH05134909A (ja) 1991-11-15 1991-11-15 空きスペース検索方法

Publications (1)

Publication Number Publication Date
JPH05134909A true JPH05134909A (ja) 1993-06-01

Family

ID=17882251

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3300227A Pending JPH05134909A (ja) 1991-11-15 1991-11-15 空きスペース検索方法

Country Status (1)

Country Link
JP (1) JPH05134909A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249223A (ja) * 1995-03-13 1996-09-27 Nec Corp 領域共用ファイルのデータ領域管理システム
US6393520B2 (en) 1997-04-17 2002-05-21 Matsushita Electric Industrial Co., Ltd. Data processor and data processing system with internal memories
KR100324734B1 (ko) * 1995-08-04 2002-08-24 엘지전자주식회사 비트패턴검출장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249223A (ja) * 1995-03-13 1996-09-27 Nec Corp 領域共用ファイルのデータ領域管理システム
KR100324734B1 (ko) * 1995-08-04 2002-08-24 엘지전자주식회사 비트패턴검출장치
US6393520B2 (en) 1997-04-17 2002-05-21 Matsushita Electric Industrial Co., Ltd. Data processor and data processing system with internal memories

Similar Documents

Publication Publication Date Title
JPH09503327A (ja) 可変長の文字ストリング用のプロセッサ
JPH05134909A (ja) 空きスペース検索方法
JPH0315775B2 (ja)
JPH0540698A (ja) 主記憶ページ管理方式
JPH04223537A (ja) イメージファイルの格納方式
JPS63217446A (ja) バツフア管理方式
JP2570407B2 (ja) プログラマブル・コントローラ
JPH05113916A (ja) 領域管理方式
JP2507399B2 (ja) デ―タベ―ス装置
JP2622121B2 (ja) 文字処理装置および方法
JP2574384B2 (ja) データストリーム発生器
JPS6242237A (ja) 命令バツフアへのロ−ド方式
JPH0334014A (ja) 画面フォーマットデータの管理参照方法
JPH06124238A (ja) 書換え対象エントリ選択方法および装置
JPH05181738A (ja) データ記憶システム
JPS58121484A (ja) 文脈解析回路
JPH09319649A (ja) アドレス判定装置及びその判定方法
JPS59148921A (ja) デ−タチエツク方式
JPH03113651A (ja) ガーベジコレクション処理方式
JPH02114331A (ja) 無限構造検出装置
JPS59191649A (ja) プログラムの生成方式
JPS5857699A (ja) メモリ・プ−ルのアクセス制御方式
JPH03263142A (ja) メモリ管理方法
JPH02287661A (ja) データアクセス方式
JPH047643A (ja) データ識別方式