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

第3章_操作系统_进程管理-new.ppt

  1. 1、本文档共165页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章_操作系统_进程管理-new

作业 P84 3.14 3.9 线程的概念 3.9.1 为什么要引入线程 3.9.2 线程的基本概念 3.9.3 线程与进程的区别 3.9.4 线程的使用范围 3.9.1 为什么要引入线程 ★进程的问题:创建、调度切换、保护现场信息系统开销大。 ★为了减少进程切换和创建开销,提高执行效率和节省资源,在操作系统中引入线程(thread)的概念。 3.9.2 线程的基本概念 ★线程的定义——线程是由进程派生出来的一组代码(指令组)的执行过程 ,是一个进程内的基本调度单位。 ★特点——线程是由进程派生出来的,一个进程可以产生多个线程。它可以共享进程的内存空间,多线程之间可以并发、异步地执行。 ★采用线程的优点——使同一个程序能有几个并发执行路径,提高了执行速度;线程需要的开销比进程小。 3.9.3 进程和线程的区别 ★进程是资源分配的基本单位,所有与该进程有关的资源都被记录在PCB中。 线程与资源分配无关,它属于一个进程,并与进程内的其他线程一起共享进程的资源。 ★ 进程是抢占处理机的调度单位,它有完整的虚拟地址空间。 线程是进程的一部分,它没有自己的地址空间,同一个进程内的线程共享同一地址空间,线程只有自己的线程控制表TCB。 3.9.3 进程和线程的区别 ★进程切换时涉及到进程上下文的保存和恢复,是一个比较庞大的场面。 线程切换时,由于共享进程的资源和地址空间,因此没有地址空间的保存和恢复,减少了系统的开销。 ★进程的调度由操作系统内核完成。 线程的调度既可以由系统内核完成也可以由用户程序进行 ★一个进程可以拥有一个或多个线程,但一个线程只能隶属于一个进程。 进程和线程之间的关系 进程 3.9.4 线程的适用范围 ★在有多个任务同时需要处理机处理时,可以减少处理及的切换时间;线程的创建和撤销比进程进程的创建和撤销小。最适合线程的系统是多处理机系统、网络系统或者分布式系统。 ★典型的应用:服务器中的文件管理和通讯控制。局域网中的文件访问请求可以由服务器派生出的多个线程处理,如果是多个处理机则可以放在多个处理机上处理。FTP服务,QQ聊天,多线程下载等。 单线程时的RPC请求处理 多线程时的RPC请求处理 时间 用户程序 服务器1 服务器2 RPC请求1 结果1 RPC请求2 结果2 时间 用户程序 服务器1 服务器2 RPC请求1 结果1 RPC请求2 结果2 3.10 线程的分类与执行 3.10.1 线程的分类 3.10.2 线程的执行特性 3.10.1 线程的分类 ★用户级线程:线程的管理全部由用户程序完成,内核只对进程管理,系统提供一个线程库,提供线程的创建、调度、撤销、通信等功能。 ★系统级线程(核心级线程):提供了线程管理的系统调用,在系统空间执行。 ★问题:用户级线程可能出现一个进程是阻塞状态,但是它的所属线程却是执行状态,因为用户级线程的上下文切换与内核无关。而内核级线程是由系统负责调度和切换,因此,不会发生上述情况。 3.10.2 线程的执行特性 3个基本状态:执行、就绪和阻塞。没有挂起状态(不会被调出内存)。 挂起状态是由于进程优先级的引入,一些低优先级进程可能等待较长时间,从而被对换至外存。这样做的目的是:提高处理机效率,为运行进程提供足够内存。 程序的各种状态及相应的调度方式 作业 P83 3.11, 3.13 3.8 死锁问题 3.8.1 死锁的概念 3.8.2 死锁的排除方法 3.8.1 死锁的概念 ★死锁的定义:是指各并发进程彼此互相等待对方所拥有的资源,并且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源,造成并发进程都无法向前推进,称这种现象为死锁现象。 ★死锁的原因:资源数少于并发进程要求的数量。 3.8.1 死锁的概念 ★ 产生死锁的四个必要条件 1)互斥条件:在一段时间内,一个资源只能由一个进程独占使用,若别的进程也要求该资源,则须等待直至其占用者释放; 2)不剥夺条件:进程所获得的资源在未使用完之前,不能被其它进程强行剥夺,而只能由其自身释放; 3)部分分配:允许进程在不释放其已分得资源的情况下请求并等待分配新的资源; 4)环路条件:存在一个等待进程集合,P0正在等待一个P1占用的资源,P1正在等待一个P2占用的资源,…,Pn正在等待一个由P0占用的资源。 3.8.1 死锁的概念 ★ 产生死锁的四个必要条件 可以通过破坏这四个必要条件中的任何一个来预防死锁的发生。为死锁的预防提供多种途径。 3.8 死锁问题 3.8.1 死锁的概念 3.8.2 死锁的排除方法 3.8.2 死锁的排除方法 ★ 解决死锁问题的基本方法 1)预防:破坏产生死锁的四个必要条件中的一个或多个,使

文档评论(0)

wyjy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档