Chapter 11 File System Implementation Operating System Concepts

  • Slides: 22
Download presentation
Chapter 11: File System Implementation Operating System Concepts – 8 th Edition, Silberschatz, Galvin

Chapter 11: File System Implementation Operating System Concepts – 8 th Edition, Silberschatz, Galvin and Gagne © 2009

Chapter 11: File System Implementation n File-System Structure n File-System Implementation n Directory Implementation

Chapter 11: File System Implementation n File-System Structure n File-System Implementation n Directory Implementation n Allocation Methods n Free-Space Management n Efficiency and Performance n Recovery n NFS n Example: WAFL File System Operating System Concepts – 8 th Edition 11. 2 Silberschatz, Galvin and Gagne © 2009

Objectives n To describe the details of implementing local file systems and directory structures

Objectives n To describe the details of implementing local file systems and directory structures n To describe the implementation of remote file systems n To discuss block allocation and free-block algorithms and trade-offs Operating System Concepts – 8 th Edition 11. 3 Silberschatz, Galvin and Gagne © 2009

Layered File System Operating System Concepts – 8 th Edition 11. 4 Silberschatz, Galvin

Layered File System Operating System Concepts – 8 th Edition 11. 4 Silberschatz, Galvin and Gagne © 2009

File-System Implementation n Boot control block contains info needed by system to boot OS

File-System Implementation n Boot control block contains info needed by system to boot OS from that volume n Volume control block contains volume details n Directory structure organizes the files n Per-file File Control Block (FCB) contains many details about the file Operating System Concepts – 8 th Edition 11. 5 Silberschatz, Galvin and Gagne © 2009

A Typical File Control Block Operating System Concepts – 8 th Edition 11. 6

A Typical File Control Block Operating System Concepts – 8 th Edition 11. 6 Silberschatz, Galvin and Gagne © 2009

In-Memory File System Structures Operating System Concepts – 8 th Edition 11. 7 Silberschatz,

In-Memory File System Structures Operating System Concepts – 8 th Edition 11. 7 Silberschatz, Galvin and Gagne © 2009

Virtual File Systems n Virtual File Systems (VFS) provide an object-oriented way of implementing

Virtual File Systems n Virtual File Systems (VFS) provide an object-oriented way of implementing file systems. n VFS allows the same system call interface (the API) to be used for different types of file systems. n The API is to the VFS interface, rather than any specific type of file system. Operating System Concepts – 8 th Edition 11. 8 Silberschatz, Galvin and Gagne © 2009

Schematic View of Virtual File System Operating System Concepts – 8 th Edition 11.

Schematic View of Virtual File System Operating System Concepts – 8 th Edition 11. 9 Silberschatz, Galvin and Gagne © 2009

Directory Implementation n Linear list of file names with pointer to the data blocks.

Directory Implementation n Linear list of file names with pointer to the data blocks. l simple to program l time-consuming to execute n Hash Table – linear list with hash data structure. l decreases directory search time l collisions – situations where two file names hash to the same location l fixed size Operating System Concepts – 8 th Edition 11. 10 Silberschatz, Galvin and Gagne © 2009

Allocation Methods n An allocation method refers to how disk blocks are allocated for

Allocation Methods n An allocation method refers to how disk blocks are allocated for files: n Contiguous allocation n Linked allocation n Indexed allocation Operating System Concepts – 8 th Edition 11. 11 Silberschatz, Galvin and Gagne © 2009

Contiguous Allocation of Disk Space Operating System Concepts – 8 th Edition 11. 12

Contiguous Allocation of Disk Space Operating System Concepts – 8 th Edition 11. 12 Silberschatz, Galvin and Gagne © 2009

Linked Allocation n Each file is a linked list of disk blocks: blocks may

Linked Allocation n Each file is a linked list of disk blocks: blocks may be scattered anywhere on the disk. block Operating System Concepts – 8 th Edition = pointer 11. 13 Silberschatz, Galvin and Gagne © 2009

Linked Allocation Operating System Concepts – 8 th Edition 11. 14 Silberschatz, Galvin and

Linked Allocation Operating System Concepts – 8 th Edition 11. 14 Silberschatz, Galvin and Gagne © 2009

Linked Allocation (Cont. ) n Simple – need only starting address n Free-space management

Linked Allocation (Cont. ) n Simple – need only starting address n Free-space management system – no waste of space n No random access File-allocation table (FAT) – disk-space allocation used by MS-DOS and OS/2. Operating System Concepts – 8 th Edition 11. 15 Silberschatz, Galvin and Gagne © 2009

File-Allocation Table Operating System Concepts – 8 th Edition 11. 16 Silberschatz, Galvin and

File-Allocation Table Operating System Concepts – 8 th Edition 11. 16 Silberschatz, Galvin and Gagne © 2009

Indexed Allocation n Brings all pointers together into the index block n Logical view

Indexed Allocation n Brings all pointers together into the index block n Logical view index table Operating System Concepts – 8 th Edition 11. 17 Silberschatz, Galvin and Gagne © 2009

Example of Indexed Allocation Operating System Concepts – 8 th Edition 11. 18 Silberschatz,

Example of Indexed Allocation Operating System Concepts – 8 th Edition 11. 18 Silberschatz, Galvin and Gagne © 2009

Indexed Allocation (Cont. ) n Need index table n Random access n Dynamic access

Indexed Allocation (Cont. ) n Need index table n Random access n Dynamic access without external fragmentation, but have overhead of index block Operating System Concepts – 8 th Edition 11. 19 Silberschatz, Galvin and Gagne © 2009

Free-Space Management n Bit vector (n blocks) 0 1 2 n-1 ��� … bit[i]

Free-Space Management n Bit vector (n blocks) 0 1 2 n-1 ��� … bit[i] = 0 block[i] free 1 block[i] occupied Block number calculation (number of bits per word) * (number of 0 -value words) + offset of first 1 bit Operating System Concepts – 8 th Edition 11. 20 Silberschatz, Galvin and Gagne © 2009

Free-Space Management (Cont. ) n Bit map requires extra space l Example: block size

Free-Space Management (Cont. ) n Bit map requires extra space l Example: block size = 212 bytes disk size = 230 bytes (1 gigabyte) n = 230/212 = 218 bits (or 32 K bytes) n Easy to get contiguous files n Linked list (free list) l Cannot get contiguous space easily l No waste of space Operating System Concepts – 8 th Edition 11. 21 Silberschatz, Galvin and Gagne © 2009

Linked Free Space List on Disk Operating System Concepts – 8 th Edition 11.

Linked Free Space List on Disk Operating System Concepts – 8 th Edition 11. 22 Silberschatz, Galvin and Gagne © 2009