操作系统-第三章进程通信.pptVIP

  1. 1、本文档共91页,可阅读全部内容。
  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文档。上传文档
查看更多
第3章 进程管理 3.1 进程的概念 3.2 进程的描述 3.3 进程状态及其转换 3.4 进程控制 3.5 进程互斥 3.6 进程同步 3.7 进程通信 3.8 死锁问题 3.9 线程的概念 3.10线程分类与执行 本章小结 习题 剥夺策略设计复杂,如: 当进程Pi申请资源时,若有则分配,若没有则剥夺Pi占有的所有资源。 当进程Pi申请ri类资源时,若有则分配,若无则剥夺占有ri类资源进程所占的ri类资源分配给Pi; 习题 3.2 试比较进程和程序的区别。 3.3 我们说程序的并发执行将导致最终结果失去封闭性。这话对所有的程序都成立吗?试举例说明。 3.6 什么是临界区?试举一临界区的例子。 3.8 什么是进程间的互斥?什么是进程间同步? 3.10 设在书 3.6节中所描述的生产者-消费者问题中,其缓冲部分为m个长度相等的有界缓冲区组成,且每次传输数据长度等于有界缓冲区长度以及生产者和消费者可对缓冲区同时操作。重新描述发送过程deposit(data)和接收过程remove(data)。 习题 3.11 两进程PA,PB之间的通信问题 3.14 哲学家就餐问题。 3.15 什么是线程?试述线程与进程的区别。 3.9 线 程 3.9.1 线程的引入 3.9.2 线程的概念 3.9.3 线程与进程的区别 3.9.4 线程的适用范围 进程的两个基本属性 进程是一个可拥有资源的基本单位。 进程同时又是一个可独立调度和分派的基本单位。 进程作为一个资源拥有者,在创建、撤消、切换中,系统必须为之付出较大时空开销。所以系统中进程的数量不宜过多,进程切换的频率不宜过高,但这也就限制了并发程度的进一步提高。 3.9.1 线程的引入 1. 引入线程是为了提高系统的执行效率,减少处理机的空转时间和调度切换(保护现场信息)的时间,以及便于系统管理。 一个进程内的基本调度单位称为线程thread 线程既可以由操作系统内核控制,也可以由用户程序控制 在引入线程的OS中,线程是进程中的一个实体,是被系统独立调度和分派的基本单位。 线程自己基本不拥有系统资源,只拥有少量必不可少的资源:程序计数器、一组寄存器、栈。 它可与同属一个进程的其它线程共享进程所拥有的全部资源。 一个线程可以创建和撤消另一个线程;同一进程中的多个线程之间可以并发执行。 3.9.2 线程的概念 线程是进程内的基本CPU调度单位。这个调度单位可以由操作系统内核控制,也可以由用户程序控制。 线程的组成:(如图:3.25-3.26) 线程只由相关堆栈(系统栈或用户栈)寄存器和线程控制表TCB组成。 线程具有进程的许多特征,故又称轻型进程,传统进程称重型进程。 3.9.3线程与进程的比较 在引入线程的OS中,每一进程都拥有多个线程,至少一个。 下面我们通过四方面来区别两者的关系: 线程 线程 线程 进程1 进程2 进程3 进程与线程关系图 ① 调度 在传统OS中,拥有资源、独立调度和分派的基本单位都是进程,在引入线程的系统中,线程是调度和分派的基本单位,而进程是拥有资源的基本单位。 在同一个进程内线程切换不会产生进程切换,由一个进程内的线程切换到另一个进程内的线程时,将会引起进程切换。 2. 线程与进程的比较 2. 线程与进程的比较 ② 并发性 在引入线程的系统中,进程之间可并发,同一进程内的各线程之间也能并发执行。因而系统具有更好的并发性。 2. 线程与进程的比较 ③ 资源拥有 无论是传统OS,还是引入线程的OS,进程都是拥有资源的独立单位,线程一般不拥有系统资源,但它可以访问隶属进程的资源。即一个进程的所有资源可供进程内的所有线程共享。 2. 线程与进程的比较 ④ 系统开销 进程的创建和撤消的开销要远大于线程创建和撤消的开销,进程切换时,当前进程的CPU环境要保存,新进程的CPU环境要设置.线程切换时只须保存和设置少量寄存器,并不涉及存储管理方面的操作 同时,同一进程内的各线程由于它们拥有相同的地址空间,它们之间的同步和通信的实现也变得比较容易。 图3.24 多线程与进程之间的关系 3.9.4 线程的适用范围 引入线程的好处: 创建一个新线程花费时间少(结束亦如此) 两个线程的切换花费时间少 因为同一进程内的线程共享内存和文件,因此它们之间相互通信无须调用内核 因此最适合多处理机系统 同一用户程序可以根据不同的功能划分为不同的线程,放在不同的处理机上执行 几种典型的应用: 服务器中的文件管理或通信控制 在局域网的文件服务器中,对文件的访问要求可被服务器进程派生出的线程进行处理。由于服务器同时可能接受许多个文件访问要求,则系统可以

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档