File System Maths
Posted: Wed Mar 28, 2001 12:00 am
Hello,
I've got some algorithms on calculating CHS and LBA
but the formula seem to me strange and unreasonable.
The formula looks like this:
LBA = ( (cylinder * heads_per_cylinder + heads ) * sectors_per_track ) + sector - 1
cylinder = LBA / (heads_per_cylinder * sectors_per_track)
temp = LBA % (heads_per_cylinder * sectors_per_track)
head = temp / sectors_per_track
sector = temp % sectors_per_track + 1
-----------------------------------------
Can anyone describle maybe proof how each formula is derived?
And again, for the "%" thing, is there a way to write
like "x mod y"? General concepts are cool, too.
Thanks.
Ben Hsu
I've got some algorithms on calculating CHS and LBA
but the formula seem to me strange and unreasonable.
The formula looks like this:
LBA = ( (cylinder * heads_per_cylinder + heads ) * sectors_per_track ) + sector - 1
cylinder = LBA / (heads_per_cylinder * sectors_per_track)
temp = LBA % (heads_per_cylinder * sectors_per_track)
head = temp / sectors_per_track
sector = temp % sectors_per_track + 1
-----------------------------------------
Can anyone describle maybe proof how each formula is derived?
And again, for the "%" thing, is there a way to write
like "x mod y"? General concepts are cool, too.
Thanks.
Ben Hsu