为什么说进程是操作系统分配资源的基本单位,线程是CPU调度的基本单位

进程和线程两个容易混淆,首先在Linux内核中是没有线程这个概念的,我们常说的线程其实是轻量级进程的概念:LWP,线程概念其实是C库中的。

我们常说进程是操作系统分配资源的基本单位,线程是CPU调度的基本单位,但这是为什么?

  在Linux中每一个进程都是由task_struct结构体来实现的,轻量级进程也就是我们所说的线程它也是一个task_struct结构体实现,当一个程序运行时,操作系用会给这个进程分进程虚拟地址空间,而一个进程中可能存在多个线程来完成不同的事情,把线程的task_struct加载到一个双端队列上从而让CPU去进行调度。

 


版权声明:本文为XHumble原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。