Topic: disk allocation

topics > computer science > operating system > Group: file system

memory management

device driver
memory management by reference counting


A file system needs to allocate files on disk. As files are created and deleted, the available space may become fragmented. Space is typically allocated in fixed size blocks or clusters. Files may be stored contiguously.

Unix partitions disks into cylinder groups. Free space may be identified with a bit map, but these data structures may need rebuilding after a failure. (cbb 11/07)

Subtopic: cylinder groups up

Quote: UNIX partitions disks into cylinder groups with copy of superblock, local inodes, free block bit map, and usage statistics [»mckuMK8_1984]
Quote: a UNIX cylinder group preallocates an inode for every 2K bytes of disk; far more than needed [»mckuMK8_1984]
Quote: bookkeeping information for a UNIX cylinder group is staggered to prevent a lost platter from destroying everything [»mckuMK8_1984]
Quote: UNIX directories on different cylinder groups; inodes in a directory in the same group; at most 16 disk transfers for inodes of cylinder group [»mckuMK8_1984]
Quote: large UNIX files spread across cylinder groups by new group at 48K bytes and every megabyte [»mckuMK8_1984]
Quote: overflow UNIX allocation by rotational closest in cylinder, in same group, rehash to another group, exhaustive search [»mckuMK8_1984]
Quote: Cedar partitions the disk into big and small file areas to curtail fragmentation; the areas are hints [»hagmR_1987]
Quote: a file must lie in a single partition (set of tracks); may be specified [»lampBW4_1974]

Subtopic: block allocation and fragmented blocks up

Quote: UNIX file as zero or more data blocks plus fragmented blocks; e.g., 1K fragments of 4K data blocks [»mckuMK8_1984]
Quote: free disk bit map for UNIX at fragment level, but blocks are aligned [»mckuMK8_1984]
Quote: smallest UNIX fragment is a disk sector; need about 5% free disk space
Quote: files should be extended one block at a time, with fragment at end; UNIX tells applications the optimal read/write size [»mckuMK8_1984]

Subtopic: block size up

Quote: store data in large block sizes; balances bandwidth with latency [»pattDA10_2004]

Subtopic: storage allocation up

Quote: UNIX file system allocation accounts for block interleave; divides cylinder group into 8 rotational groups [»mckuMK8_1984]

Subtopic: disk errors up

Quote: for hardware failures, 30% memory, 26% disk, 17% processor; for driver failures, 35% display, 13% anti-virus, 10% CD-burning, 9% audio, 9% modem

Subtopic: rebuilding a disk up

Quote: Unix can quickly verify disk allocation by a sequential scan of the i-list [»ritcDM7_1978a]
Quote: DoubleSpace rebuilds its sector bit map whenever the disk is mounted
Quote: the bit table for free disk pages is a hint, verified against the label of the free page [»lampBW10_1983]
Quote: Cedar uses a free page bit map; reconstruct if necessary; shadow bitmap for uncommitted file deletes [»hagmR_1987]
Quote: all free pages kept in OS6's free storage file, in cache memory, and on backup disk [»stoyJE3_1972]

Subtopic: binary buddy disk allocation up

Quote: Dartmouth Time-Sharing using binary buddy system for disk allocation; fast and effective [»kochPD11_1987]
Quote: binary buddy disk allocation just needs a 250 slot free-space table in memory; access overflow lists every 1000 allocate and free operations [»kochPD11_1987]
Quote: an extent for binary buddy disk allocation is a triple of device number, first sector, and log(sectorCount); 36-bit code with 24 bits for sector [»kochPD11_1987]
Quote: binary buddy disk allocation used for 20 years; no problem if disks are nearly full; 50% bandwidth utilization; 1.5 extents per file; simple [»kochPD11_1987]
Quote: binary buddy disk allocation has 2-6% internal fragmentation and 0-10% external fragmentation; most files contiguous

Subtopic: mounted devices up

Quote: include a device number in a disk address (extent) for multiple devices per file; for balancing, full allocation, and huge files
Quote: each mounted Unix device has a separate free pool; allows for easy unmounting [»thomK7_1978]

Subtopic: contiguous and clustered files up

Quote: all Amoeba files are stored contiguously on disk and in memory [»taneAS12_1990]
Quote: Amoeba's bullet server stores files contiguously, both on the disk and in the server's main memory; for rapid access [»vanrR10_1988]
Quote: Telesophy objects stored as contiguous blocks; infrequent deletion and nearly constant size over lifetime [»caplM12_1987]
Quote: Helix allocates disk blocks sequentially from a bit map; write-with-move ensures clustered writes [»fridM5_1985]

Subtopic: file headers up

Quote: Oberon files include a header of disk addresses for each sector; extension table for large files

Related Topics up

Group: memory management   (11 topics, 367 quotes)

Topic: device driver (15 items)
Topic: file (22 items)
Topic: memory management by reference counting
(23 items)

Updated barberCB 5/04
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.