(1.25)--第2章2操作系统原理.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* cpu切换 进程2 cpu切换 进程1 cpu切换 进程2 cpu切换 进程1 CPU速度较慢的情况下 CPU速度变快的情况下 线程的基本概念 * 多线程的好处:考虑一个字处理软件。 字处理软件通常按照出现在打印页上的格式在屏幕上精确显示文档。特别地,所有的行分隔符和页分隔符都在正确的最终位置上,这样在需要时用户可以检查和修改文档(比如,消除孤行—在一页上不完整的顶部行和底部行,因为这些行不甚美观)。 线程的基本概念 * 假设用户正在写一本书。从作者的观点来看,最容易的方法是把整本书作为一个文件,这样一来,查询内容、完成全局替换等都非常容易。另一种方法是,把每一章都处理成单独一个文件。但是,在把每个小节和子小节都分成单个的文件之后,若必须对全书进行全局的修改时,那就真是麻烦了,因为有成百个文件必须一个个地编辑。例如,如果所建议的某个标准xxxx正好在书付印之前被批准了,于是“标准草案xxxx”一类的字眼就必须改为“标准xxxx”。如果整本书是一个文件,那么只要一个命令就可以完成全部的替换处理。相反,如果一本书分成了300个文件,那么就必须分别对每个文件进行编辑。 线程的基本概念 * 现在考虑,如果有一个用户突然在一个有800页的文件的第一页上删掉了一个语句之后,会发生什么情形。在检查了所修改的页面并确认正确后,这个用户现在打算接着在第600页上进行另一个修改,并键入一条命令通知字处理软件转到该页面(可能要查阅只在那里出现的一个短语)。于是字处理软件被强制对整个书的前600页重新进行格式处理,这是因为在排列该页前面的所有页面之前,字处理软件并不知道第600页的第一行应该在哪里。而在第600页的页面可以真正在屏幕上显示出来之前,计算机可能要拖延相当一段时间,从而令用户不甚满意。 线程的基本概念 * 多线程在这里可以发挥作用。假设字处理软件被编写成含有两个线程的程序。一个线程与用户交互,而另一个在后台重新进行格式处理。一旦在第1页中的语句被删除掉,交互线程就立即通知格式化线程对整本书重新进行处理。同时,交互线程继续监控键盘和鼠标,并响应诸如滚动第1页之类的简单命令,此刻,另一个线程正在后台疯狂地运算。如果有点运气的话,重新格式化会在用户请求查看第600页之前完成,这样,第600页页面就立即可以在屏幕上显示出来。 线程的基本概念 * 如果我们已经做到了这一步,那么为什么不再进一步增加一个线程呢?许多字处理软件都有每隔若干分钟自动在磁盘上保存整个文件的特点,用于避免由于程序崩溃、系统崩溃或电源故障而造成用户一整天的工作丢失的情况。第三个线程可以处理磁盘备份,而不必干扰其他两个线程。拥有三个线程的情形,如图2-7所示。 线程的基本概念 * 线程的基本概念 * 如果程序是单线程的,那么在进行磁盘备份时,来自键盘和鼠标的命令就会被忽略,直到备份工作完成为止。用户当然会认为性能很差。另一个方法是,为了获得好的性能,可以让键盘和鼠标事件中断磁盘备份,但这样却引入了复杂的中断驱动程序设计模型。 如果使用三个线程,程序设计模型就很简单了。第一个线程只是和用户交互;第二个线程在得到通知时进行文档的重新格式化;第三个线程周期性地将 RAM中的内容写到磁盘上。 很显然,在这里用三个不同的进程是不能工作的,这是因为三个线程都需要在同一个文件上进行操作。通过让三个线程代替三个进程,三个线程共享公共内存,于是它们都可以访问同一个正在编辑的文件。 线程的基本概念 * 线程的基本概念 对于三个没有关系的线程而言,应该使用图2-11a的结构,而在三个线程实际完成同一个作业,并彼此积极密切合作的情形中,图2-11b则比较合适。 * 线程的基本概念 1、线程的引入 进程的两个基本属性: 进程是一个拥有资源的单位,又是可以独立调度的单位。 因为进程是资源拥有者,所以创建、撤消和切换时系统要为之付出较大的时空开销. 如果将进程的两个属性分开,由os分开处理,即作为拥有资源的单位,不同时作为调度和分派的基本单位,这就引入了线程的概念。 * 线程的基本概念 线程定义:线程是进程中的一个实体,是系统独立调度和分配的基本单位,故又称为轻量级进程(Light Weight Process) * 线程的基本概念 引入线程的目的:减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性。 引入进程的目的:使多个程序能并发执行,以提高资源利用率和系统吞吐量。 * 线程的基本概念 2、线程与进程的比较(重点) 调度:调度的单位是线程。在同一进程中,线程的切换不会引起进程的切换,但从一个进程的线程切换得到另一个进程的线程时,将会引起进程切换。 并发性:在引入线程的操作系统中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间亦可并发执行,因而使操作系统具

文档评论(0)

奉献教育1688 + 关注
实名认证
文档贡献者

心有凌云志,无高不可攀!

1亿VIP精品文档

相关文档