Chapter 11: File System Implementation

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

description

Chapter 11: File System Implementation. 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. Objectives. - PowerPoint PPT Presentation

Transcript of Chapter 11: File System Implementation

Page 1: Chapter 11:  File System Implementation

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

Chapter 11: File System Implementation

Page 2: Chapter 11:  File System Implementation

11.2 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th 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

Page 3: Chapter 11:  File System Implementation

11.3 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th 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

Page 4: Chapter 11:  File System Implementation

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

Layered File System

Page 5: Chapter 11:  File System Implementation

11.5 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th 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

Page 6: Chapter 11:  File System Implementation

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

A Typical File Control Block

Page 7: Chapter 11:  File System Implementation

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

In-Memory File System Structures

Page 8: Chapter 11:  File System Implementation

11.8 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th 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.

Page 9: Chapter 11:  File System Implementation

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

Schematic View of Virtual File System

Page 10: Chapter 11:  File System Implementation

11.10 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th 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

Page 11: Chapter 11:  File System Implementation

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

Allocation Methods

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

Contiguous allocation

Linked allocation

Indexed allocation

Page 12: Chapter 11:  File System Implementation

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

Contiguous Allocation of Disk Space

Page 13: Chapter 11:  File System Implementation

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

Linked Allocation

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

pointerblock =

Page 14: Chapter 11:  File System Implementation

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

Linked Allocation

Page 15: Chapter 11:  File System Implementation

11.15 Silberschatz, Galvin and Gagne ©2009Operating System Concepts – 8th 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.

Page 16: Chapter 11:  File System Implementation

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

File-Allocation Table

Page 17: Chapter 11:  File System Implementation

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

Indexed Allocation

Brings all pointers together into the index block

Logical view

index table

Page 18: Chapter 11:  File System Implementation

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

Example of Indexed Allocation

Page 19: Chapter 11:  File System Implementation

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

Indexed Allocation (Cont.)

Need index table Random access Dynamic access without external fragmentation, but have overhead

of index block

Page 20: Chapter 11:  File System Implementation

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

Free-Space Management

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

Page 21: Chapter 11:  File System Implementation

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

Free-Space Management (Cont.)

Bit map requires extra space

Example:

block size = 212 bytes

disk size = 230 bytes (1 gigabyte)

n = 230/212 = 218 bits (or 32K bytes)

Easy to get contiguous files

Linked list (free list)

Cannot get contiguous space easily

No waste of space

Page 22: Chapter 11:  File System Implementation

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

Linked Free Space List on Disk