File System Implementation

  • File-System Structure
  • File-System Operations
  • Directory Implementation
  • Allocation Methods
  • Free-Space Management
  • Efficiency and Performance
  1. 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.
  1. What are two categories of structures used in file system implementation?
  • On-disk (on-storage) structures
  • In-memory structures
  1. What is File Control Block or inode?
  • Each file has a File Control Block or inode
  1. 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

  1. 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)
  1. What are main methods used to manage free space on disk?
  • Bit Map
  • Linked List
  • Grouping
  • Counting