File System

GATE CS previous year questions · 2 questions

GATE CS 2025 Set 1 | Question 51

NAT · 2 marks

A disk of size 512M bytes is divided into blocks of 64K bytes. A file is stored in the disk using linked allocation. In linked allocation, each data block reserves 4 bytes to store the pointer to the next data block. The link part of the last data block contains a NULL pointer (also of 4 bytes). Suppose a file of 1M bytes needs to be stored in the disk. Assume, \(1\text{K} = 2^{10}\) and \(1\text{M} = 2^{20}\). The amount of space in bytes that will be wasted due to internal fragmentation is ______. (Answer in integer)

Explanation

Answer: 65468

Each block is \(64\text{K} = 65536\) bytes and 4 of them hold the link, so a block carries \(65536 - 4 = 65532\) bytes of file data.

The file has \(2^{20} = 1048576\) bytes. Sixteen blocks carry \(16 \times 65532 = 1048512\) bytes, which leaves \(1048576 - 1048512 = 64\) bytes for a 17th block.

The last block holds those 64 bytes and the 4-byte NULL link, so the unused space is \(65536 - 4 - 64 = 65468\) bytes.

Answer: 65468

GATE CS 2024 Set 2 | Question 53

NAT · 2 marks

Consider a disk with the following specifications: rotation speed of 6000 RPM, average seek time of 5 milliseconds, 500 sectors/track, 512-byte sectors. A file has content stored in 3000 sectors located randomly on the disk. Assuming average rotational latency, the total time (in seconds, rounded off to 2 decimal places) to read the entire file from the disk is _________

Explanation

Answer: 29.5 to 30.5

At 6000 RPM the disk makes 100 rotations per second, so one rotation takes 10 ms.

  • Seek time: 5 ms.
  • Average rotational latency: half a rotation, 5 ms.
  • Transfer time of one sector: \(10 / 500 = 0.02\) ms.

Because the sectors lie at random places, each one needs its own seek and rotational wait: \(5 + 5 + 0.02 = 10.02\) ms per sector. For 3000 sectors the total is \(3000 \times 10.02 = 30060\) ms, that is 30.06 s. The sector size (512 bytes) is not needed. Treating the file as stored on consecutive sectors would give a much smaller time.

Answer: 30.06