Emery Berger - PowerPoint PPT Presentation

About This Presentation
Title:

Emery Berger

Description:

Operating Systems CMPSCI 377 Lecture 16: File Systems II Emery Berger University of Massachusetts, Amherst – PowerPoint PPT presentation

Number of Views:93
Avg rating:3.0/5.0
Slides: 21
Provided by: uma126
Category:

less

Transcript and Presenter's Notes

Title: Emery Berger


1
Operating SystemsCMPSCI 377Lecture 16 File
Systems II
  • Emery Berger
  • University of Massachusetts, Amherst

2
Outline
  • File Systems Implementation
  • How disks work
  • How to organize data (files) on disks
  • Data structures
  • Placement of files on disk

3
Disk Surface Layout
  • Tracks concentric rings on disk
  • bits laid out serially on tracks
  • Tracks split into sectors or blocks
  • Minimum unit of transfer from disk

4
Disk Pack Multiple Disks
  • Disks organized in disk pack stack of platters
  • Use both sides of platters
  • Two read-write heads at end of each arm
  • Cylinders matching sectors on each surface

5
Cost of Disk Operations
  • In addition to CPU time to start disk operation
  • Latency time to initiate disk transfer
  • Seek time time to position head over correct
    cylinder
  • Rotational time time for correct sector to
    rotate under disk head
  • Bandwidth rate of I/O transfer of sectors once
    initiated

6
Outline
  • File Systems Implementation
  • How disks work
  • How to organize data (files) on disks
  • Data structures
  • Placement of files on disk

7
File Organization on Disk
  • File system maps file blocks to disk location
  • (file 0, block 0) (platter 0, cylinder 0,
    sector 0)
  • Key performance issues
  • Support sequential and random access
  • What data structure is best for maintaining file
    location information?
  • How do we lay out files on the disk?

8
On-Disk Data Structures
  • File descriptor structure used to describe where
    file is on disk and attributes
  • Must be stored on disks just like files
  • Most systems fit following profile
  • Most files are small
  • Most disk space taken up by large files
  • I/O operations target both small large
  • Per-file cost must be low, but large files must
    also have good performance

9
Contiguous Allocation
  • Operating system maintains ordered list of free
    disk blocks
  • OS allocates contiguous chunk of free blocks when
    it creates a file
  • Only need to store start location size in file
    descriptor

10
Contiguous AllocationPros Cons
  • Advantages
  • Simple
  • Access time? Number of seeks?
  • Disadvantages
  • Changing file sizes
  • Fragmentation? Disk management?
  • Examples IBM OS/360, write-only disks, early PCs

11
Linked Files
  • Maintain list of all free sectors/blocks
  • In file descriptor, keep pointer to first
    sector/block
  • In each sector, keep pointer to next sector

12
Linked Files Pros Cons
  • Advantages
  • Fragmentation?
  • File size changes?
  • Efficiently supports which type of access?
  • Disadvantages
  • Does not support which type of access? Why?
  • Number of seeks?
  • Examples MS-DOS

13
Indexed Files
  • OS keeps array of block pointers for each file
  • User or OS declares maximum length of file
    created
  • OS allocates array to hold pointers to all blocks
    when it creates file
  • But allocates blocks only on demand
  • OS fills pointers as it allocates blocks

14
Indexed Files Pros Cons
  • Advantages
  • Wastes very little space
  • Sequential random access easy
  • Disadvantages
  • Sets maximum file size
  • Lots of seeks (why?)

15
Multilevel Indexed Files
  • Each file descriptor contains 14 block pointers
  • First 12 pointers point to data blocks
  • 13th pointer one indirection
  • Points to block of 1024 pointers to 1024 more
    data blocks
  • 14th pointer two indirections
  • Points to block of pointers to indirect blocks
  • Used in BSD UNIX 4.3

16
Multilevel Indexed FilesPros Cons
  • Advantages
  • Simple to implement
  • Supports incremental file growth
  • Small files?
  • Disadvantages
  • Indirect access inefficient for random access to
    very large files
  • Lots of seeks (data not contiguous)
  • Is file size bounded?
  • What could OS do to get more contiguous memory?

17
Free-Space Management Bitmaps
  • Need free-space list to keep track of which disk
    blocks are free
  • Akin to free-list for main memory
  • One approach bitmap
  • One bit per block on disk
  • Bit 1 , block is free
  • Easy to find any page free in next 32 bits
  • Marking block free very simple

18
Free-Space Management
  • Problems
  • Space Bitmap has big RAM footprint
  • 80GB disk, 512 byte sectors 5Mb
  • Performance Slow if most of disk is in use
  • Alternative link together free blocks
  • Head of list cached in kernel memory
  • Each block contains next pointer
  • Cost of allocation? Freeing? Allocating
    consecutive blocks?

19
Summary
  • Many of concerns implementations of file
    systems similar to virtual memory implementations
  • Contiguous allocation simple but...
  • External fragmentation, compaction, relocation...
  • Indexed allocation page tables
  • Free space managed with bitmap or linked lists

20
Next Time
  • I/O Systems
Write a Comment
User Comments (0)
About PowerShow.com