The Unix File System (UFS) uses an inode structure to manage file allocations efficiently across varying file sizes.
For small files, the inode contains direct pointers that reference data blocks directly on the disk to optimize access speeds.
To handle very large files that exceed the storage capacity of these basic direct pointers, Unix implements a multi-level scheme consisting of single, double, and triple indirect pointers.
This multi-level indirect scheme functions as an extension of the basic indexed allocation method, dynamically increasing the number of addressable data blocks as the file grows.