2.1.3程序并发执行及特征 1.并发环境: 在一定时间内物理机器上有 两个或两个以上的程序同处于开 始运行但尚未结束的状态,并且 次序不是事先确定的
2.1.3 程序并发执行及特征 1.并发环境: 在一定时间内物理机器上有 两个或两个以上的程序同处于开 始运行但尚未结束的状态,并且 次序不是事先确定的
2.程序的并发执行 在对一批程序进行处理时,可以并发执行。 例如,输入、计算、打印三个程序对一批 作业进行处理时,存在以下的前趋关系: Ii→Ci,Ii→Ii+1,Ci→一Pi,Ci→Ci+1, Pi→Pi+1 图2-2并发执行时的前趋图
2. 程序的并发执行 • 在对一批程序进行处理时,可以并发执行。 • 例如,输入、计算、打印三个程序对一批 作业进行处理时,存在以下的前趋关系: Ii→Ci,Ii→Ii+1,Ci→Pi,Ci→Ci+1, Pi→Pi+1 图 2-2 并发执行时的前趋图
在上例中存在下述前趋关系:蕌 I→C1,I→I1+1,C-→+P;,C1C计1,P;→P1 在P1和C以及1之间,可以并发执行。 对于具有下述四条语句的程序段:蕌 b:=y+4蕌 S;c:=a+b蕌 S: d:=C+b 图2-3四条语句的前趋关系
在上例中存在下述前趋关系: Ii→Ci,Ii→Ii+1 , Ci→Pi, Ci→Ci+1,Pi→Pi+1 在Pi-1和Ci以及Ii+1之间,可以并发执行。 对于具有下述四条语句的程序段: S1 : a∶ =x+2 S2 : b∶ =y+4 S3 : c∶ =a+b S4 : d∶ =c+b 图 2-3 四条语句的前趋关系
3.程序的并发执行的特征 ·不可再现性:由于程序的并发执行,打 破了由另一程序独占系统资源的封闭性: 因而破坏了可再现性。 间断性:程序并发执行时,由于它们共享 资源或程序之间相互合作完成一项共同任 务,因而使程序之间相互制约 通信性:对于相互合作的程序,为了更有 效地协调运行,相互之间进行通信。 独立性:并发程序在运行过程中,既然是 作为一个独立的运行实体,它也必然具有 作为一个单位去获得资源的独立性
3.程序的并发执行的特征 • 不可再现性:由于程序的并发执行,打 破了由另一程序独占系统资源的封闭性, 因而破坏了可再现性。 • 间断性:程序并发执行时,由于它们共享 资源或程序之间相互合作完成一项共同任 务,因而使程序之间相互制约。 • 通信性:对于相互合作的程序,为了更有 效地协调运行,相互之间进行通信。 • 独立性:并发程序在运行过程中,既然是 作为一个独立的运行实体,它也必然具有 作为一个单位去获得资源的独立性
4.多道程序设计 定义: Multiprogramming 多道程序设计是指允许多个程序同时进入内存并运 行(引入目的是为了提高系统效率) 与并发不完全是一个概念,但效果相似 考虑因素: 在多道程序环境下如何向用户提供服务 在并发程序之间如何正确传递消息(通讯) 如何对CPU进行调度,保证每个用户相对公平地得 到CPU 如何管理其他资源 当各用户对资源使用上发生冲突时,如何处理竞争 对CPU只能通过调度来解决竞争问题,而对于其他 资源通过申请—分配—使用一回收的办法进行管理 当且仅当占有CPU的时候才可以申请,否则要排队 等候
4.多道程序设计 定义:Multiprogramming (引入目的是为了提高系统效率) 与并发不完全是一个概念,但效果相似 考虑因素: • 当各用户对资源使用上发生冲突时,如何处理竞争 对CPU只能通过调度来解决竞争问题,而对于其他 资源通过申请—分配—使用—回收的办法进行管理, 当且仅当占有CPU的时候才可以申请,否则要排队 等候