Fundamentals 5 min read

Understanding Disk Partitioning and Its Impact on I/O Performance

This article explains the physical structure of mechanical hard drives, describes how partitioning works, compares two partitioning schemes based on disk surfaces and cylinders, and analyzes their impact on seek time, rotational latency, and overall I/O performance, concluding why modern OSes favor cylinder‑based partitions.

Refining Core Development Skills
Refining Core Development Skills
Refining Core Development Skills
Understanding Disk Partitioning and Its Impact on I/O Performance

In a previous article we examined the physical construction of a mechanical hard disk, which consists of platters, tracks, and sectors. The diagram below shows the internal layout of a typical HDD.

Partitioning is the first step an operating system takes to manage a disk, a concept familiar to every computer user (e.g., Windows C:, D:, E: drives). Imagine you are designing an OS and must decide how to split a whole disk into partitions.

For discussion we assume a disk with 50 platters and 3000 cylinders, and present two possible schemes:

Scheme 1: Allocate partitions by platter range (e.g., C: uses platters 0‑10, D: uses platters 10‑20, …).

Scheme 2: Allocate partitions by cylinder range (e.g., C: uses cylinders 0‑1000, D: uses cylinders 1001‑2000, …).

To evaluate which scheme is superior we consider disk I/O latency, which consists of three steps:

Seek time – the radial movement of the read/write head to the target track, typically 3‑15 ms and dependent on the distance between current and target tracks.

Rotational latency – the time for the platter to rotate the desired sector under the head; for a 10 000 rpm disk one full rotation takes 6 ms, so latency ranges from 0‑6 ms.

Transfer time – the actual data read/write operation, usually a few tenths of a millisecond.

The total time for a single disk I/O operation is therefore:

Disk I/O time = Seek time + Rotational latency + Transfer time

Both schemes have identical rotational latency and transfer time, but they differ in seek time. Scheme 1 forces the head to jump across more than 3000 tracks, resulting in higher seek times. Scheme 2 confines the head to a smaller cylinder range (e.g., 0‑1000 for C:), dramatically reducing seek time.

Consequently, modern operating systems adopt the cylinder‑based partitioning approach (Scheme 2). The following screenshots from Linux fdisk illustrate how start and end cylinders are selected during partition creation.

The partitioning process involves entering the start and end cylinder numbers. In practice, partitions cannot begin at cylinder 0 because the first track is reserved for the boot loader and the partition table.

Thus, operating systems partition disks by cylinder ranges to minimize seek time, thereby improving overall read/write performance.

cylindersdisk partitioninghard driveI/O performanceseek time
Refining Core Development Skills
Written by

Refining Core Development Skills

Fei has over 10 years of development experience at Tencent and Sogou. Through this account, he shares his deep insights on performance.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.