第三章 同步、通信与死锁
一、试述顺序程序设计的特点以及采用顺序程序设计的优缺点
顺序程序设计的特点:
执行的顺序性
环境的封闭性
结果的确定性
过程的可再生性
优点:为程序的编制和调试带来很大的方便
缺点:计算机系统效率不高。
二、试述并发程序设计的特点以及采用并发程序设计的优缺点
特性:并发程序可能是无关的,也可能是交互的
优点:(1)若为单处理器系统,可以有效利用资源,让处理器和设备,设备和设备同时工作,充分发挥硬部件的并行工作能力。(2)若为多处理器系统,可以让进程在不同处理器上物理地并行工作,加快计算速度。(3)简化程序设计任务,一般来说,编制并发的小程序进度快,容易保证正确性。
缺点:可能出现各种与时间有关的错误(结果唯一或者永远等待)
三、解释并发性和并行性
并行性指的是两个或两个以上的事件或活动在同一时刻发生。在多道程序环境下,并行性使多个程序同一时刻可在不同CPU上同时执行
四、试述进程的互斥和同步两个概念之间的异同
同:进程互斥关系是一种特殊的进程同步关系,即逐次使用互斥共享资源,也是对进程使用资源的次序的一种协调。
异:进程互斥是指若干进程因互相争夺独占型资源而产生的竞争制约关系,进程同步是指为完成共同任务的并发进程基于某个条件来协调其活动,因为需要在某些位置上排定执行的先后次序而等待,传递信号或消息所产生的协作制约关系。
五、什么是临界区和临界资源?临界区管理的基本原则是什么?
临界区:并发进程与共享变量有关的程序段 临界资源:共享变量所代表的资源
基本原则:(1)一次至多有一个进程进入临界区执行(2)如果已有进程在临界区内,试图进入此临界区的其他进程应等待(3)进入临界区内的进程应在有限时间内退出,以便让等待队列中的一个进程进入。
六、什么是信号量?如何对其进行分类?
答:一个进程在某一特殊点上被迫停止执行直到接收到一个对应的特殊变量值,这种特殊变量就是信号量,信号量按其用途分为公用信号量,私有信号量。信号量按其取值分为。二元信号量,一般信号量。
七、试述产生死锁的必要条件
互斥条件,占有和等待条件,不剥夺条件,循环等待条件
八、列举死锁的各种防止策略
破坏以上四个条件即可
九、何谓银行家算法?试述其基本思想。
系统中所有进程放入集合,在安全状态下系统收到进程的资源请求后,先把资源试探性地分配给它。现在,系统将剩下的可用资源和进程集合中其他进程还需要的资源数做比较,找到剩余资源能满足最大需求量的进程,从而保证进程运行完毕并归还全部资源。这时,把这个进程从进程集合中删除,归还其所占用的所有资源,系统剩余资源则更多,反复执行上述步骤。