操作系统第四章并发处理解读.pptx

  1. 1、本文档共91页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 并发处理 4.1并发活动——进程的引入 假设某个作业job由输入I,计算C,打印P三个操作组成。 单道批处理系统中,作业序列的处理过程如下: C1 I1 I2 P2 P1 C2 t job1 job2 为了提高资源利用率和系统吞吐量,引入 多道批处理系统。 2、多道批处理系统中,作业序列的处理过程如下: I1 C1 P1 I2 C3 P2 I3 C2 P3 t 从图中可以看出: ①有的程序段的执行是有先后次序的,如C1,I2先于C2; ②有的程序段可以并发执行,如P1,C2,I3; 可以用伪代码描述并发执行的程序段,由Dijkstra提出, Cobegin(Concomitant begin) S1;S2; ……;Sn; Coend 表示S1,S2,……Sn可以并发执行。 例如: S0; Cobegin S1;S2; ……;Sn; Coend Sn+1; 表示先执行S0,再并 发执行S1,S2,……Sn; 当S1,S2,……Sn全部执行 完毕后,再执行Sn+1。 S0 S1 S2 Sn Sn+1 …… 也可以用先后次序图(以后也称 进程流图)表示,它是一个有向 无环图。 4.1.5并发执行程序的特点 1.间断性 如果Ci-1完成后,若Ii未完成,则Ci也无法处理,导致计算程序段暂停。 2.失去程序的封闭性 程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行失去封闭性。 3.不可再现性 当初始条件相同时,程序多次执行,其结果必然重复出现,称为可再现性。 例如:有一公共变量x,r1,r2为2个寄存器。假设CPU分时执行p1,p2。 有两个程序段: P1:r1=x; r1++; x=r1; P2:r2=x; r2++; x=r2; 方式一执行: P1:r1=x; r1++; x=r1; P2:r2=x; r2++; x=r2; 结果:x=x+2 例如:有一公共变量x,r1,r2为2个寄存器。假设CPU分时执行p1,p2。 有两个程序段: P1:r1=x; r1++; x=r1; P2:r2=x; r2++; x=r2; 方式二执行: P1:r1=x; P2:r2=x; r2++; x=r2; P1:r1++; x=r1; 结果:x=x+1 可见,并发执行的程序可能发生不可再现性。 为了描述并发执行程序的活动规律因而引进新的概念——进程。 4.2进程的概念 进程20世纪60年代初期提出,可翻译为process,task,action等。 定义1:进程时一个具有独立功能的程序关于某个数据集合的一次运行活动。 定义2:从核心看来,进程是分了类的,根据一组规则操纵的数据结构。 进程与程序的关系: 进程与程序的联系 进程=程序(程序段、数据段、栈段)+进程控制块(PCB) 程序是构成进程的组成部分之一,一个进程存在的目的就是执行其所对应的程序。 进程和程序的区别 程序是静止的,进程是动态的(有生命周期的) 进程是能独立运行的单位,能与其它进程并发执行。 进程是资源分配的基本单位,也是CPU调度的基本单位。 4.2.2进程的类型 1.系统进程 它们运行OS的程序,也称守护进程 (Daemon进程)。系统启动时创建,运行时 CPU处于核心态。 2.用户进程 这类进程运行用户程序,直接为用户 服务。 进程的特征: 并发性:可以与其它进程在宏观上同时先前推进。 动态性:进程是执行中的程序。 独立性:进行是资源分配和调度的基本单位。 交互性:进程在运行时可能会与其它进程发生直接或间接的相互作业。 异步性:每个进程都可以相对独立,不可预知的速度向前推进。 结构性:每个进程都对应1个进程控制块。 4.2.3进程的状态 进程的基本状态 就绪状态(Ready):获得了除CPU以外的所有资源,一旦获得CPU控制权,就可以立即运行。 运行状态(Running):当就绪进程由OS的进程调度程序调度,得到CPU控制权,占用CPU运行的状态。 等待状态(Wait):若某一进程正在等待某一事件的发生而暂时停止,这时,即使获得CPU控制权也无法执行。或阻塞状态(Block)、睡眠状态(Sleep)。 二、进程状态变迁图 1、进程的三态模型: 运行 等待 就绪 时间片到 被抢占 进程调度 I/O请求 中断请

文档评论(0)

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

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

1亿VIP精品文档

相关文档