第2章
1)选择题
(1)分配到必要的资源并获得处理机时的进程状态是_B__。
A. 就绪状态
B. 执行状态
C. 阻塞状态
D. 撤消状态
(2)对进程的管理和控制使用_D__。
A. 指令
B. 信号量
C. 信箱
D. 原语
(3)程序的顺序执行通常在 A 的工作环境中,具有以下特征 C ;程序的并发执行在 B 的工作环境中,具有如下特征 D 。
A. 单道程序
B. 多道程序
C. 程序的可再现性
D. 资源共享
(4)下列进程状态变化中,__C__变化是不可能发生的。
A. 运行→就绪
B. 运行→等待
C. 等待→运行
D. 等待→就绪
(5)当__D__时,进程从执行状态转变为就绪状态。
A. 进程被调度程序选中
B. 等待的事件发生
C. 等待某一事件
D. 时间片到
(6)下面对进程的描述中,错误的是__D___。
A. 进程是动态的概念
B. 进程执行需要处理机
C. 进程是有生命期的
D. 进程是指令的集合
(7)操作系统通过__C__对进程进行管理。
A. JCB
B. DCT
C. PCB
D. CHCT
(8)下面所述步骤中,__A__不是创建进程所必需的。
A. 由调度程序为进程分配CPU
B. 建立一个进程控制块
C. 将进程控制块链入就绪队列
D. 为进程分配内存
(9)多道程序环境下,操作系统分配资源以__C__为基本单位。
A. 程序
B. 指令
C. 进程
D. 作业
(10)如果系统中有n个进程,则就绪队列中进程的个数最多为__B__。
A. n+1
B. n-1
C. 1
D. n
(11)原语的主要特点是_D__。
A. 并发性
B. 异步性
C. 共享性
D. 不可分割性
(12)下面对父进程和子进程的叙述不正确的是__A__。
A. 父进程创建了子进程,因此父进程执行完了子进程才能运行
B. 父进程和子进程之间可以并发
C. 父进程可以等待所有子进程结束后再执行
D. 撤消父进程之时,可以同时撤消其子进程
(13)下列关于进程的叙述中,最不符合操作系统对进程理解的是_A__。
A.进程是在多程序并行环境中的完整的程序
B.进程可以由程序,数据和进程控制块描述
C.线程(Thread)是一种特殊的进程
D.进程是程序在一个数据集合上运行的过程,是系统进行资源分配和调度的一个独立单位
(14)当一个进程处于__C__的状态时,称其为等待状态
Ⅰ.它正等待输入一批数据Ⅱ.它正等着协作进程的一个消息
Ⅲ.它正等分给它一个时间片Ⅳ.它正等进入内存
A.仅ⅠB.仅ⅡC.Ⅰ和ⅡD.Ⅰ、Ⅱ和Ⅲ
2)填空题
(1)进程的基本状态有执行、就绪和等待。
(2)进程的基本特征是动态特征、并发特征、独立特征、异步特征及结构特征。
(3)进程由程序、数据、PCB三部分组成,其中PCB是进程存在的惟一标志。
而程序部分也可以为其他进程共享。
(4)进程是一个程序对某个数据集的_运行过程__ 。
(5)程序并发执行与顺序执行时相比产生了一些新特征,分别是间断性、失去了封闭性和不可再现性。
(6)设系统中有n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况:
①没有运行进程,有2个就绪进程,n个进程处于等待状态。
②有1个运行进程,没有就绪进程,n-1进程处于等待状态。
③有1个运行进程,有1个就绪进程,n-2进程处于等待状态。
④有1个运行进程,n-1个就绪进程,没有进程处于等待状态。
上述情况中,不可能发生的情况是_①_。
(7)在操作系统中引入线程概念的主要目的是_为了减少并发进程执行时的时空开销,使系统具有更好的并发性____。
(8)下面关于进程的叙述中,不正确的有3条。
①进程申请CPU得不到满足时,其状态变为等待状态。
②在单CPU系统中,任一时刻都有一个进程处于运行状态。
③优先级是进行进程调度的重要依据,一旦确定不能改变。
④进程获得处理机而运行是通过调度而实现的。
(9)程序顺序执行时的三个特征是顺序性、封闭性和可再现性。
(10)如果系统中有n个进程,则在等待队列中进程的个数最多可为n 个。
3)解答题
(1)进程的定义是什么?它最少有哪几种状态?
解:进程就是可以与其他程序并发执行的程序的一次执行过程。
最少有执行,就绪和等待三种状态。
(2)什么是管态?什么是目态?
解:系统进程运行时,CPU的工作状态称为管态。
用户进程运行时,CPU的工作状态称为目态。
(3)试画出下面四条语句的前趋图:
S1:a=x+2;S2:b=y+4;
S3:c=a+b;S4:d=c+6;
解:
(4)试利用Bernstein条件证明解答题3中的语句S1和S2可以并发执行,而语句S3和S4不能并发执行。
解:根据Bernstein条件,先求出每条语句的读集和写集:
R(S1)={x} W(S1)={a}
R(S2)={y} W(S2)={b}
R(S3)={a,b} W(S3)={c}
R(S4)={c} W(S4)={d}
因R(S1)∩W(S2)={ }
R(S2)∩W(S1)={ }
W(S1)∩W(S2)={ }
故语句S1和S2可以并发执行。
又R(S3)∩W(S4)={ }
R(S4)∩W(S3)={c}
W(S3)∩W(S4)={ }
故语句S3和S4不能并发执行。
(5)进程与线程的主要区别是什么?
解:在引入线程的操作系统中,线程是独立调度的基本单位,进程是资源拥有的基本单位。
在同一进程中,线程的切换不会引起进程切换。
在不同进程中进行线程切换,如从
一个进程内的线程切换到另一个进程中的线程时,将会引起进程切换。
进程是拥有资源的基本单位,而线程不拥有系统资源(也有一点必不可少的资源),线程可以访问其隶属进程的系统资源。
在引入线程的操作系统中,不仅进程之间可以并发执行,而且同一进程内的多个线程之间也可以并发执行,从而使操作系统具有更好的并发性,大大提高了系统的吞吐量。
由于创建进程或撤消进程时,系统都要为之分配或回收资源,如内存空间、I/O设备等,操作系统所付出的开销远大于创建或撤消线程时的开销。
类似地,在进行进程切换时,涉及到当前执行进程CPU环境的保存及新调度到进程CPU环境的设置,而线程切换时只需保存和设置少量寄存器内容,因此开销很小。
另外,由于同一进程内的多个线程共享进程的地址空间,因此,这些线程之间的同步与通信非常容易实现,甚至无需操作系统的干预。
(6)进程控制块何时产生?何时消除?它有什么作用?
解:操作系统启动后,会生成一些列空闲的进程控制块。
当创建进程时,就分配一个进程控制块并初始化,当撤销进程时,就回收进程控制块。
进程控制块是进程存在的唯一标识,操作系统是通过进程控制块感知进程存在的。
(7)已知一个求值公式(A2+3B)/(B+5A),若A,B已赋值,试画出该公式求值过程的前趋图。
解:在该公式的求值过程中,有些运算分量的执行是可以并行进行的。
为了描述方便起见,我们设置了一些中间变量保存中间结果,并给每个语句命名。
其求值过程如下图所示。
其求值过程的前趋图如下图所示。
(8)在一个分时操作系统中,进程可能出现如图2.13所示的变化,请把产生每一种变化的具体原因填在表2.1的相应框中。
表2-1 进程状态变化原因
变化原因
①
②
③
④
⑤
图2.13 进程状态变化图。