Contiguous Allocation of Disk Space 1 Linked Allocation
- Slides: 14
Contiguous Allocation of Disk Space 1
Linked Allocation 2
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 3
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. index table 4
Example of Indexed Allocation 5
Indexed Allocation – Multilevel Index (Supports very large file size) � outer-index table 6 file
Combined Scheme: UNIX inode (Example with 4 K bytes per block) Size: blocks, bytes link 12 7 One inode table per partition 64 bytes per inode Directory entries point to inode Link count Direct index supports 48 k file Double indirect supports huge files (>4 GB)
Maximum File Size with inodes § Assume 12 direct blocks, 4 K blocks, 4 byte block pointer § Estimate maximum addressable up to the double indirect blocks: • • • Direct blocks (12) 48 k Single indirect (4096/4=1024 ptrs to blocks) 4096 k Double indirect (1024 of these)4194304 k Total 4198448 k (> 4 GB) § Didn’t even use triple indirect! 8
File Access With Unix inodes Data blocks n usr directory bin wc (file) wc bin directory usr #2 (root) 0 9 root directory § “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!
In-Memory File System Structures Re. Visited: (Unix Case) Opening A file inode Reading A file 10 Pointer to Memory copy Of inode Copy of inode
Free-Space Management § Bit vector (n blocks) 0 1 2 n-1 ��� … bit[i] = 1 block[i] free 0 block[i] occupied 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 11
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 32 K bytes) § Easy to get contiguous files • Just look for consecutive 1’s in bit map 12
Linked List of Free Space on Disk 13
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 14
- Linked allocation
- Non contiguous memory allocation
- Single user contiguous scheme example
- Paging in non contiguous memory allocation
- In contiguous memory allocation has no cure
- Non contiguous memory allocation
- Contiguous memory management in os
- Demand paged memory allocation
- Contiguous logical address space
- Single linked list adalah yang paling dari semua varian
- Advantage of linked list
- Singly vs doubly linked list
- Types of storage management
- Final fantasy xiv
- The great gatsby vocabulary