操作系统 第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文档。上传文档
查看更多
现代操作系统 授课教师:江兰帆 E-Mail: jiang_lanfan@126.com 第2章 进程与线程 2.1 进程 2.2 线程 2.3 进程间通信 2.4 经典的IPC问题 2.5 调度 2.6 有关进程和线程的研究 2.7 小结 2.1 进程 2.1.1 进程模型 2.1.2 进程的创建 2.1.3 进程的终止 2.1.4 进程的层次结构 2.1.5 进程的状态 2.1.6 进程的实现 引言 程序: 指令或语句序列,体现了某种算法,所有程序是顺序的 顺序环境: 在计算机系统中只有一个程序在运行,这个程序独占系统中所有资源,其执行不受外界影响。 程序顺序执行的特征 顺序性:处理机的操作严格按照程序所规定的顺序执行,只有当上一个操作完成后,下一操作才能开始执行。 封闭性:程序运行时独占全机资源,资源的状态(除初始状态外),只有本程序才能改变。 可再现性:只要程序执行时的初始条件和执行环境相同,一定会得到相同的结果。 程序的并发执行 引入并发的目的: 引入并发是为了提高资源利用率,从而提高系统效率。 并发与并行概念的区别: concurrency, parallel 并行与并发的概念差别 并行(Parallel) 同一时刻,两个事物均处于活动状态 示例:CPU中的超标量设计 并发(Concurrency) 宏观上存在并行特征,微观上存在顺序性:即同一时刻,只有一个事物处于活动状态 示例:分时操作系统中多个程序的同时运行 并行与并发的概念差别 程序的并发执行 所谓程序的并发执行是指:若干个程序同时在系统中执行,这些程序的执行在时间上是重叠的,一个程序的执行尚未结束,另一个程序的执行已经开始。 程序的并发执行 例:程序A、B,共享变量N。代码如下: 程序的并发执行 程序并发执行的特征 间断性:由于资源共享和相互合作,并发执行的程序间形成了相互制约关系,导致程序的运行过程出现“执行—暂停—执行”的现象。 失去封闭性:程序在并发执行时,是多个程序共享系统中的资源,因此这些资源的状态将由多个程序来改变。 不可再现性:由失去封闭性导致。同样的初始条件,一个程序的多次重复执行,可得到不同的结果。 2.1.1 进程模型 为什么引入进程? 进程的概念 定义:进程(process)是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。 进程的概念 即:一个进程就是一个正在执行的程序,包括程序计数器、寄存器和变量的当前值。 2.1.1 进程模型 进程的核心思想: 进程是某种类型的一个活动,它有程序、输入、输出和状态。 在分时操作系统中,单个CPU被若干进程共享,它使用某种调度算法决定何时停止一个进程的运行,转而为其他进程提供服务。 进程同程序的比较 进程是动态的,程序是静态的:进程是程序的一次执行过程;程序是有序代码的集合。 进程是暂时的,程序是永久的:进程是一个状态变化的过程,是有一定生命期的;而程序可以作为一种软件资料长久保存。 进程同程序的比较 进程与程序的组成不同:进程是由程序和数据、进程控制块三部分组成的。 进程与程序的对应关系:一个程序可对应多个进程,反之亦然。进程具有创建其它进程的功能,而程序不能形成新的程序。 2.1.2 进程的状态 进程的三种基本状态: 就绪状态:进程已获得除 CPU 以外的所有必要资源,只要得到 CPU,便可立即执行。 执行状态:进程已得到 CPU,其程序正在CPU 上执行。 阻塞状态:正在执行的进程因某种事件(如I/O 请求)的发生而暂时无法继续执行,只有等相应事件完成后,才能去竞争 CPU。 进程状态转换图 进程的状态转换 【思考题】 有没有这样的状态转换,为什么? 阻塞?运行 就绪?阻塞 2.1.3 进程的实现 概念的引入 进程上下文(context):上下文是指进程运行的环境。例如,针对x86的CPU,任务上下文可包括程序计数器、堆栈指针、通用寄存器的内容。 概念的引入 上下文切换(Context Switching): 多任务系统中,上下文切换是指CPU的控制权由运行进程转移到另外一个就绪进程时所发生的事件,当前运行进程转为就绪(或者阻塞)状态,另一个被选定的就绪进程成为当前进程。上下文切换包括保存当前进程的运行环境,恢复将要运行进程的运行环境。 2.1.3 进程的实现 1. 进程控制块的概念 进程控制块(Process Control Block, PCB)是系统为了管理进程设置的一个专门的数据结构,它记录了操作系统所需的用于描述进程的当前情况以及控制进程运行的全部信息。 进程与PCB是一一对应的 2.1.3 进程的实现 进程控制块(PCB)的作用是使一个在多

文档评论(0)

柳风飘香 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档