edu.51cto.com 高校教师、高级项目经理 任铄 QQ :
edu.51cto.com 第二章 进程管理 2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4 经典进程的同步问题 2.5 进程通信 2.6 线程
edu.51cto.com 第二章 进程管理 2.1 进程的基本概念 2.2 进程控制 2.3 进程同步 2.4 经典进程的同步问题 2.5 进程通信 2.6 线程
edu.51cto.com 目的及要求 领会程序顺序执行和并发执行的特征 掌握进程的概念和特征、进程的基本状态及转换 理解进程控制块 PCB 的作用、包含信息和组织方式
edu.51cto.com 一、程序的顺序执行及其特征 1. 程序的顺序执行 一个程序由若干个程序段组成,而这些程序段的执行必须是顺 序的,这种程序执行的方式就称为程序的顺序执行。 S1: a:=x+y ; S2: b:=a-5 ; S3: c:=b+1 ; 高校教师、高级项目经理 任铄 QQ :
edu.51cto.com 例:在进行计算的时候: 首先输入用户的程序和数据 Input 然后进行计算 Caculate 最后打印计算结果 Print 即有三个顺序执行的操作 I :输入操作 C :计算操作 P :输出操作 P2P2 C2C2 I2 I2 P1P1 C1C1 I1 I1
edu.51cto.com 2. 程序顺序执行时的特征 (1) 顺序性 处理机的操作严格按照程序所规定的顺序执行。 (2) 封闭性 程序一旦开始执行,其计算结果不受外界因素的影响。 (3) 可再现性 程序执行的结果与它的执行速度无关 ( 即与时间无关 ) ,而只与初 始条件有关。 高校教师、高级项目经理 任铄 QQ :
edu.51cto.com 二、前趋图 前趋图是一个有向无循环图 ( DAG ) ,用于描述进程之间执行的 前后关系 结点:表示一个程序段或进程,或一条语句 有向边:结点之间的偏序或前序关系 “ ” ={(Pi,Pj) Pi must complete before Pj may start} 若 ( Pi,Pj ) , 记为 Pi Pj ,则 Pi 是 Pj 的直接前趋, Pj 是 Pi 的直接后继
edu.51cto.com P2P2 P6P6 P5P5 P1P1 P4P4 P3P3 P7P7 P8P8 P9P9 前趋关系: P1 P2 , P1 P3 , P1 P4 , P2 P5 , P3 P5 , P4 P6 , P4 P7 , P5 P8 , P6 P8 , P7 P9 , P8 P9 或 P={P1 , P2 , P3 , P4 , P5 , P6 , P7 , P8 , P9} ={(P1,P2) , ( P1,P3) , ( P1,P4) , ( P2,P5) , ( P3,P5) , ( P4,P6) , (P4,P7) , ( P5,P8) , ( P6,P8) , ( P7,P9) , ( P8,P9)} 名词:初始结点; 终止结点; 重量
edu.51cto.com 注意:前趋图中禁止存在循环 前趋关系: S 2 S 3 , S 3 S 2 ,不可能满足 S3S3 S2S2 S1S1 高校教师、高级项目经理 任铄 QQ :
edu.51cto.com 三、程序的并发执行及其特征 1. 程序的并发执行 例: 在系统中有 n 个作业,每个作业都有三个处理步骤 : 输入数据、处理、输出结果,即 I i, C i, P i (i=1,2,3,...,n)
edu.51cto.com I 1 、 C 1 、 P 1 的执行必须严格按照 I 1 , C 1 , P 1 的顺序; 而 C 1 与 I 2 , P 1 与 C 2 、 I 3 是可以同时执行的。 高校教师、高级项目经理 任铄 QQ :
edu.51cto.com S3S3 S2S2 S1S1 S4S4 又如:四个程序段 S 1 : a:=x+2 S 2 : b:=y+4 S 3 : c:=a+b S 4 : d:=c+b
edu.51cto.com 2. 程序并发执行时的特征 (1) 间断性 在多道程序设计的环境下,程序的并发执行,以及为完成一 项任务而相互合作,这些程序之间要共享系统的资源,形成 了相互制约的关系。 相互制约导致并发程序具有 “ 执行 — 暂停 — 执行 ” 这种间断性 的活动规律。 高校教师 任铄 QQ :
edu.51cto.com (1) 间断性 (2) 失去封闭性 程序在并发执行时,系统的资源状态由多道程序来改变,程序运 行失去封闭性。程序的运行受到其他程序的影响。 (3) 不可再现性 程序在并发执行时,多次运行初始条件相同的同一程序会得出不 同的运行结果。 例:共享公共变量的两个程序,它们执行时可能产生不同结果。 程序顺序执行时的特征 (1) 顺序性 (2) 封闭性 (3) 可再现性
edu.51cto.com 并发程序失去可再现性例子 n:=0 例:讨论共享公共变量的两个程序, 它们执行时可能产生的不同结果。 程序 A … n := n+1; … 程序 B … print(n); n := 0; … 高校教师、高级项目经理 任铄 QQ :
edu.51cto.com 可以通过下列渠道沟通联系: 1 、 QQ: 、 QQ 群:
edu.51cto.com 小任老师的其它视频课程: 软考 -- 信息系统项目管理师 软考 -- 系统集成项目管理工程师 软考 -- 网络规划设计师 软考 -- 网络工程师 软考 -- 系统分析师 输入 或 在 的搜索栏中输入 “ 小任老师 ”