Notes

Storage Methods

  • Contiguous allocations, this system means the file size must have a fixed maximum.

  • File allocation table, software which manages storing data. The file system uses an index table stored on the device to identify chains of data storage areas associated with a file.

  • Linked list allocation, each block on the table can point to the next block within the file. The most well known example of linked list allocation is ms dos. A special marker signals the end of the file. A missing pointer however would break the entire file.

  • Segment based allocation, a file header is used to point towards the start of a block, which is paired with an end block. It does use contiguous allocation.

  • Indexed allocation, the maximum file size is set by the user, then the system allocates a file header big enough to point to all 5 five file blocks. This method requires a file manager to ensure disk blocks are grouped together for better performance.

  • Multilevel indexed allocation, the file header has 15 index pointers. The first 12 index pointers direct to normal data blocks. The 13th however points to one indirect block which has 1,024 more pointers. The 14th pointer directs to a double indirect header. That then has 1,024 pointers to a single indirect block. The 15th pointer directs to a triple indirect block which directs to 1,024 double indirect blocks. This allows for small files to use the first 12 blocks, and bigger files can grow to whatever number of blocks needed. The drawback is multi disk access and a limit to the file size that can use this system.

  • Inverted allocation, it works by allocating a disk block by hashing the file block data to a disk block location. This allows different file blocks to use the same disk block location.

Last updated