GATE CS 2021 Set 1 — Question 25
Go beyond PYQs with Success TrackerAI-powered personalised practice and doubt support. Unlimited practice on eligible plans; AI usage limits apply.MSQ+1 / -0MediumDirectory StructuresFile SystemsOperating System
Operating System → File Systems → Directory Structures
Last updated
Question
Consider a linear list based directory implementation in a file system. Each directory is a list of nodes, where each node contains the file name along with the file metadata, such as the list of pointers to the data blocks. Consider a given directory
Which of the following operations will necessarily require a full scan of
foo.Which of the following operations will necessarily require a full scan of
foo for successful completion?Correct answer
(A) Creation of a new file in foo; (C) Renaming of an existing file in foo
Solution
The directory is a linear list of entries, which is not specified as being sorted. We need to determine which operations require scanning the entire list for successful completion.
2. Ensuring that
Therefore, the overall renaming operation necessarily requires a full scan to guarantee correctness.
- (A) Creation of a new file in
foo: To create a new file, the file system must ensure that a file with the same name does not already exist in the directoryfoo. Since the list is unsorted, the only way to guarantee uniqueness is to search the entire list from beginning to end. If a duplicate is found, the creation fails. If no duplicate is found after checking all entries, the new file entry can be added. Thus, a full scan is necessary for successful creation. - (B) Deletion of an existing file from
foo: To delete a file, the system searches the list for the file's entry. If the file is found, say at the beginning or in the middle of the list, its entry is removed, and the operation is successfully completed. The search can stop as soon as the file is found. A full scan is only needed in the worst case (the file is the last entry) or if the file does not exist. It is not necessarily required for a successful deletion. - (C) Renaming of an existing file in
foo: Renaming a file fromold_nametonew_nameis a composite operation. It involves:
old_name. This part, like deletion, doesn't necessarily require a full scan.2. Ensuring that
new_name does not already exist in the directory to avoid a name collision. This check for uniqueness, just like in file creation, requires a full scan of the entire linear list.Therefore, the overall renaming operation necessarily requires a full scan to guarantee correctness.
- (D) Opening of an existing file in
foo: Opening a file requires finding its entry in the directory to access its metadata (e.g., location of data blocks). Similar to deletion, the search can stop as soon as the entry is found. A full scan is not necessary if the file is not the last item in the list. Thus, a full scan is not necessarily required for a successful open.
Continue learning with Success Tracker
A step still unclear? Work through it with support
Use Success Tracker to ask about the reasoning, then try another GATE CS question to check your understanding.
AI-powered practice· Unlimited practice on eligible plans
- PYQs with solutions
- Attempt available previous-year questions, then compare your reasoning with the worked solution. Coverage varies by stream.
- Practice that adapts
- Choose a topic, work on weaker areas and bookmark questions to revisit. Your attempts feed your progress tracking.
- AI doubt support
- Ask follow-up questions about a step or concept while practising, instead of stopping at the final answer.
Unlimited practice is available on eligible plans. Free practice and AI usage have limits; check the current plan allowances before choosing.
This page stays readable without an account. AI responses can be wrong; check them against the solution and source material.
More questions on File Systems
2026 Set 2 Q23Which one of the following CPU scheduling algorithms cannot be preemptive?2026 Set 1 Q29With respect to deadlocks in an operating system, which of the following statements is/are FALSE?2026 Set 1 Q31In the context of relational database normalization, which of the following statements is/are true?2026 Set 1 Q35Consider a system consisting of instances of a resource , being shared by 5 processes.…2026 Set 2 Q51Consider three processes P1, P2, and P3 running identical code, as shown in the pseudocode below. A…