- 1
- 0
- 约1.89千字
- 约 3页
- 2018-07-09 发布于江苏
- 举报
进程,轻量级进程,内核线程,用户线程地区别关系
进程,轻量级进程,内核线程,用户线程的区别关系在现代操作系统中,进程支持多线程。进程是资源管理的最小单元;而线程是程序执行的最小单元。一个进程的组成实体可以分为两大部分:线程集合资源集。进程中的线程是动态的对象;代表了进程指令的执行。资源,包括地址空间、打开的文件、用户信息等等,由进程内的线程共享。线程有自己的私有数据:程序计数器,栈空间以及寄存器。Why Thread?(传统单线程进程的缺点)1. 现实中有很多需要并发处理的任务,如数据库的服务器端、网络服务器、大容量计算等。2. 传统的UNIX进程是单线程的,单线程意味着程序必须是顺序执行,不能并发;既在一个时刻只能运行在一个处理器上,因此不能充分利用多处理器框架的计算机。3. 如果采用多进程的方法,则有如下问题:a. fork一个子进程的消耗是很大的,fork是一个昂贵的系统调用,即使使用现代的写时复制(copy-on-write)技术。b. 各个进程拥有自己独立的地址空间,进程间的协作需要复杂的IPC技术,如消息传递和共享内存等。多线程的优缺点多线程的优点和缺点实际上是对立统一的。支持多线程的程序(进程)可以取得真正的并行(parallelism),且由于共享进程的代码和全局数据,故线程间的通信是方便的。它的缺点也是由于线程共享进程的地址空间,因此可能会导致竞争,因此对某一块有多个线程要访问的数据需要一些同步技术。三种线程——内核线程、轻量级进程、用户线程内核线程内核线程就是内核的分身,一个分身可以处理一件特定事情。这在处理异步事件如异步IO时特别有用。内核线程的使用是廉价的,唯一使用的资源就是内核栈和上下文切换时保存寄存器的空间。支持多线程的内核叫做多线程内核(Multi-Threads kernel )。轻量级进程[*]轻量级线程(LWP)是一种由内核支持的用户线程。它是基于内核线程的高级抽象,因此只有先支持内核线程,才能有LWP。每一个进程有一个或多个LWPs,每个LWP由一个内核线程支持。这种模型实际上就是恐龙书上所提到的一对一线程模型。在这种实现的操作系统中,LWP就是用户线程。由于每个LWP都与一个特定的内核线程关联,因此每个LWP都是一个独立的线程调度单元。即使有一个LWP在系统调用中阻塞,也不会影响整个进程的执行。轻量级进程具有局限性。首先,大多数LWP的操作,如建立、析构以及同步,都需要进行系统调用。系统调用的代价相对较高:需要在user mode和kernel mode中切换。其次,每个LWP都需要有一个内核线程支持,因此LWP要消耗内核资源(内核线程的栈空间)。因此一个系统不能支持大量的LWP。注:1 LWP的术语是借自于SVR4/MP和Solaris 2.x。2 有些系统将LWP称为虚拟处理器。3 将之称为轻量级进程的原因可能是:在内核线程的支持下,LWP是独立的调度单元,就像普通的进程一样。所以LWP的最大特点还是每个LWP都有一个内核线程支持。用户线程LWP虽然本质上属于用户线程,但LWP线程库是建立在内核之上的,LWP的许多操作都要进行系统调用,因此效率不高。而这里的用户线程指的是完全建立在用户空间的线程库,用户线程的建立,同步,销毁,调度完全在用户空间完成,不需要内核的帮助。因此这种线程的操作是极其快速的且低消耗的。上图是最初的一个用户线程模型,从中可以看出,进程中包含线程,用户线程在用户空间中实现,内核并没有直接对用户线程进行调度,内核的调度对象和传统进程一样,还是进程本身,内核并不知道用户线程的存在。用户线程之间的调度由在用户空间实现的线程库实现。这种模型对应着恐龙书中提到的多对一线程模型,其缺点是一个用户线程如果阻塞在系统调用中,则整个进程都将会阻塞。加强版的用户线程——用户线程+LWP这种模型对应着恐龙书中多对多模型。用户线程库还是完全建立在用户空间中,因此用户线程的操作还是很廉价,因此可以建立任意多需要的用户线程。操作系统提供了LWP作为用户线程和内核线程之间的桥梁。LWP还是和前面提到的一样,具有内核线程支持,是内核的调度单元,并且用户线程的系统调用要通过LWP,因此进程中某个用户线程的阻塞不会影响整个进程的执行。用户线程库将建立的用户线程关联到LWP上,LWP与用户线程的数量不一定一致。当内核调度到某个LWP上时,此时与该LWP关联的用户线程就被执行。小结:很多文献中都认为轻量级进程就是线程,实际上这种说法并不完全正确,从前面的分析中可以看到,只有在用户线程完全由轻量级进程构成时,才可以说轻量级进程就是线程。
您可能关注的文档
- 轧钢厂安全员任职能力测评试题8.doc
- 车险承保实务(讨论稿)9.doc
- 车辆购置税法车船税法和印花税法9.doc
- 轨道巷绕道溜煤眼措施9.doc
- 轨道暗斜井上车场挖打水沟、喷浆安全技术措施9.doc
- 转~天大管院海归大战领导8.docx
- 转包工程新营业税税务筹划案例.doc
- 车辆维修中心润滑碳块采购项目9.doc
- 转变思想观念 强化作风建设 三创交流材料8.doc
- 转变思想观念加快侗族地区商品经济发展速度8.doc
- 能源开采行业市场前景及投资研究报告:国内用电结构,电力需求增长引擎.pdf
- 人工智能行业市场前景及投资研究报告:具身智能产业发展,软硬件迭代加速,人形机器人规模突破.pdf
- 三峡旅游-市场前景及投资研究报告-省际游轮业务,迎接成长新纪元.pdf
- 通信行业2026年投资策略分析报告:算力升维,星座织网.pdf
- 水泥行业市场前景及投资研究报告:优质现金流资产,反内卷趋势,盈利改善预期.pdf
- 兴福电子-市场前景及投资研究报告-湿电子化学品龙头,受益存储需求提升.pdf
- 医药生物行业市场前景及投资研究报告:设备招投标,设备拐点向上趋势,医疗科技蓬勃发展.pdf
- 长芯博创-市场前景及投资研究报告-光电互连综合提供商,谷歌算力扩容受益.pdf
- 中国汽研-市场前景及投资研究报告-中国汽车标准做大做强.pdf
- 智谱-市场前景及投资研究报告-深耕AI大模型领域,各场景落地,拓展业务边界.pdf
最近下载
- 病案信息技术(师)-专业知识考试历年参考题库含答案解析(5套)真题题库.docx VIP
- 春季预防传染病安全教案培训讲学.pptx VIP
- 振动培训课件.ppt VIP
- 涉路作业安全规范培训课件.pptx VIP
- 2025届湖南中雅培粹学校上学期九年级第三次月考数学试卷(含答案).pdf VIP
- BORUNTE伯朗特 NBT系统_协作机器人IO、Modbus与远程功能使用手册.pdf
- 江苏省人民医院-招投标数据分析报告.pdf VIP
- 苏州通富超威半导体有限公司高性能中央处理器等集成电路封装测试项目环境影响报告表.docx
- 2023年税务师继续教育题库(历年真题)word版.docx
- 2022年土地登记代理人题库700道精品【达标题】.docx
原创力文档

文档评论(0)