前言
本篇主要对进程和线程的概念进行分析,kernel中的进程、线程模型,涉及进程、用户态线程、内核态线程、轻量级进程(LWP),在分析之前,需要阅读What are threads?,该文章有便于理解操作系统中线程、用户态线程和内核态线程的对应关系。
不同操作系统对线程和进程的理解及对应关系稍有不同(M:N、N:1、1:1),本篇只针对Linux操作系统。
本篇文章是阅读ULK3及网上相应文章后的个人总结笔记,加上了我的理解,这部分内容会加以标识,如有错误,欢迎指正。
进程
根据ULK3上对进程的定义:“进程是程序执行时的一个实例”、“一个运行程序的执行上下文”、“是系统分配资源的最小单位”。
描述一个进程
当我们谈论进程时,我们在谈论什么?
众所周知,kernel中用进程描述符task_struct来定义一个进程:
关于task_struct即各个成员的含义,属于老生常谈,这里就不讨论了,但是从上图可以看出一个进程的基本组成如下:<
本文深入探讨Linux操作系统中的进程和线程概念,包括进程的定义、进程描述符task_struct、内核线程与用户线程的差异,特别是轻量级进程(LWP)的角色。LWP简化了线程管理,提高了并发性和资源利用率。进程与线程在Linux中表现为包含关系,进程切换开销大,而线程开销小。
最低0.47元/天 解锁文章
1276

被折叠的 条评论
为什么被折叠?



