Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "1 Outline File Systems Implementation How disks work How to organize data (files) on disks Data structures Placement of files on disk."— Presentation transcript:

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

2 2 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

3 3 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:

4 4 Cost of Disk Operations 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

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

6 6 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?

7 7 File System Design Goals 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

8 8 On-Disk Data Structures File descriptor/handle: (name, location on disk, attributes) Must be stored on disks just like files Create file: Adds file descriptor to directory that contains file Delete file Find directory containing file Remove file descriptor from directory

9 9 Types of File Organization on Disk Contiguous files Linked files Indexed files Multilevel indexed files

10 10 Contiguous Allocation Operating system maintains ordered list of free disk blocks OS allocates contiguous chunk of free blocks when it creates a file File descriptor: store start location & size

11 11 Contiguous Allocation: Pros & Cons Advantages Simple Efficient to support which type of access? Disadvantages File size change? Fragmentation? Inefficient to support which type of access? Examples: IBM OS/360, write-only disks, early PCs

12 12 Linked Files Maintain list of all free sectors/blocks File descriptor: keep pointer to first sector/block In each sector, keep pointer to next sector

13 13 Linked Files: Pros & Cons Advantages Fragmentation? File size changes? Efficient to support which type of access? Disadvantages: Inefficient to support which type of access? Number of seeks? Waste space than contiguous allocation? Examples: MS-DOS

14 14 Indexed Files User or OS declares maximum length of file created OS allocates array of block pointers for all blocks when it creates file But allocates blocks only on demand OS fills pointers as it allocates blocks

15 15 Indexed Files: Pros & Cons Advantages Sequential & random access: easy Disadvantages Sets maximum file size Waste more space than linked list Lots of seeks (data not contiguous)

16 16 Multilevel Indexed Files in UNIX Each file descriptor contains 14 block pointers First 12 pointers point to data blocks 13 th pointer: 2 nd -level/indirect blocks Points to block of 1024 pointers to 1024 more data blocks 14 th pointer: 3rd-level blocks Points to block of 1024 pointers to indirect blocks Used in BSD UNIX 4.3

17 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)

18 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/bitvector One bit per block on disk Bit = 1, block is free Special hardware to find 1 st bit with value of 1 in a word Marking block free very simple

19 19 Free-Space Management Problems: Space: Bitmap has big RAM footprint 80GB disk, 512 byte sectors = ? Mb Performance: Slow if most of disk is in use Alternative: linked list Link together free blocks Head of list – cached in kernel memory Each block contains next pointer Efficiency?

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


Download ppt "1 Outline File Systems Implementation How disks work How to organize data (files) on disks Data structures Placement of files on disk."

Similar presentations


Ads by Google