GT.Mは 512ブロックのグループにGDSブロックをパーティションします。各グループの最初のブロックは、ローカルビットマップを含みます。ローカルビットマップは、512ブロックのそれぞれが現在ビジー状態かまたはフリーかどうか、そして、KILLされて以降その有効なデータがまだ含まれていたかどうかをレポートします。
各ブロックの2つのビットの意味は次のとおりです:
00 - Busy(ビジー)
01 - フリーかつ以前に使われていない
10 - 現在は正しい組み合わせではない
11 - フリーだが、以前に使用されていた
これら2つのビットは内部表現です:
'X' - BUSY
'.' - FREE
'?' - 壊れている
':' - 再利用可能
ローカルビットマップの解釈可能な形式は次のようなものです:>
Block 0 Size 90 Level -1 TN 1 V5 Master Status: Free Space Low order High order Block 0: | XXXXX... ........ ........ ........ | Block 20: | ........ ........ ........ ........ | Block 40: | ........ ........ ........ ........ | Block 60: | ........ ........ ........ ........ | Block 80: | ........ ........ ........ ........ | Block A0: | ........ ........ ........ ........ | Block C0: | ........ ........ ........ ........ | Block E0: | ........ ........ ........ ........ | Block 100: | ........ ........ ........ ........ | Block 120: | ........ ........ ........ ........ | Block 140: | ........ ........ ........ ........ | Block 160: | ........ ........ ........ ........ | Block 180: | ........ ........ ........ ........ | Block 1A0: | ........ ........ ........ ........ | Block 1C0: | ........ ........ ........ ........ | Block 1E0: | ........ ........ ........ ........ | 'X' == BUSY '.' == FREE ':' == REUSABLE '?' == CORRUPT
注意 | |
---|---|
ビットマップで記述された最初のブロックは、それ自身であり、したがって、常にビジーマークとなります。 |
もしビットマップに "?" マークが付いている場合、(現在有効な組み合わせでない)ビットマップを破損していることを示します。破損したビットマップの結果は以下のとおりです:
GT.Mが、間違ってフリー(悪性)としてマークされているブロックを上書きされた時にデータが失われる可能性があります。
間違ってビジー(良性)とマークされたブロック数により、データベースの有効なサイズに縮小します。