------------------------------------------------------------------------------
MC logo
File System Structure
[^] CSc 422
------------------------------------------------------------------------------
[Chapter 1][Chapter 2][Chapter 3][Chapter 4]
[File System Abstraction] [File System Structure] [File System Consistency] [File System Management and Optimization] [Flash Storage] [Examples] [Windows NTFS]
  1. Disk layout
    1. MBR, including partition table.
    2. Partitions, each containing a file system.
      1. Traditional: Master Boot Record (MBR) layout. (AKA DOS layout.)
        1. Fixed-size partition table.
        2. Extended partitions allow more.
      2. Newer: GUID Partion Table (GPT) layout.
        1. Many partitions (table not fixed size).
        2. Partition types given by GUIDs, which are large identifiers.
    3. Text figure illustrates layout of a Unix fs, but layout in a partition will depend on OS.
  2. There are many different file system designs.
    1. Usually associated with a particular O/S.
    2. Or with media type.
    3. Most OSes must support more than one type of FS.
    4. File systems are generally part of the OS, but some may be supported in user space.
  3. File layout.
    1. Efficiency of operations:
      1. Sequential reading.
      2. Random-access reading.
      3. File growth.
    2. Basic approaches.
      1. Contiguous.
      2. Linked.
        1. Simple linked files.
        2. FAT.
      3. Indexed (i-nodes).
        1. Basic indexes.
        2. Index with blocks.
      4. Real systems make variations and combinations of these.
  4. Directory layout.
    1. A directory is just a list of files, given by location on disk.
    2. File name may be recorded in the directory entry, or the file. Other meta-data likewise.
    3. Directory may be a list of fixed-size entries.
      1. Easy to maintain.
      2. Tends to create a short limit on file names.
    4. Directory may be a list variable-size entries.
      1. Same sort of problems as variable partitions.
      2. More flexible
    5. May combine fixed records with a head area for file names.
    6. In practice, don't seem to use fancy search-able structures.
  5. Multiple directory entries
    1. Hard linking.
      1. Some FSs allow a file to have multiple directory entries (Unix).
      2. Some do not (Windows).
      3. Allows a file to have multiple names. (At least different full path names.)
        1. Soft linking.
          1. Some systems allow a special file which name another.
          2. Allows a file to have multiple names with only one directory entry.
      4. Text mentions log-structured file systems.
      5. Text mentions virtual file systems.