Indexed allocation is a modification of linked allocation where the disk block pointers for a file are placed in an index block. The index block has one entry for each portion allocated to the file, and the file allocation table entry for a file points to its index block, allowing for no external fragmentation, efficient random access, and easy mapping of bad disk blocks.