Correct Answer: D. They are recognized and scheduled individually by the operating-system kernel
Explanation:
Kernel-level threads are visible scheduling entities to the operating system.
This supports true parallel execution and allows another thread to run if one thread blocks.
Correct Answer: C. They are managed by a user-space thread library without direct kernel knowledge of each thread
Explanation:
User-level thread operations can be fast because they avoid a kernel transition for every management action.
However, the kernel may schedule only the process or its underlying kernel entity.
Correct Answer: B. Scalability on multiprocessor hardware
Explanation:
Independent threads can execute concurrently on different cores when the workload is parallelizable.
This can reduce completion time compared with using only one execution stream.
Correct Answer: A. Threads reuse the process's existing address space and resources
Explanation:
Thread creation and switching generally manage less state than full process creation and switching.
The shared process context reduces time and memory overhead.
Correct Answer: D. They naturally share the process's memory and resources
Explanation:
Shared code and data let threads exchange information without establishing a separate IPC address space.
Synchronization is still required when multiple threads access shared mutable data.
Multiple threads allow the user-interface thread to remain active while another thread performs a slow task.
The application can therefore respond before the background operation finishes.
Correct Answer: B. Address space containing code and global data
Explanation:
Threads in one process share the process address space and open resources.
Each thread still requires its own execution state, including registers and a stack.
Correct Answer: A. The basic unit of CPU execution within a process
Explanation:
A thread has its own program counter, registers, and stack while executing within a process.
It shares the process's code, data, and many resources with sibling threads.
A UNIX domain socket supports local process communication through the socket interface.
It avoids network routing while retaining familiar stream or datagram semantics.
A signal notifies a process that an event has occurred and may trigger a registered handler.
Signals carry limited information compared with general message-passing mechanisms.
Correct Answer: B. Converting procedure parameters into a transmittable representation
Explanation:
Marshaling serializes arguments into a standard format suitable for transmission between systems.
The receiver unmarshals the data before invoking the requested procedure.
Remote procedure call hides much of the message exchange required for distributed client-server interaction.
Stub code packages arguments, transmits the request, and returns results.