Block allocation map: Difference between revisions

Content deleted Content added
Hydradix (talk | contribs)
mNo edit summary
Hydradix (talk | contribs)
removed acronym BAM
Line 1:
In [[computer file system]]s, a '''block allocation map''' ('''BAM''') is a [[data structure]] used to track [[Block size (data storage and transmission)|disk blocks]] that are considered "in use". Blocks may also be referred to as allocation units or [[Data_cluster|clusters]].<ref>{{cite book|title=CP/M Plus Operating System System Guide|year=1983|publisher=Digital Research, Inc.|location=Monterey, CA|edition=Second|page=41}}</ref>
 
[[CP/M]] used a block allocation map in its [[Directory_(file_systems)|directory]]. Each directory entry could list 8 or 16 blocks (depending on disk format) that were allocated to a file. If a file used more blocks, additional directory entries would be needed. Thus, a single file could have multiple directory entries. A benefit of this method is the possibility to use [[sparse files]] by declaring a large file size but only allocating blocks that are actually used.<ref name="cpm_pg">{{cite book|title=CP/M Plus Operating System Programmer's Guide|year=1983|publisher=Digital Research, Inc.|location=Monterey, CA|edition=Second|page=2-12,3-16}}</ref> A detriment of this method is the disk may have free space (unallocated blocks) but data cannot be appended to a file because all directory entries are used.<ref name="cpm_pg" />