第二章 练习题

2018-12-10 15:43

操作系统第二章 练习题

一、选择题 1.临界区是指(

)。

A.并发进程中用于实现进程互斥的程序段 B.并发进程中用于实现进程同步的程序段 C.并发进程中用户实现进程通信的程序段 D.并发进程中与共享变量有关的程序段 2.( )是只能由P和v操作所改变的整型变量。

A.共享变量 B.锁 C.整型信号量 D.记录型信号量 3.在执行v操作时,当信号量的值(

)时,应释放一个等待该信号量的进程。

A.>0 B.<0 C.>=0 D.<=0

4.进程间的互斥与同步分别表示了各进程间的(

)。

A.竞争与协作 B.相互独立与相互制约 C.不同状态 D.动态性与并发性 5.在进程通信中,(

)常用信件交换信息。

A.低级通信 B.高级通信 C.消息通信 D.管道通信 6.在间接通信时,用send(N,M)原语发送信件,其中N表示( )。

A.发送信件的进程名 B.接收信件的进程名 C.信箱名 D.信件内容 7.下列对线程的描述中,( )是错误的。

A.不同的线程可执行相同的程序 B.线程是资源分配单位 C.线程是调度和执行单位

D.同一进程中的线程可共享该进程的主存空间

8.若信号量S的初值为2,当前值为-1,则表示有(

)等待进程。

A. 0个 B.1个

C.2个 D.3个

9.操作系统是通过(

)对进程进行管理。

A. JCB

B.PCB

C.DCT

D.CHCT

10.下面所述步骤中,( )不是创建进程所必需的。

A.由调度程序为进程分配CPU B.建立一个进程控制块

C.为进程分配内存

D.将进程控制块链入就绪队列

11.对于两个并发进程,设互斥信号号为mutex,若mutex=0,则( )

A.表示没有进程进入临界区 B.表示有一个进程进入临界区

C.表示有一个进程进入临界区,另一个进程等待进入

1

D.表示有两个进程进入临界区

B.它的优先权为最大 D.进程变为就绪状态

12.一个进程被唤醒意味着(

A.该进程重新占有了CPU C.其PCB移至等待队列队首

13.下面关于进程的描述中,正确的是(

A.进程获得CPU运行是通过调度得到的。

B.优先级是进程调度的重要依据,一旦确定就不能改变。 C.在单CPU的系统中,任意时刻都有一个进程处于运行状态。 D.进程申请CPU得不到满足时,其状态变为阻塞。 二、填空题

1.进程的封闭性是指进程的执行结果只取决于______,不受外界影响。 2. 进程的可再现性是指当进程再次重复执行时,必定获得______的结果。 3.若信号量的初值为1,用PV操作能限制一次______进程进入临界区操作。

4 进程的______是指并发进程之间存在一种制约关系,一个进程的执行依赖另一个进程的消息。 5.PV操作也可看作为进程间的一种通信方式,由于只交换了少量的信息,故称为______ 。 6.通过专门的通信机制实现进程间交换大量信息的通信方式称为______。 7.线程与进程有许多相似之处,所以线程又称为______。

8.在使PV操作实现进程互斥时,调用______相当于申请共享资源的使用权,调用______相当于归还共享资源的使用权。

9.在多线程操作系统中,线程与进程的根本区别在于进程作为______单位,而线程是______单位。

10.有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量的变化范围是______。

11.系统中共有5个用户进程,且当前CPU在用户态下执行,则最多可有______个用户进程处于就绪状态,最多可有______个用户进程处于阻塞状态;若当前在核心态下执行,则最多可有______个用户进程处于就绪状态,最多可有______个用户进程处于阻塞状态。 12.引入进程带来的好处是______和______。 三、简答题

2

1.什么是进程的顺序性和并发性?

2.假设PV操作用信号量s管理某个共享资源,请问当s>0,S=0和S<0时,它们的物理意义是什么?

3.请给出Pv操作的定义。

4.用PV操作实现进程间同步与互斥应注意些什么? 5.线程与进程的根本区别是什么? 6.试比较程序与进程的区别。 四、进程同步习题参考答案:

1.在测量控制系统中,数据采集任务把所采集的数据送入一单缓冲区;计算任务从单缓冲区中取出数据进行计算。试写出利用信号量机制实现两者共享缓冲区的同步算法。 解: 问题分析1:

本题是一个生产者一消费者问题。

采集任务采集到一个数据后,只有当缓冲区空时才能将数据送入缓冲区,否则等待 只有当缓冲区中有数据时,计算任务才能从缓冲区中取数据计算,否则也等待 问题分析2: 采集数据任务 计算任务 互斥(单缓冲区)

同步:采集数据任务不能往满缓冲区中放数据 计算任务不能从空缓冲区中取数据 设两信号量full(0)和empty(1) 实际上,当采集数据任务得到空缓冲时,也就得到了对缓冲区的使用,计算任务同理,得到满缓冲区时,也就得到了对缓冲区的使用。因此,不需专门设一个互斥信号量,信号量full和empty实际上也起到互斥作用。 问题分析3:

采集数据任务:

采集一数据 采集一数据 申请对缓冲区的使用权(申请空缓冲区) P(empty) 放数据 放数据

3

释入对缓冲区的使用权(满缓冲区加一<空变为满>) V(full) 计算任务:

申请对缓冲区的使用权(申请满缓冲区) P(full) 取走数据 取走数据 释入对缓冲区的使用权(空缓冲区加一<满变为空>) V(empty) 进行计算 进行计算

2.有三个并发进程get、copy、put:

get进程负责从输入序列f中读取字符,送到缓冲区S中;copy进程把缓冲区S中的数据复制到缓冲区T;put进程从缓冲区T中取出数据打印。

问题分析1:

copy既是get的消费者,又是put的生产者

互斥:缓冲区S由get和copy互斥共享,

缓冲区T由copy和put互斥共享 同步:get不能向“满”的S中放;

copy不能从“空”的S中取;不能向“满”的T中放; put不能“空”的T中取

问题分析2:

与采集数据任务、计算任务同理。 设:(同步)信号量:

S_Empty, T_Empty, (初值为1) S_Full, T_Full; (初值为0)

4

Get:

Begin Repeat

P(S_Empty) 将读取数据送入S; V(S_Full); Until false; End Copy: Begin Repeat P(S_Full); P(T_Empty); 将S中的数据copy到T; V(T_Full);

V(S_Empty); Until false; End Put: Begin Repeat P(T_Full); 取T中数据打印; V(T_Empty); Until false; End 5


第二章 练习题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:龙岗区2006—2007学年小学三年级

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: