Which one of the following is FALSE?

2014

Which one of the following is FALSE?

  1. A.

    User level threads are not scheduled by the kernel.

  2. B.

    When a user level thread is blocked, all other threads of its process are blocked.

  3. C.

    Context switching between user level threads is faster than context switching between kernel level threads.

  4. D.

    Kernel level threads cannot share the code segment

Attempted by 318 students.

Show answer & explanation

Correct answer: D

Answer: The statement "Kernel level threads cannot share the code segment" is false.

Explanation:

  • "Kernel level threads cannot share the code segment" is false because kernel-level threads of the same process share the process address space, including code and data segments; they have separate registers and stacks but can execute shared code.

  • "User level threads are not scheduled by the kernel" is true: a user-level thread library schedules them in user space, while the kernel schedules the process or its kernel thread.

  • "When a user level thread is blocked, all other threads of its process are blocked" is generally true for pure user-level threading because the kernel treats the process as a single schedulable entity and blocks it on blocking system calls.

  • "Context switching between user level threads is faster than context switching between kernel level threads" is true because user-level switches avoid kernel-mode transitions and associated overhead.

A video solution is available for this question — log in and enroll to watch it.

Explore the full course: Gate Guidance By Sanchit Sir