Contiguous Allocation of Disk Space - PowerPoint PPT Presentation

1 / 14
About This Presentation
Title:

Contiguous Allocation of Disk Space

Description:

Brings all pointers (for one file) together into an index block. ... Keep list of first block address, count of contiguous free ones ... – PowerPoint PPT presentation

Number of Views:306
Avg rating:3.0/5.0
Slides: 15
Provided by: mario228
Category:

less

Transcript and Presenter's Notes

Title: Contiguous Allocation of Disk Space


1
Contiguous Allocation of Disk Space
2
Linked Allocation
3
File-Allocation Table (DOS, others)
  • Section of disk at start of partition
  • Table with one entry per disk block
  • Indexed by block
  • Each entry contains link to next block
  • Special code for EOF
  • 0 means empty block

4
Indexed Allocation
  • Brings all pointers (for one file) together into
    an index block.
  • Supports both sequential and random access
  • (Index into table, pointer to block)
  • Wasteful for small files (use entire block for
    index)
  • But no external fragmentation
  • Logical view.

5
Example of Indexed Allocation
6
Indexed Allocation Multilevel Index(Supports
very large file size)
?
outer-index
file
index table
7
Combined Scheme UNIX inode (Example with 4K
bytes per block)
One inode table per partition 64 bytes per
inode Directory entries point to inode Link
count Direct index supports 48k file Double
indirect supports huge files (gt4 GB)
Sizeblocks, bytes
link
12
8
Maximum File Size with inodes
  • Assume 12 direct blocks, 4K blocks, 4 byte block
    pointer
  • Estimate maximum addressable up to the double
    indirect blocks
  • Direct blocks (12) 48k
  • Single indirect (4096/41024 ptrs to
    blocks) 4096k
  • Double indirect (1024 of these) 4194304k
  • Total 4198448k
  • (gt 4 GB)
  • Didnt even use triple indirect!

9
File Access With Unix inodes
inodes
Data blocks
n
  • Superblock and other structures not shown
  • root directory is inode 2
  • Directories contain pointers to inodes
  • Access path shown to /usr/bin/wc
  • Notice 8 disk accesses to get first block of wc!

usr directory
bin
wc (file)
wc
bin directory
usr
2
root directory
(root)
0
10
In-Memory File System Structures Re-Visited
(Unix Case)
Opening A file
inode
Reading A file
Pointer to Memory copy Of inode
Copy of inode
11
Free-Space Management
  • Bit vector (n blocks)

0
1
2
n-1

1 ? blocki free 0 ? blocki occupied
???
biti
To find a free block find the first non-zero
word, locate first 1-bit. Block number (of first
free block) is
(number of bits per word) (number of 0-value
words) offset of first 1 bit
12
Bit Vector (Cont.)
  • Bit map requires extra space. Example
  • block size 212 bytes
  • disk size 230 bytes (1 gigabyte)
  • n 230/212 218 bits (or 32K bytes)
  • Easy to get contiguous files
  • Just look for consecutive 1s in bit map

13
Linked List of Free Space on Disk
14
Free List Approach
  • Linked list
  • Hard to find contiguous space easily
  • But no waste of space
  • Grouping
  • Store addresses of n free blocks in the first
    block
  • Last of these addresses is to a block that
    contains addresses of another n free blocks
  • So many free blocks can be found at one time
  • Counting
  • Clusters of contiguous free blocks recorded
    together
  • Keep list of first block address, count of
    contiguous free ones
Write a Comment
User Comments (0)
About PowerShow.com