第二章复习题(2)

更新时间:2024-05-27 19:00:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第二章、进程管理

一、选择题:

1、下列的进程状态变化中, C 的变化是不可能发生的。 A.运行→就绪

B.运行→等待

C.等待→运行

D.等待→就绪

2、有两个并发进程P1和P2,共享初值为1的变量x。P1对x加1,P2对x减1。

加1和减1操作的指令序列分别如下所示。

//加1操作

//减1操作

load R1, x //取x到寄存器R1load R2, x 中 inc R1

store x, R1 //将R1的内容存入x

两个操作完成后,x的值 C 。 A.可能为-1或3

B.只能为1

D.可能为-1、0、1或2

dec R2 store x, R2

C.可能为0、1或2

3、下列关于进程和线程的叙述中,正确的是 A 。

A.不管系统是否支持线程,进程都是资源分配的基本单位 B.线程是资源分配的基本单位,进程是调度的基本单位 C.系统级线程和用户级线程的切换都需要内核的支持 D.同一进程的各个线程拥有各自不同的地址空间

4、在引入线程的操作系统中,把 D 作为调度和分派的基本单位,而

把 作为资源拥有的基本单位。 A.进程 线程 程

5、有甲、乙两道算题,每道需执行1小时(其中处理器的工作时间为12分钟)。

若它们在多道系统中执行,甲、乙两道题总共需执行80分钟,则处理器的利用率为 C 。 A.50%

B.40%

C.30%

D.20%

B.程序 线程

C.程序 进程

D.线程 进

6、在具有挂起状态的系统中,若当前内存空间高度吃紧,系统将使一个正在等

待I/O的进程进____D_____状态。 A.活动就绪

B.静止就绪

C.活动阻塞

D.静止阻塞

7、设与某资源关联的信号量初值为3,当前值为1。若M表示该资源的可用个数,

N表示等待该资源的进程数,则M、N分别是 B 。 A.0、1

B.1、0

C.1、2

D.2、0

8、下列选项中,导致创建新进程的操作是 C 。

I.用户登录成功 A.仅I和II III

9、并发性是指若干事件在 B 发生。 A.同一时刻 内

10、进程P0和P1的共享变量定义及其初值为:

boolean flag[2]; int turn=0;

flag[0]=FALASE; flag[1]=FALSE;

若进程P0和P1访问临界资源的类C伪代码实现如下:

void P0( ) //进程P0 { while(TRUE) { flag[0]=TRUE; turn=1; while(flag[1] (turn==1)) ; 临界区; flag[0]=FALSE; } } && void P1( ) //进程P1 { while(TRUE) { flag[1]=TRUE; turn=0; while(flag[0] (turn==0)) ; 临界区; flag[1]=FALSE; } } && B.同一时间间隔内 C.不同时刻

D.不同时间间隔

II.设备分配

III.启动程序执行

D.I、II和

B.仅II和III C.仅I和III

则并发执行进程P0和P1时产生的情形是 D 。 A.不能保证进程互斥进入临界区,会出现“饿死”现象 B.不能保证进程互斥进入临界区,不会出现“饿死”现象

C.能保证进程互斥进入临界区,会出现“饿死”现象 D.能保证进程互斥进入临界区,不会出现“饿死”现象

11、两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发

来消息,或者建立某个条件后再向前执行,这种关系称为进程间的 A 。 A.同步

B.互斥

C.竞争

D.合作

12、进程和程序的本质区别是 D 。 A.存储在内存和外存

B.顺序和非顺序执行机器指令 C.分时使用和独占使用计算机资源 D.动态和静态特征

13、多道程序设计能充分发挥 A 之间的并行工作能力。 A.CPU与外设 设

14、在进程管理中,当 A 时,进程从运行状态变为就绪状态。 A.时间片用完

B.进程与进程

C.内存与进程

D.内存与外

B.被进程调度程序选中 C.等待某一事件发生 D.等待的事件发生

二、填空题:

1、进程是由程序、数据和(PCB块)组成的。

三、判断题:

1. 进程的并发性是多个进程同时运行。( 错 )

2. 实时系统中的进程调度,通常采用抢占式的优先数高者优先调度算法。( 对 )

3. 因为临界资源一次只能允许一个进程使用,所以临界资源不能共享。( 错 ) 4、引入缓冲的主要目的是提高I/O设备的利用率。( 错 ) 5、进程间的互斥是一种特殊的同步关系。( 对 )

6、如果系统中没有运行的进程,系统中一定没有进程(错)

四、综合应用题:

1、若进程Pa、Pb和Pc单独执行时间分别是1小时、1.5小时和2小时,其中处理机工作时间分别为10分钟、15分钟和35分钟。如果采用多道程序设计方法,让Pa、Pb和Pc并行工作,假定处理机利用率达到50%,请问系统效率能提高百分之几?

答:Ta、Tb和Tc并行工作共用CPU时间为:

(10+15+35)/50%=120 (分钟)

单道方式执行时总时间为60+90+120=270分钟 故系统效率提高:(270-120)/270*100%=55.6%

2、假定有一个成品仓库,总共能存放8台成品,生产者进程把生产成品放入仓库,消费者

进程从仓库中取出成品消费。为了防止积压,仓库满时就停止生产。由于仓库搬运设备只有一套,故成品的存入和取出只能分别进行,试用P、V操作来实现该方案。 解:semaphore mutex, empty, full ;

mutex=1; empty=8; full=0; parbegin

process Pi //生产者进程 {

while (1) {

生产一个成品x; P(empty) P(mutex);

//看看仓库是否还有空间可放成品 //互斥使用搬运设备

//互斥信号量

//生产者进程的同步信号量 //消费者进程的同步信号量

用搬运设备将成品放入仓库; V(full); V(mutex); } }

process Cj //消费者进程

//仓库中成品数增1(可能唤醒一个消费者)

{

while (1) {

P(full) P(mutex);

//看看仓库是否有成品 //互斥使用搬运设备

用搬运设备将成品从仓库取出;

V(emtpy); //仓库中可放成品数增1(可能唤醒一个生产者) V(mutex); } } parend

3、某银行提供1个服务窗口和10个顾客等待座位。顾客到达银行时,若有空座位,则到

取号机领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动过程描述如下: cobegin {

process 顾客i {

从取号机获得一个号码; 等待叫号; 获得服务; }

process 营业员 {

while (TRUE) {

叫号; 为顾客服务; } } }

coend

请添加必要的信号量和P、V(或wait( )、signal( ))操作实现上述过程的互斥和同步。要求写出完整的过程,说明信号量的含义并赋初值。 解:

begin

semaphore mutex=1; semaphore seat=10; semaphore S1=0; semaphore S2=0; cobegin {

process 顾客i {

P(seat); P(mutex);

//若没有空座位,顾客等待 //取号互斥

//用于顾客取号的互斥信号量

//顾客等待座位的资源信号量,当没有空座位时顾客在其上阻塞 //营业员与顾客的同步信号量,当没有顾客时营业员在其上阻塞 //顾客与营业员的同步信号量,等待叫号时顾客在其上阻塞

从取号机获得一个号码; V(mutex); V(S1); P(S2); 等待叫号; 获得服务; }

process 营业员 {

while (TRUE) {

P(S1); V(S2); 叫号;

V(seat); //空出一个座位(此行放在顾客进程的等待叫号后面也可)

//若无顾客则等待 //唤醒等待叫号的顾客 //通知营业员,已有顾客

为顾客服务; } } } coend end

本文来源:https://www.bwwdw.com/article/m177.html

Top