模拟卷 操作系统 进程和线程 选择题
第 23 题

下列关于进程和线程的叙述中,正确的是( )。 I. 一个进程可包含多个线程,各线程共享进程的虚拟地址空间 II. 一个进程可包含多个线程,各线程共享栈 III. 当一个多线程进程(采用一对一线程模型)中某个线程被阻塞后,其他线程将继续工作 IV. 当一个多线程进程中某个线程被阻塞后,该阻塞进程将被撤销

A. I、II、III B. I、III C. II、III D. II、IV

进程和线程

[tag_link]

正确答案:B

I 正确,因为一个进程可以拥有多个线程,这些线程共享进程的虚拟地址空间,包括代码段、数据段和堆等,但每个线程有独立的栈和寄存器状态。 II 错误,线程虽然共享进程的虚拟地址空间,但每个线程都拥有自己独立的栈,用于存储局部变量和函数调用信息,因此栈并不被所有线程共享。 III 正确,在一对一线程模型(即每个用户线程映射到一个内核线程)中,如果某个线程因等待 I/O 等操作被阻塞,其他线程作为独立的执行流仍可被调度执行,不会全部阻塞。 IV 错误,当多线程进程中某个线程被阻塞时,并不会导致整个进程被撤销; 进程可能继续运行,其他线程仍可工作,进程的撤销通常由操作系统基于资源或错误决定,与单个线程阻塞无关。 综上,只有 I 和 III 正确,对应选项 B。