Download presentation
Presentation is loading. Please wait.
1
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts, Amherst Operating Systems CMPSCI 377 Lecture 17: File Systems II
2
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 2 Outline File Systems Implementation How disks work How to organize data (files) on disks Data structures Placement of files on disk
3
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 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
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 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
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 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
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 6 Outline File Systems Implementation How disks work How to organize data (files) on disks Data structures Placement of files on disk
7
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 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
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 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
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 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
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 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
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 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
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 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
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 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
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 14 Indexed Files: Pros & Cons Advantages Wastes very little space Sequential & random access: easy Disadvantages Sets maximum file size Lots of seeks (why?)
15
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 15 Multilevel Indexed Files Each file descriptor contains 14 block pointers First 12 pointers point to data blocks 13 th pointer: one indirection Points to block of 1024 pointers to 1024 more data blocks 14 th pointer: two indirections Points to block of pointers to indirect blocks Used in BSD UNIX 4.3
16
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 16 Multilevel Indexed Files, Zoomed In
17
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 17 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?
18
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 18 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
19
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 19 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?
20
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 20 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
21
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science 21 Next Time I/O Systems
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.