Statement (A) is correct.
User-level threads are managed by a user-space thread library.
They can therefore be implemented without adding thread-management support to the kernel.
Statement (B) is correct.
In a many-to-one user-level model, the kernel sees the entire process as one schedulable entity.
If one user thread performs blocking I/O, the kernel may block the entire process.
Statement (C) is incorrect.
Kernel-level threads are independently visible to the operating-system scheduler.
Different threads of the same process can therefore be scheduled simultaneously on different processors.
Statement (D) is correct.
A hybrid or many-to-many model multiplexes several user-level threads over a set of kernel-level threads.
It combines user-level management with kernel-supported parallelism.