Dark Mode

23,000 views

77 votes

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?

- $1281$
- $1282$
- $1283$
- $1284$

237 votes

Best answer

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$

$(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$

0

0

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 😂

0

42 votes

$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)$

$\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)$

4

@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.

0

23 votes

- 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