in Operating System edited by
29,937 views
80 votes
80 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
29.9k views

27 Comments

< cylinder no , surface no ,sector no> -> address format ?
0
0
Yes.. Thanks..  corrected now :)
0
0

each cylinder contains 64 sectors $\implies$ at each surface within the cylinder there are 64 sectors

36
36
@amarVashishth what do you mean by that comment, are we supposed to interpret that statement like that? If yes, then why?
0
0
try both ways and check :
1) 1 cylinder contains 64 sectors this means that all surface combined there are just 64 sectors.
2) at each surface within the cylinder there will be 64 sectors so in a cylinder there will be a total of $16\times 64$ sectors
7
7
edited by

Sector number starts from 0. Why it would not be sector 0 and sector 1? <1284,3,1>

okk. Understood the concept from https://gateoverflow.in/1337/gate2009-51

1
1
i am having the same doubt. what did you understand??
0
0
Why are we taking "each cylinder contain 64 sectors"  as 64*16? Is it taking cylinder same as track?
1
1
i think question has got misinterpretation
according to me , it says
16 surfaces , 16384 cylinders/surface , 64 sectors/cylinders
5
5
one cylinder has is a surface which covers the same track on all the surfaces and hence the question is wrong it should be given that each surface has 64 sectors
6
6
How to understand data unit 42797 KB means 42797 *2^10 will give 1284 and if I use 42797 *10^3 for KB I get answer 1282!! How to interpret which data unit to use when!!:(
0
0
10^3 is considered only when we talk about bandwidth. Rest, everywhere else it's 2^10.
0
0

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
Isn't this a far-fetched interpretation, while it is clearly stated that each cylinder has 64 sectors? Or is this interpretation generally accepted?
0
0
@Nitesh singh Cylinder are vertical combination of tracks ,right? Than this means according to question all vertical  combined tracks have 64 sectors. . But every one assuming each 1 track = 64sector.
0
0
Is the language of this question is wrong please anyone tell because every one take 64 as number of tracks but in the question it is given as number of sectors per cylinder what is this????????????
0
0

@Deepak Poonia sir  here in question they have written that number of sectors per cylinder is 64 but actually cylinder is group of tracks at a particular radius.

3
3

@priyanshu.jha At a given radius, how do we get "groups" of tracks? 

0
0

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

0
0
No. Please share any reference.
0
0

@gatecse A track is that portion of a disk which passes under a single stationary head during a disk rotation, a ring 1 bit wide. A cylinder is comprised of the set of tracks described by all the heads (on separate platters) at a single seek position.

ref: https://tinf2.vub.ac.be/~dvermeir/mirrors/sunos-wks.acs.ohio-state.edu/sysadm_course/html/sysadm-30.html#:~:text=A%20track%20is%20that%20portion,the%20center%20of%20the%20disk.

1
1

So, will adding this "per recording surface" make the question clear? 

each cylinder contains 64 sectors "per recording surface"

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

Each cylinder contains 64 sectors ⟹ at each surface within the cylinder there are 64 sectors

0
0
 Important point that should also be noted here

 

1
1

10 Answers

246 votes
246 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
48 votes
48 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.

7
7

@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
25 votes
25 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
9 votes
9 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