Final answer:
B) the kernel cannot schedule another thread in the same application for execution. If a kernel thread performs a blocking system call, This is to prevent issues related to resource sharing and synchronization.
Step-by-step explanation:
If a kernel thread performs a blocking system call, the kernel cannot schedule another thread in the same application for execution. When a thread makes a blocking system call, it means that the thread is temporarily suspended until the system call completes. During this time, the kernel is unable to schedule other threads from the same application. Once the blocking system call completes, the suspended thread can resume its execution.
This behavior is due to the fact that threads within the same application may share resources, such as memory space. If the kernel allowed another thread from the same application to be scheduled while one thread is blocked, it could lead to issues related to resource sharing and synchronization.
If a kernel thread performs a blocking system call, The kernel can schedule another thread in the application for execution. This is because modern operating systems support multi-threading, which allows an application to have multiple threads of execution running concurrently.
If one thread is blocked, the kernel can effectively switch context and execute another thread within the same application, therefore making efficient use of the CPU and not letting the entire application come to a halt. This concept forms a part of concurrency in operating systems, which is essential for multitasking environments.