题51

题目

下面关于用户级线程和内核级线程的描述中,错误的是 ( ) 。
A. 采用轮转调度算法, 进程中设置内核级线程和用户级线程的效果完全不同
B. 跨进程的用户级线程调度也不需要内核参与, 控制简单
C. 用户级线程可以在任何操作系统中运行
D. 若系统中只有用户级线程, 则 CPU 的调度对象是进程

分析

用户级线程的调度仍以进程为单位,各个进程轮流执行一个时间片,假设进程 包含 1 个用户级线程,而进程 包含 100 个用户级线程,此时进程 中单个线程的运行时间将是进程 中各个线程平均运行时间的 100 倍;
内核级线程的调度是以线程为单位的, 各个线程轮流执行一个时间片,同样假设进程 包含 1 个内核级线程,而进程 包含 100 个内核级线程,此时进程 的运行时间将是进程 的 100 倍, 正确。
用户级线程的调度单位是进程,跨进程的线程调度需要内核支持, B 错误。
用户级线程是由用户程序或函数库实现的, 不依赖于操作系统的支持, C 正确。
用户级线程对操作系统是透明的, CPU 调度的对象仍然是进程, D 正确。

B