Correct Answer: D. Each processor participates in scheduling and can run kernel and user tasks
Explanation:
In symmetric multiprocessing, processors are peers that can schedule work from shared or per-CPU queues.
This improves flexibility but requires coordination over shared scheduling data.
Correct Answer: C. One master processor controls scheduling and system activities for the others
Explanation:
Asymmetric multiprocessing assigns a master processor to handle scheduling and selected kernel responsibilities.
Other processors execute tasks directed by the master.
Data parallelism divides a common data set into parts processed by similar operations concurrently.
Task parallelism instead assigns different kinds of work to different threads.
Correct Answer: A. Concurrency means multiple tasks make progress over time, while parallelism means tasks execute simultaneously
Explanation:
Concurrency can be achieved by interleaving tasks on one processor or by simultaneous execution.
Parallelism specifically requires overlapping execution on multiple processing units.
Processor affinity favors running a thread on a previous CPU to preserve cache locality.
Avoiding unnecessary migration can improve performance on multiprocessor systems.
Correct Answer: C. All kernel-schedulable threads in the system
Explanation:
System-contention scope schedules kernel-visible threads against other runnable threads system-wide.
This is the normal scope for kernel-level thread scheduling.
Correct Answer: B. Threads within the same process
Explanation:
Process-contention scope selects among user threads belonging to one process.
The thread library typically performs this competition before the kernel schedules underlying entities.
Correct Answer: A. A kernel-supported execution entity on which user threads can be scheduled
Explanation:
A lightweight process acts as an intermediate kernel scheduling resource for user-level threads.
The user thread library multiplexes its threads over these entities.
Correct Answer: D. To coordinate user-level thread management with kernel scheduling events
Explanation:
Scheduler activations provide a communication mechanism between the kernel and a user-level thread library.
They help the library react when kernel threads block, resume, or become available.
Thread-local storage gives each thread its own instance of a logically common variable.
It is useful for per-thread state that should not be shared or locked.
Asynchronous cancellation permits termination at an arbitrary execution point.
It is dangerous because the thread may hold resources or be updating shared state.
Correct Answer: A. When it reaches a defined cancellation point and processes the request
Explanation:
Deferred cancellation lets the target thread stop at controlled points where cleanup is safer.
It reduces the risk of leaving locks held or data structures inconsistent.