In free space management, a bitmap is used to track free and used blocks on a disk. If a disk has 1024 blocks and the bitmap shows 1000001110 (from left to right) for the first 10 blocks, which blocks are free?
Remember, in a bitmap, 0 usually means free and 1 means used.
The bitmap 1000001110 means block 0 is used (1), block 1 is free (0), block 2 is free (0), block 3 is free (0), block 4 is free (0), block 5 is free (0), block 6 is used (1), block 7 is used (1), block 8 is used (1), block 9 is free (0). So free blocks are 1, 2, 3, 4, 5, 9. Among the options, only A correctly identifies free blocks 2, 3, 4, and 9. All blocks listed in A are free, whereas other options include used blocks.
Which of the following is a disadvantage of using a linked list to manage free disk space?
Think about what extra information must be stored in a linked list node.
A linked list requires storing pointers (addresses) along with each free block to link to the next free block. This extra space overhead is a disadvantage. It does not provide constant time access (A is false), it is simple to implement (C is true, so not a disadvantage), and it does not inherently avoid external fragmentation (D is false).
Consider three free space management methods: bit vector, linked list, and grouping. Which method is most efficient in terms of speed when allocating a large number of contiguous blocks?
Think about how each method tracks free blocks and how easy it is to find contiguous free space.
Bit vectors allow scanning bits to find contiguous free blocks quickly. Linked lists store individual free blocks and may require traversing many nodes. Grouping reduces overhead but still requires searching groups. Thus, bit vectors are fastest for large contiguous allocations.
Which free space management method is most affected by external fragmentation, and why?
Consider how each method handles scattered free blocks.
Linked lists store free blocks individually, so free space can become scattered and fragmented, making it harder to allocate large contiguous blocks. Bit vectors and grouping can better represent free space patterns. Therefore, linked lists are most affected by external fragmentation.
A system administrator must choose a free space management method for a very large disk with millions of blocks. Which method is best suited to minimize memory usage while maintaining reasonable allocation speed?
Think about trade-offs between memory usage and speed for very large disks.
Linked lists use minimal memory but can be slow for allocation. Bit vectors use memory proportional to disk size, which is large for millions of blocks. Grouping reduces pointer overhead by storing free blocks in groups, balancing memory use and speed. Contiguous allocation is a file allocation method, not a free space management method.