文章目录
一、顺序程序
1、什么是叫做程序的顺序执行?
- 一个程序由若干个程序段组成,而这些程序段的执行必须按照严格的先后次序顺序地执行,即只有当一个操作结束后,才能开始后继操作。
- ① 内部顺序性:对于一个进程来说,它的所有指令都是按顺序执行的。
② 外部顺序性:对于多个进程来说,所有进程的活动是依次执行的。
2、说出并解释顺序程序设计的特点。
-
(1) 程序的顺序性:
一个程序在顺序处理器上的执行是严格按序的,即每个操作必须在下一个操作开始之前结束。
一个程序的指令是连续执行的,中间不会夹杂其他程序的指令。 -
(2) 环境的封闭性:
程序一旦开始执行,其计算结果不受外界的影响,当程序的初始条件给定之后,其后的状态只能由程序本身确定,即只有本程序才能改变它。
程序在执行过程中独占系统中的全部资源,改程序的运行环境只与其自身的动作有关,不受其他程序及外界因素的影响。 -
(3) 计算过程的可再现性:
程序执行的结果与执行时间(执行速度)无关,而只与初始条件有关。即只要程序的初始条件相同,不论它在什么时间执行,也不管计算机的运行速度,它的执行结果始终都是相同的。
3、浅谈顺序程序特点(特性)的优缺点。
- 顺序程序设计的顺序性、封闭性和再现性给程序的编制、调试带来很大方便,其缺点是计算机系统效率不高。
二、并发程序
4、什么是叫做程序的并发执行?
-
若干个程序段同时在系统中运行,这些程序的执行在时间上是重迭的,即一个程序段的执行尚未结束,另一个程序段的执行已经开始的这种执行方式。
-
① 内部并发性:是指程序内部的并发性。
② 外部并发性:是指多个程序的并发性。
5、说出并解释并发程序的特点(特性)。
-
(1) 间断性:
多个程序是交叉执行的,处理器在执行一个程序的过程中有可能被中断,并转而执行另一个程序。 -
(2) 非封闭性:
一个进程的运行环境可能被其他进程所改变,从而相互产生影响。 -
(3) 不可再现性:
由于交叉的随机性,并发程序的多次执行可能对应不同的交叉,因而不能期望重新运行的程序能够再现上次运行时产生的结果。
6、说出竞争条件的定义。
- 多个进程在访问变量时,因实际交叉次序不同而导致执行结果不同,这种现象称为竞争条件(race condition)。
三、进程互斥
相关解释可移步至:OS 共享变量、临界区、临界资源之间的联系
7、分别解释共享变量、临界区、临界资源。
- 共享变量:多个进程均需访问的变量。
- 临界区:访问共享变量的程序代码段,也称为临界段。
- 临界资源:一次只允许一个进程使用的资源。
8、什么是进程互斥?
- 两个或两个以上的进程同时进入关于同一组共享变量的临界区,可能会发生与时间有关的错误,这种现象称为进程互斥
四、进程同步
9、什么是进程同步?
- 一组进程,为了协调其推进速度,在某些点处需要相互等待或者唤醒,进程之间这种相互制约的关系成为进程同步,简称同步(synchronization)。
- 进程同步现象仅发生在相互有逻辑关系的进程之间,这与进程互斥现象不同,进程互斥可能发生在任意两个进程之间。
10、分别解释进程合作与合作进程。
- 一组进程,如果他们单独不能正常执行,但是并发缺可以正常执行,这种现象称为进程合作(process cooperation)。参与合作的进程称为合作进程(cooperating process)。
11、信号量变量使用的两个基本要求是什么?
- ① 必须置一次初值,也只能置一次初值,而且初值必须是非负整数;
- ② 只能执行P操作和V操作,其他操作均是非法的。
资料参考
- 书籍:《计算机操作系统教程》(第四版 编著:左万利 王英)
- CSDN:OS 共享变量、临界区、临界资源之间的联系
- 百科:程序并发执行