Find whether given statement True or False? Explain.User level threads are transparent to the kernel?My attempt :False. Since, user level threads are managed by a user level library however, they still require a kernel system call to operate. It does not mean that the kernel knows anything about thread management. Not at all, it only takes care of the execution part. the lock of the cooperation between user level threads and the kernel is a known disadvantage.Somewhere it explain as : The kernel knows nothing about user-level threads and manages them as if they were single-threaded processes. I found another statement User level threads are transparent to OS and kernel level threads are scheduled by OS. It seems correct.My question is : Are user level threads transparent to the kernel? What is meaning of transparent here?
User level threads are transparent to the kernel?
operating systems;concurrency;process scheduling;threads;os kernel
As, the linked answers and the explanations provided by your textbooks describe that, user level threads are transparent to the kernel, yes they are indeed. Kernel Level threads are not transparent to the kernel, but user level threads are. Because you yourself said, that User Level Threads are managed by the User level library, and what happens is, the user level threads can get assigned to one or many kernel threads. About these kernel threads the kernel keeps track of (are not transparent to kernel). But it doesn't know which user threads have got assigned onto these kernel threads and how many. Say, if five user threads are assigned onto one kernel thread and 4 other user threads are assigned onto another kernel thread, the kernel sees just two kernel threads (requesting execution) and doesn't know that there are altogether 9 threads, but it just knows that the program called the User Level Application(s) is(are) using two of the kernel threads. I hope this helps. Also, I suggest you read the linked posts carefully. They're pretty explanatory.