File System Implementation
- File-System Structure
- File-System Operations
- Directory Implementation
- Allocation Methods
- Free-Space Management
- Efficiency and Performance
- Why a file system is organized in layers?
- Minimize the duplication of code
- File system organized into layers
- Each layer in the design uses the features of lower layers to create new features.
- What are two categories of structures used in file system implementation?
- On-disk (on-storage) structures
- In-memory structures
- What is File Control Block or inode?
- Each file has a File Control Block or inode
- What open file tables are there in an operating system? What are they used for?
Search the directory structure on disk for the file and copy the content of entry (metadata) to system-wide open file table if the file is opened for the first time
Update the per-process open-file table by adding a pointer to system-wide open file table
- What methods are used to allocate disk blocks to files?
- Contiguous allocation(not common now)
- Linked allocation (e.g. FAT32 in Windows)
- Indexed allocation (e.g. ex3 in Unix)
- What are main methods used to manage free space on disk?
- Bit Map
- Linked List
- Grouping
- Counting