It depends on what you call a "user-level" thread. Threads created with
pthreads *ARE* scheduled by kernel.
i understand from your sentence that pthreads are a user-level threads but the kernel is aware of them and do the scheduling for them. is this means that calling a blocking operation from one pthread will NOT block the whole process ? so what do i miss ? does pthreads create threads using clone syscalls ? or is there is a second definition of user-level threads ? correct me please
kernel-level threads and kernel threads are two vastly different things.
kernel-level thread (usually) means: A thread of a user space
application, that is a schedulable entity.
kernel thread means: A schedulable entity that runs kernel space code
and has no associated user space.
thank you for clarifying this point. i was unaware of the difference