- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
周国运《操作系统》讲义[第2章2.4]
2.4 线程及其实现 2.4.0 引入多线程技术的动机 2.4.1 线程的概念与状态 2.4.2 线程的管理与应用 2.4.3 线程的实现 2.4.4 实例研究:Solaris的进程与线程 2.4.5实例研究:Windows2000/XP的进程与线程 2.4.0 引入多线程技术的动机 考察一个文件服务器的例子 大量用户访问数据库,有大量进程都需要使用磁盘读数据,对于单线程结构的进程,效率很低。 单线程(结构)进程(Single Threaded Process) 多线程(结构)进程(Multiple Threaded process) 单线程结构进程给并发程序设计效率带来问题 ?进程切换开销大 ?进程通信代价大 ?进程之间的并发性粒度较粗,并 发度不高 ?不适合并行计算和分布并行计算 的要求 ?不适合客户/服务器计算的要求。 2.4.1 线程的概念与状态 操作系统中引入进程的目的是为了使多个程序并发执行,以改善资源使用率和提高系统效率。 操作系统中再引入线程,则是为了减少程序并发执行时所付出的时空开销,使得并发粒度更细、并发性更好。 ? 把进程的两项功能--“独立分配资源”与“被调度分派执行”分离开来。 ? 进程作为系统资源分配和保护的独立单位,不需要频繁地切换; ? 线程作为系统调度和分派的基本单位,能轻装运行,会被频繁地调度和切换,在这种指导思想下,产生了线程的概念。 2.4.1 之----线程的概念(2) 线程的定义: 线程是进程内一个相对独立的、可调度的执行单元。 线程的特征: 结构性:主要有线程控制块TCB(标识、现场信息(寄存器、PC值、栈针)、调度信息(状态、优先级等))、数据块(过程参数、数据、系统与用户堆栈)。 动态性:有生命期,有状态变化,可创建子线程。 共享性:同一进程中的各线程在同一主存空间,可以共享进程中的所有资源(数据、设备、文件),线程间通信方便。 并发性:同一进程中的各线程可并发执行。 线程又称轻量进程 ?线程运行在进程的上下文中,并使用进程的资源和环境。 ?系统调度的基本单位是线程而不是进程,每当创建一个进程时,至少要同时为该进程创建一个线程,否则该进程无法被调度执行。 单线程进程的内存布局和运行 管理和执行相分离的进程模型 多线程进程的内存布局 并发多线程程序设计的优点 ? 快速线程切换 ? 减少(系统)管理开销 ?(线程)通信易于实现 ? 并行程度提高 ? 节省内存空间 ? 2.4.1 之----线程的状态 线程状态有:运行、就绪和阻塞三种状态。线程的状态转换也类似于进程。 挂起状态对线程是没有意义的,如果进程挂起后被对换出主存,则它的所有线程因共享了进程的地址空间,也必须全部对换出去。 线程的两种阻塞方式时: 阻塞进程方式:对某些线程实现机制,当线程被阻塞时,所在进程也转换为阻塞态,即使这个进程存在另一个处于就绪态的线程。 阻塞线程方式:对另一些线程实现机制,如果存在另外一个处于就绪态的线程,则调度该线程进入运行状态,否则进程才转换为阻塞态。 2.4.2 线程管理与应用 一、线程的管理 线程包(库) 多线程技术利用线程包(库)提供线程原语集来支持多线程运行 线程包(库)可分成两种:用户空间中运行的线程包(库)和内核中运行的线程包(库)。 有的操作系统直接支持多线程,而有的操作系统不支持多线程。 2.4.2 线程管理与应用(2) 一、线程的管理(2) 程控制原语 线程包(库)提供一组API,支持应用程序创建、调度、撤销和管理线程的运行。基本线程控制原语有: ?孵化(Spawn):又称创建线程 ?封锁(Block):又称阻塞线程 ?活化(Unblock):又称恢复线程 ?结束(Finish):又称撤销线程 ?改变优先数(Priority) 2.4.2 线程管理与应用(3) 一、线程的管理 进程中线程的组织方式 第一种是调度员/工作者模式 第二种是组模式 第三种是流水线模式 二、多线程技术的应用 ?前台和后台工作 ?C/S应用模式 ?异步处理 ?加快执行速度 ?设计用户接口(键盘、鼠标、显示器、网络) 2.4.3 线程的实现 从实现的角度看,线程可以分成三种 ?用户级线程ULT(User Level Threads) 如Java 、Informix ?内核级
您可能关注的文档
最近下载
- NB-T47008-2010承压设备用碳素钢和合金钢锻件.pdf VIP
- 关于XX学校基孔肯雅热防控工作方案(必威体育精装版版).pdf
- 风电光伏安装施工培训课件课件.pptx VIP
- 富士FFA电梯控制系统使用说明书NW3P电气原理图纸.pdf
- DB50T 867.6-2019 安全生产技术规范 第6部分:黑色金属冶炼企业 .pdf VIP
- 核心素养视域下高中思政课教学目标设计探析.pptx VIP
- 英语课件怎么做.pptx VIP
- 景区标识标牌标识标牌安装方案.docx
- 《钢结构通用规范+GB+55006-2021》详细解读.pdf
- 2024年度省安委会成员单位安全生产工作考核要点和评分标准(2).docx
有哪些信誉好的足球投注网站
文档评论(0)