网站大量收购独家精品文档,联系QQ:2885784924

华中科技大学操作系统课件全集.pptVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第四章多线程(thread)线程是近年来操作系统领域出现的一个非常重要的机制和技术,其重要程度不亚于进程。线程机制可以提高程序执行的效率,而且也方便用户编程,不但适用于多机系统,对大多数单CPU的个人计算机也同样带来好处,因此当代操作系统都支持线程。1、线程的引入进程的两个基本属性:资源分配的基本单位:给每个进程分配一虚拟地址空间,保存进程映像,控制一些资源(文件,I/O设备),有状态、优先级、调度调度基本单位:进程是一个执行轨迹。以上两个属性构成进程并发执行的基础。对进程系统必须完成的操作:创建进程撤消进程进程切换缺点:时间空间开销大,限制并发度的提高引入线程的目的进程的局限性在操作系统中,进程的引入提高了计算机资源的利用效率。但在进一步提高进程的并发性时,人们发现进程切换开销占的比重越来越大;传统的进程不能很好的利用多处理器,因为一个进程在某个时刻只能使用一个处理器;进程间通信的效率受到限制;引入线程的目的:减小(进程/线程)上下文切换开销;更好支持多处理器(MP),达到最大程度的并行;简化进程间的通信;定义:线程是进程内一个相对独立的、可调度的执行单元。有时称轻量级进程。1将原来进程的两个属性分开处理。2每个线程都具有3执行状态;4受保护的线程上下文,当线程不运行时,用于存储现场信息5独立的程序指令计数器6执行堆栈7容纳局部变量的静态存储器8可存取所在进程的内存和其他资源92、线程的概念并行性:同一进程的多个线程可在一个或多个处理器上并发或并行运行1共享性:同一个进程中的所有线程共享进程获得的主存空间和一切资源2动态性:线程也是程序在相应数据集上的一次执行,由创建而产生,至撤销而消亡,有其生命周期3线程的特性由于共享资源,线程间需要通信和同步机制线程可以创建其他线程线程是操作系统中的基本的调度单元线程有生命期,有诞生和死亡线程并不拥有资源,只是使用他们,进程是资源分配和拥有的基本单元。线程是进程内一个相对独立的可执行单元进程中至少要有一个或一个以上的线程线程的性质STEP4STEP3STEP2STEP1创建一个新线程花费时间少(结束亦如此)同一进程中两个线程的切换花费时间少,如果机器设有“存储[恢复]所有寄存器”指令,则整个切换过程用几条指令即可完成)由于同一进程内的线程共享内存和文件,因此它们之间相互通信无须调用内核适合多处理机系统线程的好处前台和后台工作异步处理工作加快执行速度组织复杂工作多用户服务线程的应用线程已具备执行的条件,等待调度程序分配给一个CPU运行运行状态线程正在CPU上运行等待状态线程正等待某事件发生就绪状态020103050604线程的状态由于线程是调度和执行的基本单位,在它的生命过程中有状态的变化:进程与线程的比较调度: 进程中可能有多个线程,一个线程阻塞并不影响整个进程,进程中的其他线程仍然可以参与调度运行并发性: 进程间可并发,同一进程中的线程间亦可并发拥有资源:进程拥有资源,进程中有挂起操作,线程不拥有资源,没有权力决定进程或自己从主存撤出,挂起只是进程一级的概念系统开销:线程上下文切换比进程上下文切换要快得多,同一进程中的线程切换系统开销小。地址空间和其他资源(如打开文件):进程间相互独立,同一进程的各线程间共享--某进程内的线程在其他进程不可见。通信:进程间通信通过IPC,线程间可以直接读写进程数据段(如全局变量)来进行通信--需要进程同步和互斥手段的辅助,以保证数据的一致性2015创建线程原语2019挂起一个线程2016撤消线程原语2020恢复一个线程2017阻塞或等待原语2021改变优先数线程控制原语1每个线程属于某个线程组2每个线程创建时,用户可以显示的说明为它创建一个新的线程组;也可以由系统自动把该线程归入创建该线程的线程所在的线程组3线程组是多个线程的集合,系统将它们归入一个单独的对象,统一加以管理4可为线程组设置不同的特性和保密安全方法5一个线程在已被创建后,不能更改移入其他线程组线程组(threadgroup)单线程进程单线程进程(模型)用户地址空间进程控制块用户堆栈内核堆栈进程进程控制块用户地址空间用户栈内核栈管理者执行序列多线程进程多线程进程(模型)…用户地址空间进程控制块线程控制块系统堆栈用户堆栈线程1线程控制块系统堆栈用户堆栈线程N1单进程和单线程

文档评论(0)

junjun37473 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档