12.1 File System Structure
- What is the general objective of the file system?
- What is the benefit in designing the functionality of a file system as a collection of layers?
12.2 File System Implementation
- Describe the purpose of the file control block (FCB) and the information it contains.
- What file system operations create, modify, and destroy an FCB?
- An operating system may use a system-wide open-file table and an open-file table for each process. Compare the objectives of each of these types of tables and their contents. How do these types of tables support the process model and concurrent access to files?
- Study Figure 12.3 to determine: what information needs to be stored in RAM, what information needs to saved to secondary storage, and information needs to be in both places.
- Give examples of when a virtual file system is useful.
12.3 Directory Implementation
- Compare the two options of implementation of directories and identify their advantages and disadvantages: linked-list and hash table.
12.4 Allocation Methods
- We understand that files comprise various blocks of secondary storage. Can you explain what motivates the creation of blocks on secondary storage?
- Compare the following allocation methods, highlighting their relative advantages and disadvantages: contiguous allocation, linked allocation, indexed allocation, and multilevel indexed allocation.
- How do these allocation methods compare to those for main memory allocation, which we studied earlier?
12.5 Free Space Management
- Compare the following methods for keeping track of the free space in secondary storage, highlighting their relative advantages and disadvantages: bit-vector, linked list, grouping, and counting work.