23,000 views

Consider a hard disk with $16$ recording surfaces $(0-15)$ having $16384$ cylinders $(0-16383)$ and each cylinder contains $64$ sectors $(0-63)$. Data storage capacity in each sector is $512$ bytes. Data are organized cylinder-wise and the addressing format is $\langle \text{cylinder no.}, \text{surface no.}, \text{sector no.} \rangle$ . A file of size $42797$ KB is stored in the disk and the starting disk location of the file is $\langle 1200, 9, 40\rangle$. What is the cylinder number of the last sector of the file, if it is stored in a contiguous manner?

1. $1281$
2. $1282$
3. $1283$
4. $1284$

yes I think they should have given this only. What do think?
They could (should) have. But at the same time this can also be inferred from other information in the question right?

I hope you know difference between a cylinder and a track..

cause ...gatecse is the creator of this site

First convert $\langle 1200,9,40\rangle$ into sector address.

$(1200 \times \mathbf{16 \times 64}) + ( 9 \times \mathbf{64}) + 40 = 1229416$

Number of sectors to store file $= (42797 \ KB) / 512 = 85594$

Last sector to store file $= 1229416+85594=1315010$

Now, do reverse engineering,

$1315010/(\mathbf{16 \times 64})=1284.189453$ $(1284$ will be cylinder number and remaining sectors $=194)$

$194/\mathbf{64} = 3.03125$  $(3$ is surface number and remaining sectors are $2)$

$\therefore \langle 1284,3,1\rangle$ is last sector address.

Correct Answer: $D$
by

@vaibhavkedia968

sector address is nothing but the (no of sectors before that sector + 1) so the last address will be   ⟨1284,3,1⟩  this only  it is correct!

@Laxmi

I think the address will be 1284,3,2 since we didn't altered the address while converting it from the formatted address we should not overthink while converting it back.

@Pranavpurkar

Then before converting address to sector number also we should have added 1 to the sector number to get the actual sector number since address starts from 0 then 40th sector is the 41th sector anyhow it would have ended in 2nd sector. They should have asked the sector number then many would have lost their marks 😂

$42797\; KB = 42797 \times 1024$ bytes require $42797 \times 1024 / 512$ sectors $= 85594$ sectors.

$\langle 1200, 9, 40 \rangle$ is the starting address. So, we can have $24$ sectors in this recording surface. Remaining $85570$ sectors.

$85570$ sectors require $\lceil \frac{85570}{64}\rceil= 1338$ recording surfaces. We start with recording surface $9,$ so we can have $7$ more in the given cylinder. So, we have $1338 - 7 = 1331$ recording surfaces left.

In a cylinder, we have $16$ recording surfaces. So, $1331$ recording surfaces require  $\lceil \frac{1331}{16}\rceil = 84$ different cylinders.

The first cylinder (after the current one) starts at $1201.$ So, the last one should be $1284.$

$\langle 1284, 3, 1 \rangle$ will be the end address. $(1331 - 16 \times 83 +1 - 1 = 3$ $(3$ surfaces full and $1$ partial and $-1$ since address starts from $0),$ and $85570 - 1337 \times 64 -1 = 1)$
by

Cleared the doubt as well as concept

Arjun Sir,  I think "each cylinder contains 64 sectors (0-63)" this statement given in the question is wrong, it should have been like "each surface contains 64 sectors (0-63)". Please clear my doubt.

@Sourav Basu 16384 cylinders mean due to cylinders there will be tracks made to each surface because a cylinder separates 2 tracks. Kindly see the relation between cylinders and tracks. So logically, there are 16384 tracks per surface and each track having 64 sectors.

• 16 Surfaces(0-15)
• 16384 cylinders (0-16383)
• Each cylinder has 64 sectors (0-63)
• Sector Capacity=512 Byte
• File Size =42797KB
• Number of sectors required by file = $\frac{42797*1024(Bytes)}{512}= 85594$
• #Sectors per cylinder = 16*64 = 1024
• Starting disk location of file = <1200,9,40>
• Remaining sectors to be filled till next cylinder 1201 will be
(63-40+1)(Head number 9(means surface 10th) is completely filled + (15-10+1)*64 = 408
• Remaining sectors to be allocated to file  = 85594-408=85186
• These 85186 sectors will take  = $\left \lceil \frac{85186}{1024} \right \rceil = 84$ cylinders
• Means inclusive of 1201, we need to add 83 more cylinders, so answer= 1201+83=1284 Cylinder number

@tusharp-After filling 10th surface completely(s=9), remaining surface numbers are 10,11,12,13,14,15-> 6 of them with 64 sector each.

So, sectors remaining to fill cylinder 1200->24+6*64 and you did 24+7*64
Use CHS to LBA Mapping formula and you'll get answer fast

Can you please tell the difference between below 2 lines .

• Each cylinder has 64 sectors (0-63)
• #Sectors per cylinder = 16*64 = 1024

Cylinder no 1284

by

1 comment

everything is fine except "1200 cylinder no instead of 1201 "

bcz we are currently on 1200 cylinder & 9th surface .

9th surface already filled with 40 sectors remaining 24 left