Block availability map
In computer file systems, a block availability map (BAM)[1][2][3][4][5] is a data structure used to track disk blocks that are considered free (available for new data). It is used along with a directory to manage files on a disk (originally only a floppy disk, and later also a hard disk).
In terms of Commodore DOS (CBM DOS) compatible disk drives, the BAM was a data structure stored in a reserved area of the disk (its size and location varied based on the physical characteristics of the disk). For each track, the BAM consisted of a bitmap of available blocks and (usually) a count of the available blocks. The count was held in a single byte, as all formats had 256 or fewer blocks per track. The count byte was simply the sum of all 1-bits in the bitmap of bytes for the current track.
The following table illustrates the layout of Commodore 1541 BAM. The table would be larger for higher-capacity disks (described below).
| Total byte | Bitmap byte 1 | Bitmap byte 2 | Bitmap byte 3 | |
|---|---|---|---|---|
| Track 1 | blocks available | Blocks 0–7 | Blocks 8–15 | Blocks 16–23 |
| Track 2 | blocks available | Blocks 0–7 | Blocks 8–15 | Blocks 16–23 |
| ... | ... | ... | ... | ... |
| Track 35 | blocks available | Blocks 0–7 | Blocks 8–15 | Blocks 16–23 |
The bitmap was contained in 3 bytes for Commodore 1541 format (single-sided) disks because it had 17 to 20 sectors per track (note 3 bytes can hold at least 20 bits).[6] Similarly, the Commodore 1571 used 3 bytes for the bitmap of each track, but the BAM was twice the size because there were twice as many tracks when formatted as double-sided.[7] In contrast, the Commodore 1581 disk drive used 5 bytes for the bitmap because the disk format had 40 blocks per track (note 5 bytes can hold 40 bits).[8]
In the bitmap of any format, a 1 bit indicated the block was available (free), while a 0 bit indicated the block was not available (used), and the bitmap data was stored low-byte first. So the first byte held a map for blocks 0 to 7, the second byte held a map for blocks 8 to 15, and so on. Within a byte, the bitmap was ordered low-bit first. For example, the first byte would represent block 0 with the least significant bit and block 7 with the most significant bit.
Storage devices by Creative Micro Designs, intended for use with CBM computers, also used a Block Availability Map which served the same purpose. However, these devices (FD-2000, FD-4000, and CMD-HD) did not include a count byte, and the bits in each byte were reversed (high-bit first). Although the bits were reversed (compared to CBM formats), the bytes were still stored in the same order (low-byte first).[9]
| Bitmap byte 1 | Bitmap byte 2 | ... | Bitmap byte 32 | |
|---|---|---|---|---|
| Track 1 | Blocks 0–7 | Blocks 8–15 | ... | Blocks 248–255 |
| Track 2 | Blocks 0–7 | Blocks 8–15 | ... | Blocks 248–255 |
| ... | ... | ... | ... | ... |
See also
References
- ^ Englisch, Lothar (1984). The Anatomy of the 1541 Disk Drive. Grand Rapids, MI: Abacus Software. p. 89. ISBN 0-916439-01-1.
- ^ 1541 User's Guide. Commodore Business Machines. 1982. p. 9.
- ^ 1571 User's Guide. Commodore Business Machines. 1985. p. 23.
- ^ 1581 User's Guide. Commodore Business Machines. 1987. p. 34.
- ^ FD Series User's Manual. Creative Micro Designs. 1992. p. 108.
- ^ 1541 User's Guide. Commodore Business Machines. 1982. p. 65.
- ^ 1571 User's Guide. Commodore Business Machines. 1985. pp. 108–109.
- ^ 1581 User's Guide. Commodore Business Machines. 1987. pp. 119–120.
- ^ FD Series User's Manual. Creative Micro Designs. 1992. pp. 112–114.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.