File systems and disk management
This presentation is the property of its rightful owner.
Sponsored Links
1 / 26

File Systems and Disk Management PowerPoint PPT Presentation


  • 165 Views
  • Uploaded on
  • Presentation posted in: General

File Systems and Disk Management. File system. Interface between applications and the mass storage/devices Provide abstraction for the mass storage and IO devices. File System abstraction. File System Components. Disk management organizes disk blocks into files

Download Presentation

File Systems and Disk Management

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


File systems and disk management

File Systems and Disk Management


File system

File system

  • Interface between applications and the mass storage/devices

  • Provide abstraction for the mass storage and IO devices


File system abstraction

File System abstraction


File system components

File System Components

  • Disk management organizes disk blocks into files

  • Naming provides file names and directories to users, instead of tracks and sector numbers.

  • Protection keeps information secure from other users

  • Reliability protects information loss due to system crashes


User vs system view of a file

User vs. System View of a File

  • User level: individual files

  • System call level: collection of bytes

  • Operating system level:

    • A block is a logical transfer unit

      • Even for getc() and putc()

      • 4 Kbytes under UNIX

    • A sector is a physical transfer unit

      • 512-byte sectors on disks

      • The block size is a multiple of the sector size


User vs system view of a file1

User vs. System View of a File

  • A process

    • Read bytes 2 to 12

  • OS

    • Fetch the block containing those bytes

    • Return those bytes to the process


User vs system view of a file2

User vs. System View of a File

  • A process

    • Write bytes 2 to 12

  • OS

    • Fetch the block containing those bytes

    • Modify those bytes

    • Write out the block


Ways to access files

Ways to Access Files

  • People use file systems

  • Design of file systems involves understanding how people use file systems

    • Sequential access—bytes are accessed in order

    • Random access (direct access)—bytes are accessed in any order

    • Content-based access—bytes are accessed according to constraints on contents

      • e.g., return 100 bytes starting with “aye carumba”


File usage patterns

File Usage Patterns

  • Most files are small, and most references are to small files

    • e.g., .login and .c files

  • Large files use up most of the disk space

    • e.g., mp3 files

  • Large files account for most of the bytes transferred between memory and disk

  • Bad news for file system designers


File system design constraints

File System Design Constraints

  • High performance

    • Efficient access of small files

      • Many small files

      • Used frequently

    • Efficient access of large files

      • Consume most disk space

      • Account for most of the data movement


Some definitions

data block location

data block location

name

Some Definitions

  • A file contains a file header, which associates the file with its disk sectors

File header


Some definitions1

Some Definitions

  • A file system needs a disk allocation bitmap to represent free space on the disk, one bit per block


Disk allocation policies

Disk Allocation Policies

  • Contiguous allocation

  • Link-list allocation

  • Segment-based allocation

  • Indexed allocation

  • Multi-level indexed allocation

  • Hashed allocation


Contiguous allocation

data block location

data block location

number of blocks

Contiguous Allocation

  • File blocks are stored contiguously on disk

  • To allocate a file,

    • Specify the file size

    • Search the disk allocation bitmap for consecutive free blocks

File header


Pros and cons of contiguous allocation

Pros and Cons of Contiguous Allocation

+ Fast sequential access

+ Ease of computing random file locations

  • Adding an offset to the first disk block location

    - External fragmentation

    - Difficulty in growing files


Linked list allocation

data block location

next block entry

data block location

next block entry

Linked-List Allocation

  • Each file block on a disk is associated with a pointer to the next block

    • A special marker to indicate the end of the file

  • e.g., MS-DOS file system

    • File attribute table (FAT)

File header


Pros and cons of linked list allocation

Pros and Cons of Linked-List Allocation

+ Files can grow dynamically with incremental allocation of blocks

- Sequential access may suffer

  • Blocks may not be contiguous

    - Horrible random accesses

  • May involve multiple sequential searches

    - Unreliable

  • A corrupted pointer can lead to loss of the remaining file


Indexed allocation

data block location

data block location

data block location

data block location

Indexed Allocation

  • Uses a preallocated index to directly track the file block locations

File header


Pros and cons of indexed allocation

Pros and Cons of Indexed Allocation

+ Fast lookups and random accesses

- File blocks may be scattered all over the disk

  • Poor sequential access

  • Needs defragmenter

    - Needs to reallocate index as the file size increases


Segment based allocation

begin, end blocks

begin, end blocks

begin, end blocks

begin, end blocks

Segment-Based Allocation

  • Needs a segment table to allocate multiple, contiguous regions of blocks

File header


Pros and cons of segment based allocation

Pros and Cons of Segment-Based Allocation

+ Relax the requirements for large contiguous disk regions

- Random accesses not as fast as pure contiguous allocation


Multilevel indexed allocation

index block location

index block location

data block location

index block location

index block location

index block location

index block location

data block location

data block location

data block location

data block location

data block location

data block location

data block location

12

Multilevel Indexed Allocation

  • Certain index entries point to index blocks, as opposed to data blocks (e.g., Linux ext2)

File header


Multilevel indexed allocation1

Multilevel Indexed Allocation

  • A single indirect block contains pointers to data blocks

  • A double indirect block contains pointers to single indirect blocks

  • A triple indirect block contains pointers to double indirect blocks


Pros and cons of multilevel indexed allocation

Pros and Cons of Multilevel Indexed Allocation

+ Optimized for small and large files

  • Small files accessed through the first 12 pointers

  • Large files can grow incrementally

    - Multiple disk accesses to fetch a data block under triple indirect block

    - Largest file size capped by the number of pointers

    - Arbitrary file size boundaries among levels


Hashed allocation

data block location

data block location

data block location

data block location

data block location

data block location

data block location

data block location

Hashed Allocation

  • Allocates a disk block by hashing the block content to a disk location

Old file header

New file header


Pros and cons of hashed allocation

Pros and Cons of Hashed Allocation

+ File blocks of the same content can share the same disk block to save storage

  • e.g., empty blocks

    + Good for backups and archival

  • Small modifications to a large file result in only additional storage of the changes

    - Poor disk performance


  • Login