AMU 2026 — Computer PYQ
AMU | Computer | 2026A thread is usually defined as a 'light weight process' because an operating system (OS) maintains smaller data structures for a thread than for a process. In relation to this, which of the followings is TRUE?
Choose the correct answer:
- A.
The OS does not maintain a separate stack for each thread
- B.
On per-thread basis, the OS maintains only CPU register state
- C.
On per-thread basis, the OS does not maintain virtual memory state
(Correct Answer) - D.
On per-thread basis, the OS maintains only scheduling and accounting information
On per-thread basis, the OS does not maintain virtual memory state
Explanation
To identify why statement (c) is uniquely correct, let us understand how an operating system allocates resources and isolates memory between multiple threads executing inside a single parent process.
Understanding Virtual Memory State: A process possesses its own independent virtual memory state, managed through page tables and a Memory Management Unit (MMU). When threads are created within that process, they share the same address space, code segment, data segment, and operating system resources (like open files). Because all threads share the exact same address space, the operating system does not maintain a distinct virtual memory state or unique translation page tables on a per-thread basis. Thus, statement (c) is completely true.
Analysis of the Incorrect Options
Let us look at why the other choices fail to satisfy the properties of a thread:
Option (a) is False: Each thread executes functions independently. Therefore, the OS must maintain a separate call stack for every individual thread to keep track of its local variables, function arguments, and execution return history.
Option (b) is False: While the OS does maintain the CPU register state (including the program counter) for each thread, it is not the only thing it maintains. It also manages a thread-specific stack, thread ID, execution state, and priority levels.
Option (d) is False: Scheduling parameters (like priority) are maintained per thread, but the OS also manages accounting information primarily at the process level (such as total CPU usage time, user privileges) alongside the thread's own independent execution context (registers, stack pointers).
Per-Thread vs. Per-Process Resource Comparison Table
Resources Maintained per Thread (Private Context) | Resources Shared Across Threads (Process-Wide Context) |
Unique Thread ID (TID) | Code Segment (Instructions) |
Program Counter (PC) | Data Segment (Global & Static Variables) |
Stack Memory (Local Variables) | Heap Memory (Dynamic Allocations) |
Processor Registers Set | Virtual Memory State (Page Tables) |
Thread-specific state and priority | File Descriptors and System Handles |
