第2章处理器管理 2.1处理器管理概述 2.12程序的执行 2程序的顺序执行。程序在执行时,必须按照某种先后次序 逐个执行操作,只有当前一个操作执行完后,才能执行后一个操 作。例如:在进行计算时,总是先输入需要的数据,然后才能进 行计算,计算完成后再将结果输出。 如果用代表输入,C代表计算,P代表打印,则上述情况可用 图22所示的前趋图表示 Cl PI 图2-2程序顺序执行时的前趋图
2.1 处理器管理概述 2.1.2 程序的执行 2.程序的顺序执行 。程序在执行时,必须按照某种先后次序 逐个执行操作,只有当前一个操作执行完后,才能执行后一个操 作。例如:在进行计算时,总是先输入需要的数据,然后才能进 行计算,计算完成后再将结果输出。 如果用I代表输入,C代表计算,P代表打印,则上述情况可用 图2-2所示的前趋图表示。 第2章 处理器管理
第2章处理器管理 2.1处理器管理概述 2.12程序的执 2程序的顺序执行 程序的顺序执行通常表现出如下特征: 顺序性。严格按照程序所规定的顺序执行。 封闭性。程序在封闭的环境下执行。程序在运行时独占所有 资源,其执行结果不受外界因素的影响。 可再现性。只要程序执行的环境和初始条件相同,程序无论 重复执行多少次,按照何种方式执行,都将获得相同的结果
2.1 处理器管理概述 2.1.2 程序的执行 2.程序的顺序执行 。 程序的顺序执行通常表现出如下特征: – 顺序性。严格按照程序所规定的顺序执行。 – 封闭性。程序在封闭的环境下执行。程序在运行时独占所有 资源,其执行结果不受外界因素的影响。 – 可再现性。只要程序执行的环境和初始条件相同,程序无论 重复执行多少次,按照何种方式执行,都将获得相同的结果。 第2章 处理器管理
第2章处理器管理 2.1处理器管理概述 2.12程序的执行 3.程序的并发执行。是指在一个时间段内执行多个程序。 程序在并发执行的特征 间断性。在程序并发执行时,由于它们之间共享资源或相互 合作,致使它们之间形成了相互制约的关系,导致并发程序在 执行中因为受到影响,表现为“执行一暂停执行—执行”的间 断性活动规律。 失去封闭性。程序并发执行时,多个程序共享系统中的各种 资源,因而这些资源的状态将由多个程序来改变,致使程序的 运行失去了封闭性。这样,程序在执行时,必然会受到其他程 序的影响。 不可再现性。由于程序执行时失去了封闭性,也将导致失去 可再现性。既使并发程序执行的环境和初始条件相同,程序的 多次执行或以不同的方式执行,可能获得不相同的结果
2.1 处理器管理概述 2.1.2 程序的执行 3.程序的并发执行。是指在一个时间段内执行多个程序。 程序在并发执行的特征: –间断性。在程序并发执行时,由于它们之间共享资源或相互 合作,致使它们之间形成了相互制约的关系,导致并发程序在 执行中因为受到影响,表现为“执行—暂停执行—执行”的间 断性活动规律。 –失去封闭性。程序并发执行时,多个程序共享系统中的各种 资源,因而这些资源的状态将由多个程序来改变,致使程序的 运行失去了封闭性。这样,程序在执行时,必然会受到其他程 序的影响。 –不可再现性。由于程序执行时失去了封闭性,也将导致失去 可再现性。既使并发程序执行的环境和初始条件相同,程序的 多次执行或以不同的方式执行,可能获得不相同的结果。 第2章 处理器管理
第2章处理器管理 2.1处理器管理概述 2.12程序的执行 3.程序的并发执行。 【例2-1】程序A和程序B为并发执行,它们共享变量M,假设M初 值为3;程序A执行M=M+1;程序B执行 print M;M=1。程序A和 程序B执行的顺序若不相同,M的结果将产生不同的变化 顺序1.M=M+1; print M;M=1。M值依次为4、4、1。 顺序2. print M;M=M+1;M=1。M值依次为3、4、1 顺序3. print M;M=1;M=M+1。M值依次为3、1、2 按照顺序1执行,M的输出结果为4;按照顺序2执行,M的输 出结果为3;按照顺序3执行,M的输出结果为3。所以,当执行的 条件不同时,并发程序有可能产生不同的执行顺序,也就会得到 不同的执行结果。这样并发程序就形成了结果的不可再现性
2.1 处理器管理概述 2.1.2 程序的执行 3.程序的并发执行。 【例2-1】程序A和程序B为并发执行,它们共享变量M,假设M初 值为3;程序A执行M=M+1;程序B执行print M;M=1。程序A和 程序B执行的顺序若不相同,M的结果将产生不同的变化。 顺序1.M = M +1;print M;M = 1。M值依次为4、4、1。 顺序2.print M;M = M +1;M = 1。M值依次为3、4、1。 顺序3.print M;M = 1;M = M +1。M值依次为3、1、2。 按照顺序1执行,M的输出结果为4;按照顺序2执行,M的输 出结果为3;按照顺序3执行,M的输出结果为3。所以,当执行的 条件不同时,并发程序有可能产生不同的执行顺序,也就会得到 不同的执行结果。这样并发程序就形成了结果的不可再现性。 第2章 处理器管理
第2章处理器管理 2.1处理器管理概述 2.12程序的执 3.程序的并发执行。判断程序并发执行的方法有两种 Bernstein条件和前趋图。 (1) Bernstein条件。即不同运算(或程序)的读集与写集的 交集和写集与写集的交集的并集为空集时,这几个运算(或程序) 可以并发执行。运算的读集是指在运算执行期间引用的所有变量 的集合,运算的写集是指在运算执行期间要改变的所有变量的集 合。例如运算w=x+y,其读集是Xy},其写集是{w}
2.1 处理器管理概述 2.1.2 程序的执行 3.程序的并发执行。判断程序并发执行的方法有两种: Bernstein条件和前趋图。 (1) Bernstein条件。即不同运算(或程序)的读集与写集的 交集和写集与写集的交集的并集为空集时,这几个运算(或程序) 可以并发执行。运算的读集是指在运算执行期间引用的所有变量 的集合,运算的写集是指在运算执行期间要改变的所有变量的集 合。例如运算w=x+y,其读集是{x,y},其写集是{w}。 第2章 处理器管理