All mock tests are FREE till 31 December — register to save your progress

User level threads are threads that are visible to the programmer and are unknown to the kernel. The operating system kernel supports and manages kernel level threads. Three different models relate user and kernel level threads:
Statement (A): (i) The many-to-one model maps many user threads to one kernel thread. (ii) The one-to-one model maps one user thread to one kernel thread. (iii) The many-to-many model maps many user threads to a smaller or equal number of kernel threads.
Statement (B): (i) The many-to-one model maps many kernel threads to one user thread. (ii) The one-to-one model maps one kernel thread to one user thread. (iii) The many-to-many model maps many kernel threads to a smaller or equal number of user threads.
Which of the following is true?

Pick an option to check yourself, or open the answer below.

Show answer & explanation

Correct answer: A. (A) is true; (B) is false

Explanation

Statement (A) correctly describes all three standard threading models in the textbook user-to-kernel direction: many-to-one maps several user threads onto a single kernel thread, one-to-one maps each user thread to its own kernel thread, and many-to-many multiplexes many user threads over a smaller-or-equal pool of kernel threads. Statement (B) simply reverses the direction of every mapping (kernel threads mapped onto user threads), which is not how any of the three models are defined, since the kernel schedules kernel threads on the CPU and user threads are built on top of them, never the reverse. Because (A) matches the standard definitions exactly while (B) is an incorrect reversal, the correct choice is (A) is true; (B) is false.

More System Software and Operating System questions