GRADED A+
✔✔Link which holds the reference (inode, etc) of the file. Can only occur within the
same file system. Can be used on directories (depending on OS) - ✔✔Hard link
✔✔Link which holds the path of the file. Can span file systems. Can be used on
directories - ✔✔Soft link
✔✔Dangers of hard links? Soft links? - ✔✔Circular link; Link rot
✔✔What is a circular link? - ✔✔A parent dir and child dir hold a hard link to each other
✔✔What is link rot? - ✔✔A file is deleted, but a soft link still exists
✔✔How is file deletion prevented when a file is open? - ✔✔It's link count is incremented
✔✔A _______ is a special file type that holds FCB of other files. It is marked as such by
its own FCB - ✔✔Directory
✔✔2 types of directory implementations - ✔✔Inline and reference
✔✔Directory implementation in which each file has a block for its attributes which is
directly followed by its data (F1, F2, F3, etc.) - ✔✔Inline approach
✔✔Directory implementation in which each file has a block for its attributes and a
pointer to its data (F1*, F2*, F3*, etc.). There can be a fixed length for a directory -
✔✔Reference approach
✔✔How are file paths resolved? - ✔✔Recursive lookup (think ab a tree)
✔✔What tells us the file system type, format, and organization? - ✔✔Super block
✔✔Where are the boot block and super block located? - ✔✔On disk partition
✔✔_______ a file system makes it accessible to programs through the OS -
✔✔Mounting
✔✔Can you mount different file systems on top of one another? - ✔✔Yes
✔✔File allocation scheme in which a file's contents are stored purely in order on the
drive. Good for embedded hardware and read-only FS (CD/DVDs) - ✔✔Contiguous
allocation
, ✔✔What type of fragmentation does contiguous allocation for file systems suffer from? -
✔✔External
✔✔File allocation scheme in which each block holds a pointer to the next. Random
access requires iterating through blocks until the file is found. However, you can
allocate/deallocate at will - ✔✔Linked list allocation
✔✔File allocation scheme in which the linked lists are stored as a table in memory to
minimize disk access. It's super fast because you only need to go to disk to read data
blocks. Examples are USB and SSD cards - ✔✔Chained table allocation (FAT)
✔✔File allocation scheme in which locations of each block are stored in an index node
(inode). A pure index system limits file size - ✔✔Indexed allocation
✔✔Formula for max file size - ✔✔(# blocks) * (block size) = (block size / pointer bytes) *
(block size)
✔✔File allocation scheme which indexes the index block, using direct/indirect blocks. It
increases max file size, but each level added increases access time - ✔✔Multi-level
indexed allocation
✔✔File allocation scheme which uses direct blocks with an additional single indirect
pointer. The number of blocks is reduced by one to make room for the next pointer. Has
a potentially unlimited file size - ✔✔Chained indexed allocation
✔✔What file allocation schemes require visiting every block in the file up to block n in
order to find that block? - ✔✔Linked list and FAT
✔✔Larger block size ______ data rate on a spinning disk - ✔✔Increases
✔✔Larger block size ______ external fragmentation - ✔✔has no effect (it's internal
fragmentation)
✔✔Larger block size _______ max file size - ✔✔increases
✔✔Larger block size _____ storage utilization rate - ✔✔Decreases (bc of internal
fragmentation)
✔✔Larger block size _______ on FS consistency rate - ✔✔has no effect