64 views
3 3 votes

A Unix-like inode contains:

  • $6$ direct pointers
     
  • $1$ single-indirect pointer
     
  • $1$ double-indirect pointer

The file-system block size is $B$ bytes and each block pointer occupies $P$ bytes.

Assume:

  • the file is already open
     
  • its inode information is available
     
  • the buffer cache is empty
     
  • each disk operation reads exactly one block
     

Which expression correctly gives the number of disk reads needed to access the $N$th data block?

  1. $1$, if $N\le 6$

    $2$, if $6<N\le 6+\frac{B}{P}$

    $3$, if $N>6+\frac{B}{P}$

     
  2. $1$, if $N\le 6$

    $1$, if $6<N\le 6+\frac{B}{P}$

    $2$, if $N>6+\frac{B}{P}$

     
  3. $1$, if $N\le 6$

    $2$, if $6<N\le 6+\frac{B}{P}$

    $4$, if $N>6+\frac{B}{P}$

     
  4. $2$, if $N\le 6$

    $3$, if $6<N\le 6+\frac{B}{P}$

    $4$, if $N>6+\frac{B}{P}$

1 Answer

0 0 votes

For a direct pointer, the inode already contains the address of the data block.

So only the data block is read : $\text{1 read}$

For a single-indirect pointer:

$\text{inode} \rightarrow \text{indirect block} \rightarrow \text{data block}$

The inode is already available, so disk reads are:

  1. Indirect block
     
  2. Data block

Total: $\text{2 reads}$

For a double-indirect pointer:

$\text{inode} \rightarrow \text{double-indirect block} \rightarrow \text{indirect block} \rightarrow \text{data block}$

Again, the inode is already available.

Disk reads are:

  1. Double-indirect block
     
  2. Single-indirect block
     
  3. Data block

Total $: \text{3 reads}$


$\therefore$ Answer : A

Answer:
Position:
Show:

Related questions

1 1 vote
1 1 answer
105
105 views
GO Classes asked Aug 25
105 views
file system has:Disk block size = $\text{4 KB}$$10$ direct address entries in each inode$1$ single-indirect address entry$1$ double-indirect address entry$1$ triple-indir...
0 0 votes
1 1 answer
78
78 views
GO Classes asked Aug 25
78 views
A file system has:Cluster size = $\text{4 KB}$ Inode size = $\text{64 bytes}$ $1\text{M} = 2^{20}$ clusters reserved for storing inodes $512\text{M}$ clusters reserved fo...
0 0 votes
1 1 answer
73
73 views
GO Classes asked Aug 25
73 views
Consider a UNIX file system with:Disk block size = $\text{4096 bytes}$All block pointers = $\text{32 bits}$Inode has $12$ direct pointers$1$ single-indirect pointer$1$ do...
1 1 vote
1 1 answer
85
85 views
GO Classes asked Aug 25
85 views
Consider a file system with:Block size = $\text{2048 bytes}$ Disk block pointer size = $\text{32 bits}$ $12$ direct pointers $1$ single-indirect pointer $1$ double-indire...