1 / 20

Operating Systems CMPSCI 377 Lecture 16: File Systems II

Operating Systems CMPSCI 377 Lecture 16: File Systems II. Emery Berger University of Massachusetts, Amherst. Outline. File Systems Implementation How disks work How to organize data (files) on disks Data structures Placement of files on disk. Disk Surface Layout.

dom
Download Presentation

Operating Systems CMPSCI 377 Lecture 16: File Systems II

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 Allocation:Pros & 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 Files:Pros & 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

More Related