Download presentation
Presentation is loading. Please wait.
1
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 11: File System Implementation
2
11.2 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 11: File System Implementation File-System Structure File-System Implementation Directory Implementation Allocation Methods Free-Space Management Efficiency and Performance Recovery NFS Example: WAFL File System
3
11.3 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Objectives To describe the details of implementing local file systems and directory structures To describe the implementation of remote file systems To discuss block allocation and free-block algorithms and trade-offs
4
11.4 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Layered File System
5
11.5 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition File-System Implementation Boot control block contains info needed by system to boot OS from that volume Volume control block contains volume details Directory structure organizes the files Per-file File Control Block (FCB) contains many details about the file
6
11.6 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition A Typical File Control Block
7
11.7 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition In-Memory File System Structures
8
11.8 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Virtual File Systems Virtual File Systems (VFS) provide an object-oriented way of implementing file systems. VFS allows the same system call interface (the API) to be used for different types of file systems. The API is to the VFS interface, rather than any specific type of file system.
9
11.9 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Schematic View of Virtual File System
10
11.10 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Directory Implementation Linear list of file names with pointer to the data blocks. simple to program time-consuming to execute Hash Table – linear list with hash data structure. decreases directory search time collisions – situations where two file names hash to the same location fixed size
11
11.11 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Allocation Methods An allocation method refers to how disk blocks are allocated for files: Contiguous allocation Linked allocation Indexed allocation
12
11.12 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Contiguous Allocation of Disk Space
13
11.13 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Linked Allocation Each file is a linked list of disk blocks: blocks may be scattered anywhere on the disk. pointer block =
14
11.14 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Linked Allocation
15
11.15 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Linked Allocation (Cont.) Simple – need only starting address Free-space management system – no waste of space No random access File-allocation table (FAT) – disk-space allocation used by MS-DOS and OS/2.
16
11.16 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition File-Allocation Table
17
11.17 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Indexed Allocation Brings all pointers together into the index block Logical view index table
18
11.18 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Example of Indexed Allocation
19
11.19 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Indexed Allocation (Cont.) Need index table Random access Dynamic access without external fragmentation, but have overhead of index block
20
11.20 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Free-Space Management Bit vector (n blocks) … 012n-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
21
11.21 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Free-Space Management (Cont.) Bit map requires extra space Example: block size = 2 12 bytes disk size = 2 30 bytes (1 gigabyte) n = 2 30 /2 12 = 2 18 bits (or 32K bytes) Easy to get contiguous files Linked list (free list) Cannot get contiguous space easily No waste of space
22
11.22 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Linked Free Space List on Disk
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.