0% found this document useful (0 votes)
9 views13 pages

Lecture10 ch11

Chapter 11 of 'Operating System Concepts' discusses file system implementation, covering topics such as file structure, directory implementation, allocation methods, and free-space management. It details various allocation strategies including contiguous, linked, and indexed allocation, along with their advantages and disadvantages. The chapter also introduces concepts like Virtual File Systems (VFS) and log-structured file systems.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views13 pages

Lecture10 ch11

Chapter 11 of 'Operating System Concepts' discusses file system implementation, covering topics such as file structure, directory implementation, allocation methods, and free-space management. It details various allocation strategies including contiguous, linked, and indexed allocation, along with their advantages and disadvantages. The chapter also introduces concepts like Virtual File Systems (VFS) and log-structured file systems.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 13

Chapter 11: File System

Implementation

Operating System Concepts – 8th Edition, Silberschatz, Galvin and Gagne ©2009

Chapter 11: File System Implementation

 File-System Structure
 File-System Implementation
 Directory Implementation
 Allocation Methods
 Free-Space Management
 Efficiency and Performance
 Recovery
 Log-Structured File Systems
 NFS
 Example: WAFL File System

(slides selected/reordered/fixed by R. Doemer, 02/17/09)


Operating System Concepts – 8th Edition 11.2 Silberschatz, Galvin and Gagne ©2009

1
File-System Structure
 File structure
 Logical storage unit
 Collection of related information
 File system resides on secondary storage (disks)
 File system organized into layers
 File control block – storage structure consisting of information about a file

Operating System Concepts – 8th Edition 11.3 Silberschatz, Galvin and Gagne ©2009

Layered File System

Operating System Concepts – 8th Edition 11.4 Silberschatz, Galvin and Gagne ©2009

2
A Typical File Control Block

Operating System Concepts – 8th Edition 11.5 Silberschatz, Galvin and Gagne ©2009

In-Memory File System Structures


 The following figure illustrates the necessary file system structures
provided by the operating system.

(a) Opening a file.

(a) Reading a file.


(slides combined/fixed by R. Doemer, 02/17/09)
Operating System Concepts – 8th Edition 11.6 Silberschatz, Galvin and Gagne ©2009

3
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.

Operating System Concepts – 8th Edition 11.7 Silberschatz, Galvin and Gagne ©2009

Schematic View of Virtual File System

Operating System Concepts – 8th Edition 11.8 Silberschatz, Galvin and Gagne ©2009

4
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

Operating System Concepts – 8th Edition 11.9 Silberschatz, Galvin and Gagne ©2009

Allocation Methods
 An allocation method refers to how disk blocks are allocated for files:

 Contiguous allocation

 Linked allocation

 Indexed allocation

Operating System Concepts – 8th Edition 11.10 Silberschatz, Galvin and Gagne ©2009

5
Contiguous Allocation
 Each file occupies a set of contiguous blocks on the disk

 Simple – only starting location (block #) and length (number of


blocks) are required

 Random access

 Wasteful of space (dynamic storage-allocation problem)

 Files cannot grow

Operating System Concepts – 8th Edition 11.11 Silberschatz, Galvin and Gagne ©2009

Contiguous Allocation of Disk Space

Operating System Concepts – 8th Edition 11.12 Silberschatz, Galvin and Gagne ©2009

6
Contiguous Allocation
 Mapping from logical to physical block number

Q (quotient)

LA/512

R (remainder)

Block to be accessed = Q + starting address


Displacement into block = R

(slide fixed by R. Doemer, 02/17/09)


Operating System Concepts – 8th Edition 11.13 Silberschatz, Galvin and Gagne ©2009

Extent-Based Systems
 Many newer file systems (I.e. Veritas File System) use a modified
contiguous allocation scheme

 Extent-based file systems allocate disk blocks in extents

 An extent is a contiguous block of disks


 Extents are allocated for file allocation
 A file consists of one or more extents.

Operating System Concepts – 8th Edition 11.14 Silberschatz, Galvin and Gagne ©2009

7
Linked Allocation
 Each file is a linked list of disk blocks:
blocks may be scattered anywhere on the disk.

block = pointer

data

(slide fixed by R. Doemer, 02/17/09)


Operating System Concepts – 8th Edition 11.15 Silberschatz, Galvin and Gagne ©2009

Linked Allocation

10

16 25

(slide fixed by R. Doemer, 02/17/09)


Operating System Concepts – 8th Edition 11.16 Silberschatz, Galvin and Gagne ©2009

8
Linked Allocation (Cont.)
 Simple – need only starting address
 Free-space management system – no waste of space
 No random access
 Mapping

Q
LA/511
R

Block to be accessed is the Qth block in the linked chain of


blocks representing the file.
Displacement into block = R + 1

(slide fixed by R. Doemer, 02/17/09)


Operating System Concepts – 8th Edition 11.17 Silberschatz, Galvin and Gagne ©2009

File-Allocation Table
File-allocation table (FAT) –
disk-space allocation used by MS-DOS and OS/2.

(slide fixed by R. Doemer, 02/17/09)


Operating System Concepts – 8th Edition 11.18 Silberschatz, Galvin and Gagne ©2009

9
Indexed Allocation
 Brings all pointers together into the index block.
 Logical view.

index table

Operating System Concepts – 8th Edition 11.19 Silberschatz, Galvin and Gagne ©2009

Example of Indexed Allocation

Operating System Concepts – 8th Edition 11.20 Silberschatz, Galvin and Gagne ©2009

10
Indexed Allocation (Cont.)
 Need index table
 Random access
 Dynamic access without external fragmentation, but have overhead
of index block.
 Mapping from logical to physical in a file of maximum size of 256K
words and block size of 512 words. We need only 1 block for index
table.

Q
LA/512
R

Q = displacement into index table


R = displacement into block

Operating System Concepts – 8th Edition 11.21 Silberschatz, Galvin and Gagne ©2009

Indexed Allocation – Mapping (Cont.)


 Mapping from logical to physical in a file of unbounded length
(block size of 512 words).
 Linked scheme – Link blocks of index table (no limit on size).

Q1
LA / (512 x 511)
R1
Q1 = block of index table
R1 is used as follows:
Q2
R1 / 512
R2

Q2 = displacement into block of index table


R2 displacement into block of file:

Operating System Concepts – 8th Edition 11.22 Silberschatz, Galvin and Gagne ©2009

11
Indexed Allocation – Mapping (Cont.)
 Two-level index (maximum file size is 5123)

Q1
LA / (512 x 512)
R1

Q1 = displacement into outer-index


R1 is used as follows:
Q2
R1 / 512
R2

Q2 = displacement into block of index table


R2 displacement into block of file:

Operating System Concepts – 8th Edition 11.23 Silberschatz, Galvin and Gagne ©2009

Indexed Allocation – Mapping (Cont.)

outer-index

index table file

Operating System Concepts – 8th Edition 11.24 Silberschatz, Galvin and Gagne ©2009

12
Combined Scheme: UNIX (4K bytes per block)

Operating System Concepts – 8th Edition 11.25 Silberschatz, Galvin and Gagne ©2009

13

You might also like