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

计算机操作系统第二章技术总结.ppt

  1. 1、本文档共246页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 第二章 进程管理 * 线程的特点 线程是进程的一个实体,可作为系统独立调度和分派的基本单位。 线程自己基本不拥有系统资源,只拥有少量必不可少的资源:程序计数器、一组寄存器、栈。 它可与同属一个进程的其它线程共享进程所拥有的全部资源。 一个线程可以创建和撤消另一个线程;同一进程中的多个线程之间可以并发执行。 系统开销小、切换快。(进程的多个线程都在进程的地址空间活动) * 第二章 进程管理 * 线程控制块:包含了线程标识、线程状态、调度参数、现场信息(通用寄存器、指令计数器以及用户栈指针)、链接指针等 * 第二章 进程管理 * 创建一个新线程花费时间少(结束亦如此) 两个线程的切换花费时间少 因为同一进程内的线程共享内存和文件,因此它们之间相互通信无须调用内核 适合多处理机系统 引入线程的好处 * 第二章 进程管理 * 线程与进程的比较 线程具有进程的许多特征,故又称轻型进程,传统进程称重型进程。 在引入线程的OS中,每一进程都拥有多个线程,至少一个。 * 第二章 进程管理 * 1、调度 在传统OS中,拥有资源、独立调度和分派的基本单位都是进程,在引入线程的系统中,线程是调度和分派的基本单位,而进程是拥有资源的基本单位。 在同一个进程内线程切换不会产生进程切换,由一个进程内的线程切换到另一个进程内的线程时,将会引起进程切换。 线程与进程的比较 * 第二章 进程管理 * 2、并发性 在引入线程的系统中,进程之间可并发,同一进程内的各线程之间也能并发执行。因而系统具有更好的并发性。 线程与进程的比较 * 第二章 进程管理 * 3、拥有资源 无论是传统OS,还是引入线程的OS,进程都是拥有资源的独立单位,线程一般不拥有系统资源,但它可以访问隶属进程的资源。即一个进程的所有资源可供进程内的所有线程共享。 线程与进程的比较 * 第二章 进程管理 * 4、系统开销 进程的创建和撤消的开销要远大于线程创建和撤消的开销,进程切换时,当前进程的CPU环境要保存,新进程的CPU环境要设置,线程切换时只须保存和设置少量寄存器,并不涉及存储管理方面的操作,因此进程切换的开销远大于线程切换的开销。 同一进程内的各线程由于它们拥有相同的地址空间,它们之间的同步和通信的实现也变得比较容易。 线程与进程的比较 * 第二章 进程管理 * 对用户来说,多线程系统比无线程系统可减少用户的等待时间,提高系统的响应速度。 线程和进程一样,都有自己的状态,也有相应的同步机制,不过由于线程没有单独的数据和程序空间,因此线程不能像进程的数据与程序那样,交换到外存存储空间,从而线程没有挂起状态。 进程的调度、同步等大多由OS内核完成,而线程的控制既可以由OS内核进行,也可以由用户控制。 线程与进程的比较 * 第二章 进程管理 * 线程的执行特性 线程有3个基本状态,即执行、就绪和阻塞。 针对线程的3种基本状态,存在5种基本操作来转换线程的状态。 派生(spawn):线程在进程内派生出来,它既可由进程派生,也可由线程派生。用户一般用系统调用(或相应的库函数)派生自己的线程。新派生线程被放入就绪队列。 阻塞(block):如果一个线程在执行过程中需要等待某个事件发生,则被阻塞。 激活(unblock):如果阻塞线程的事件发生,则该线程被激活并进入就绪队列。 * 第二章 进程管理 * 调度(schedule):选择一个就绪线程进入执行状态。 结束(finish):如果一个线程执行结束,它的寄存器上下文以及堆栈内容等将被释放。 就绪 阻塞 执行 结束 派生 激活 阻塞 调度 结束 线程的执行特性 线程的另一个执行特性是同步。线程中所使用的同步控制机制与进程中所使用的同步控制机制相同。 * 第二章 进程管理 * 线程可分为两类: 内核支持线程,它们是依赖于内核的,即无论是用户进程中的线程,还是系统进程中的线程,它们的创建、撤消、切换都由内核实现。 用户级线程,对于这种线程的创建、撤消和切换,都不用系统调用来实现。内核并不知道用户级线程的存在。 线程的分类 * 第二章 进程管理 * 2.6.2 进程通信类型 1、共享存储器系统 (Shared-Memory System) 2、消息传递系统 (Message Passing System) 3、管道(Pipe)通信 (共享文件方式) * 第二章 进程管理 * 共享存储器系统:相互通讯的进程通过共享数据结构和存储区进行通讯,因而可进一步分为: ?基于共享数据结构的通讯方式;(低效,只适于传递少量数据)如生产者-消费者问题中的有界缓冲区。 ?基于共享存储区的通讯方式。为了传送大量数据,在存储区中划出一块共享存储区,诸进程可通过对共享存储区进行读或写数据实

文档评论(0)

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

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

1亿VIP精品文档

相关文档