1、进程概念的引入 ●有如下的程序段 ●Sl: scant(“%d”),&x); S2: y=x ●S3: printf("y=%d”,y);
1、进程概念的引入 ⚫ 有如下的程序段 ⚫ S1:scanf(“%d”,&x); ⚫ S2:y=x*2; ⚫ S3:printf(“y=%d”,y);
由上面程序段可以看出,顺序程序的执行的特 点如下: ●1)、顺序性:处理机的操作是严格的按照程序所 规定的顺序执行的,即上一个操作必须在下 个操作开始之前结束。 ●2)、封闭性:程序的执行结果仅与初始条件和 程序本身决定 ●3)、可再现性:程序执行的最终结果与执行速 度无关 4)、资源独占性:程序执行时独占系统中的全 部资源,即这些资源的状态由该程序本身确定
⚫ 由上面程序段可以看出,顺序程序的执行的特 点如下: ⚫ 1)、顺序性:处理机的操作是严格的按照程序所 规定的顺序执行的,即上一个操作必须在下一 个操作开始之前结束。 ⚫ 2)、封闭性:程序的执行结果仅与初始条件和 程序本身决定。 ⚫ 3)、可再现性:程序执行的最终结果与执行速 度无关。 ⚫ 4)、资源独占性:程序执行时独占系统中的全 部资源,即这些资源的状态由该程序本身确定
多道程序系统的引入: 内存中同时驻留多道程序,从宠观 上看是几道程序同时执行,但从微观上 看则是几道程序交替执行,轮流占用资 源 宏观上执行时间有重迭的几个程序 称为并发程序。 多道程序系统的实质就是把并发程 序的执行引入到系统中
⚫ 多道程序系统的引入: ⚫ 内存中同时驻留多道程序,从宠观 上看是几道程序同时执行,但从微观上 看则是几道程序交替执行,轮流占用资 源。 ⚫ 宏观上执行时间有重迭的几个程序 称为并发程序。 ⚫ 多道程序系统的实质就是把并发程 序的执行引入到系统中
程序并发执行所带来的新的问题 ●1)、失去了程序的封闭性 ●如果一程序变量是其他程序执行时不可 接触的,那么这个程序执行后的输出结 果一定是其输入的一个与时间无关的函 数,即封闭性 ●如果一个程序的执行可以改变另一程序 的变量,那么其输出的就可能依赖各种 程序执行的速度,也就失去了程序的封 闭性
程序并发执行所带来的新的问题 ⚫ 1)、失去了程序的封闭性 ⚫ 如果一程序变量是其他程序执行时不可 接触的,那么这个程序执行后的输出结 果一定是其输入的一个与时间无关的函 数,即封闭性。 ⚫ 如果一个程序的执行可以改变另一程序 的变量,那么其输出的就可能依赖各种 程序执行的速度,也就失去了程序的封 闭性