in Operating System edited by
23,000 views
77 votes
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?

  1. $1281$
  2. $1282$
  3. $1283$
  4. $1284$
in Operating System edited by
by
23.0k views

4 Comments

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

@priyanshu.jha 

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

I like your confidence here 
cause ...gatecse is the creator of this site

and your link was helpful for me thanks!!

0
0

10 Answers

237 votes
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$
edited by
by

4 Comments

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

0
0

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

0
0

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

0
0
42 votes
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)$
by

4 Comments

Perfect answer. :)

Cleared the doubt as well as concept
0
0

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.

4
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
0
23 votes
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

4 Comments

@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
1
1
Use CHS to LBA Mapping formula and you'll get answer fast
1
1

@Ayush Upadhyaya

Can you please tell the difference between below 2 lines .

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

 

3
3
8 votes
8 votes

Cylinder no 1284

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
0
0
Answer:

Related questions