首页 > 试题广场 >

进程和线程是操作系统中最基本的概念,下列有关描述错误的是:

[单选题]
进程和线程是操作系统中最基本的概念,下列有关描述错误的是:
  • 线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。
  • 由于线程没有独立的地址空间,因此同一个进程的一组线程可以访问该进程资源,这些线程之间的通信也很高效
  • 线程之间的通信简单(共享内存即可,但须注意互斥访问的问题),而不同进程之间的通信更为复发,通常需要调用内核实现
  • 线程有独立的虚拟地址空间,但是拥有的资源相对进程来说,只有运行所必须的栈,寄存器等
Ed头像 Ed
感觉B没错,A倒是可疑。
发表于 2016-03-22 18:40:06 回复(3)
B:线程之间的通信是为了同步(毕竟共享进程的资源),同步措施实施起来并不高效
发表于 2015-12-02 16:14:22 回复(3)
同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间, 文件描述符 信号处理 等等。但同一进程中的多个线程有各自的 调用栈 (call stack),自己的 寄存器环境 (register context),自己的线程本地存储(thread-local storage)。



发表于 2015-12-01 22:59:50 回复(0)
B因果关系错了
D线程没有自己实际的的地址空间,但D说的是虚拟地址空间。所以对
发表于 2017-08-05 15:29:00 回复(0)
进程的表示包括他的进程控制块,用户地址空间,以及在进程执行中管理调用行为的用户栈和内核栈。
每个线程有一个独立的栈,还有独立的控制块用于包含寄存器值、优先级和其他与线程相关的状态信息,进程中所有线程共享该进程的状态与资源,且驻留在同一块地址空间中。
在大多数操作系统中,独立进程简单额通信需要内核的接入,已提供保护和通信所需要的机制,但在同一进程中的线程共享内存和文件,无需调用内核就可以相互通信;

发表于 2017-05-15 15:57:39 回复(0)
感觉B也没错啊,既然在这说线程间通信高效,那一定是和进程比。再次,线程不是说不具有独立的地址空间,只有一些运行时必须的寄存器、堆栈么?!
发表于 2016-02-10 07:16:06 回复(0)
D、怎么就对了?难道线程有自己的地址空间????
进程和线程的一个区别不就是说,进程有自己的独立的虚拟用户地址空间,而线程没有,和该进程的其他线程共享进程的地址空间吗?求大神指点!!!
编辑于 2016-07-17 17:28:02 回复(10)
线程不是没有独立的虚拟地址空间吗?线程应该共享进程的地址空间才对啊!
发表于 2016-04-06 19:27:18 回复(2)
关于D选项: 
首先进程是资源分配的基本单元,所以线程作为进程实体的一部分,线程是没有存储空间的,应该说是有"虚拟"的地址空间
但是这个虚拟的地址空间是作为线程之间的共享资源(如代码段,数据段和文件)来共享的,也就是说线程是没有独立的虚拟地址空间
所以D选项说法错误,应该选D
发表于 2020-04-19 14:33:57 回复(0)
😂如果是不定选项我猜会有更多人做对
发表于 2016-11-15 11:41:59 回复(0)
答案是B
          线程一般拥有私有的唯一标识符,寄存器,堆栈,程序计数器
发表于 2015-11-30 13:43:26 回复(1)
线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理等等。但同一进程中的多个线程有各自的调用栈(call stack),自己的寄存器环境(register context),自己的线程本地存储(thread-local storage)。 因此选项D中的线程有独立的虚拟地址空间是错误的。
发表于 2020-11-06 10:53:30 回复(0)
<p>线程不拥有资源,进程拥有资源</p>
发表于 2020-09-14 00:33:47 回复(0)
线程不具有独立的虚拟地址空间,有说线程拥有独立空间是系统分配给进程的空间中有部分是线程独有不共享
发表于 2019-06-25 13:59:14 回复(0)
进程都有自己的独立地址空间。 线程没有自己独立的地址空间。但是,可以说成,线程有自己独立的“虚拟”地址空间。 B的因果关系错了。
发表于 2018-05-08 15:10:06 回复(0)
线程有自己的线程栈和寄存器存放函数调用地址。操作系统课中重点说过线程实现对比进程那绝对是高效了省事。这里错在没有独立地址。而如果非要在os角度说,进程是资源调度的基本单位,线程可以说是属于进程的,可以说没有进程就没有线程,但是每个线程除了共享进程的资源,还有寄存器是私有的, 但是如果非要说是不是线程的 这个底层还真模糊,线程都相当于属于进程了,他的地址还不算吗 所以,站在操作系统os角度,人家眼里根本没有线程。 打个比方:Unix系统实现了内核进程与用户【进程】线程之间的N:M映射【windows linux java应该 是1:1 即一个进程=一个内核进程】 那么每个用户线程不一定对应于一个唯一的os进程,因为是N:M 多对多关系啊,由于多线程多进程,运行于os上的内核进程不一定一直运行你这个线程,那此时我你说它属于os是不是更好?因为说他属于进程的话,鬼知道是哪个内核进程?【ps:毕竟你没跟我说是运行的什么时间段是不是 这不是耍流氓吗】
编辑于 2018-02-06 11:53:03 回复(0)
此题毁一生。录题人估计把答案弄错了。
发表于 2017-12-14 09:10:21 回复(0)
语文题,看个人理解题目的意思了,反正自己心里清楚即可......
发表于 2017-11-27 13:10:26 回复(0)
由于线程没有独立的地址空间,因此同一个进程的一组线程可以访问该进程资源。 应该是这个因果关系错了,一组线程访问进行资源是是和该线程组是所属该进程有关,而不是因为线程没有独立.....
发表于 2017-10-08 17:06:06 回复(0)
这是怎么回事?两道题答案不一样
编辑于 2017-04-22 17:29:01 回复(1)