知识点讲解
 
       程序与进程
知识路径: > 计算机系统基础知识 > 计算机软件基础知识 > 操作系统基础知识 > 处理机管理 > 进程管理 > 基本概念 > 
被考次数:1次
被考频率: 低频率
总体答错率: 52%
知识难度系数:
考试要求: 掌握     
相关知识点:6个
               程序顺序执行的特征
               前趋图是一个有向无循环图,由结点和有向边组成,结点代表各程序段的操作,而结点间的有向边表示两个程序段操作之间存在的前趋关系(→)。程序段Pi和Pj的前趋关系表示成Pi→Pj,其中,Pi是Pj的前趋,Pj是Pi的后继,其含义是Pi执行结束后Pj才能执行。例如,下图为3个程序段,其中输入是计算的前驱(计算是输入的后继),输入结束才能进行计算;计算是输出的前驱,计算结束才能进行输出。
               
               3个结点的前驱图
               程序顺序执行时的主要特征包括顺序性、封闭性和可再现性。
               程序并发执行的特征
               若在计算机系统中采用多道程序设计技术,则主存中的多道程序可处于并发执行状态。对于上述有3个程序段的作业类,虽然每个作业有前趋关系的各程序段不能在CPU和输入/输出各部件并行执行,但是同一个作业内没有前趋关系的程序段或不同作业的程序段可以分别在CPU和各输入/输出部件上并行执行。例如,某系统中有一个CPU、一台输入设备和一台输出设备,每个作业具有3个程序段,输入I、计算Ci和输出Pii=l,2,3)。下图为3个作业的各程序段并发执行的前驱图,图中的前驱关系可记为:
               →={I1→C1,I1→I2,I2→C2,I2→I3,I3→C3,C1→P1,C1→C2,C2→P2,C2→C3,C3→P3,P1→P2,P2→P3
               
               程序并发执行的前驱图
               从上图中可以看出,I2与C1并行执行;I3、C2与P1并行执行;C3与P2并行执行。其中,I2、I3受到I1的间接制约,C2、C3受到C1的间接制约,P2、P3受到P1的间接制约,而C1、P1受到I1的直接制约,等等。
               程序并发执行时的特征如下:
               (1)失去了程序的封闭性。
               (2)程序和机器的执行程序的活动不再一一对应。
               (3)并发程序间的相互制约性。
               例如,两个并发执行的程序段完成交通流量的统计,其中,“观察者”P1识别通过的车辆数,“报告者”P2定时将观察者的计数值清0。程序实现如下:
               
               对于上例,由于程序可并发执行,所以可能有以下3种执行序列:
               ①COUNT:=COUNT+1;PRINT COUNT;COUNT:=0
               ②PRINT COUNT;COUNT:=0;COUNT:=COUNT+1
               ③PRINT COUNT;COUNT:=COUNT+1;COUNT:=0
               假定COUNT的某个循环的初值为n,那么这3种执行序列得到的COUNT结果不同,如下表所示。
               
               程序并发执行的结果
               这种不正确结果的发生是因为两个程序P1和P2共享变量COUNT引起的,即程序并发执行破坏了程序的封闭性和可再现性,使得程序和执行程序的活动不再一一对应。为了解决这一问题,需要研究进程间的同步与互斥问题。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2023 All Rights Reserved
软考在线版权所有