A UNIX domain socket supports local process communication through the socket interface.
It avoids network routing while retaining familiar stream or datagram semantics.
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.
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.
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: 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.
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: 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: 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: 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.
The loopback address routes packets internally to the local machine without using an external network link.
It is useful for testing network services and local client-server communication.
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.
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.