请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于用户态下的进程

我问个题外话,就是一个用户态的进程,假如在4核心CPU的情况下,是不是当这个进程被分配给核心1之后,这个用户态进程底下的线程只能在这个核心1里处理呢(此处假设进程内的线程均为用户态线程),导致核心234被浪费,这些线程就无法利用多核心并发的优势了。实际上这些用户态线程只能微观上在核心1里并发而已,说白了就是只能享受核心1分配给这个进程的时间片。我说的对吧?

同样如果是一个内核态进程,他内部全都是内核态线程,这样它就能真正意义上在全局CPU的平台上,利用核心1234来达到真正的并发,是这样嘛?

正在回答 回答被采纳积分+3

1回答

咚咚呛 2023-03-29 22:52:31


对的,你的理解是正确的。


对于一个用户态进程,当它被分配到一个核心上时,该进程下的所有线程都只能在该核心上运行。这是因为用户态线程是由进程自己的用户空间管理的,而不是由操作系统内核管理的。因此,操作系统只能将整个进程分配给一个核心,而不能将进程中的不同线程分配给不同的核心。


这意味着,如果一个用户态进程只有一个线程在运行,那么它只能在一个核心上运行,而其他核心将被浪费。但是,如果该进程有多个线程在运行,那么这些线程可以在该核心上并发执行,从而利用该核心的多个处理器核心。


对于一个内核态进程,它的所有线程都是由操作系统内核管理的,因此可以在多个核心上并发执行。这意味着,内核态进程可以利用所有可用的处理器核心,从而实现真正的并发执行。


0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号