进程管理-无答案

更新时间:2023-11-01 20:15:01 阅读量: 综合文库 文档下载

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

进程管理(第四章)练习题

一、填空题

1.进程的“同步”和“互斥”反映了进程间 直接制约 和 间接制约 的关系。 2.死锁产生的原因是 竞争资源产生死锁 和 进程推进顺序不当 。

3.产生死锁的四个必要条件是 互斥条件 、 请求与保持条件 、 非剥夺条件 、 循环等待条件 。

4.在操作系统中,信号量是表示 资源 的物理实体,它是一个与 队列 有关的整型变量,其值仅能由 pv 原语来改变。

5.每执行一次P原语,信号量的数值S减1。如果S>=0,该进程 继续执行 ;若S<0,则 阻塞 该进程,并把它插入该 信号量 对应的 阻塞 队列中。

6.每执行一次V原语,信号量的数值S加1。如果 S>0 ,进程继续执行;如果S<=0,则从对应的 等待 队列中移出一个进程R,该进程状态变为 就绪 。

7.利用信号量实现进程的 互斥 ,应为临界区设置一个信号量 mutex。其初值为 1 ,表示该资源尚未使用,临界区应置于 p 和 v 原语之间。

8.在多道环境下,由于进程的并发执行,一段程序为多个进程 共享 时,要求在执行的过程中,该段程序的指令和数据不能被 修改 ,这样的程序段称为 纯过程 。 二、单项选择题

1.在非剥夺调度方式下,运行进程执行V原语之后,其状态 A 。 (A)不变 (B)要变 (C)可能要变 (D)可能不变 2.两个进程争夺同一个资源 B 。

(A)一定死锁 (B)不一定死锁 (C)不死锁 (D)以上说法都不对

3. E 是一种只能由P操作和V操作进行访问的特殊变量,可以用来实现异步并行进程间的 D 以排它地访问共享数据,还可以用来实现 G,实现进程间在逻辑上的相互制约关系。

(A)调度 (B)类程 (C)进程 (D)互斥

(E)信号量 (F)控制变量 (G)同步 (H)共享变量 (I)规程 (J)分配

4.可以被多个进程在任一时刻共享的代码必须是 A 。 (A)不能自身修改的纯码 (B)顺序代码

(C)无转移指令的代码 (D)汇编语言编制的代码 5.当对信号量进行V原操作之后, C 。 (A)当S<0,进程继续执行 (B)当S>0,要唤醒一个就绪进程 (C)当S<=0,要唤醒一个等待进程 (D)当S<=0,要唤醒一个就绪进程

6.在下列叙述中,错误的一条是 A 。

(A)进程被撤消时,只需释放该进程的PCB就可以了,因为PCB是进程存在的唯一标志

(B)进程的互斥和同步都能用P/V原语实现

(C)用户程序中执行系统调用命令时,处理机的状态字将发生改变 (D)设备独立性是指用户在编程时,所使用的设备与实际设备无关 7.正在运行的进程在信号量S上作P操作之后,当S<0,进程将进入信号量的 A 。 (A)等待队列 (B)提交队列 (C)后备队列 (D)就绪队列

8.如果发现系统有 C 的进程队列就说明系统有可能发生死锁了。 (A)互斥 (B)可剥夺 (C)循环等待 (D)同步

9.某个信号量S初值为3,当前值为-2,则等待在该信号量上的进程数为 B 个。 (A)1 (B)2 (C)3 (D)5

10.预先静态分配法是通过破坏 C 条件,来达到预防死锁目的的。

(A)互斥使用资源/循环等待资源 (B)非抢占式分配/互斥使用资源 (C) 占有且等待资源/循环等待资源 (D)循环等待资源/互斥使用资源

11.设系统中有N(N>2)个进程,则系统中最不可能的是有 B 个进程处于死锁状态。

(A)0 (B)1

(C)2 (D)M(2<M<=N) 三、多项选择题

1.造成死锁的原因是___BD______。

(A)内存容量太小 (B)系统进程数量太多,系统资源分配不当 (C)CPU速度太慢 (D)进程推进顺序不合适 (E)外存容量太小

2.下列叙述正确的是__A__BC_____。

(A)对临界资源应采取互斥访问方式来实现共享 (B)进程的并发执行会破坏程序的“封闭性” (C)进程的并发执行会破坏程序的“可再现性” (D)进程的并发执行就是多个进程同时占有CPU (E)系统死锁就是程序处于死循环

3.通常不采用__DE_______方法来解除死锁。

(A)终止一个死锁进程 (B)终止所有死锁进程

(C)从死锁进程处抢夺资源 (D)从非死锁进程处抢夺资源 (E)终止系统所有进程

4.在多进程的并发系统中,有关进程间的关系的正确说法是_________。

(A)都是逻辑上无关的 (B)有些可能逻辑上无关的 (C)都是逻辑上有关的 (D)有些可能逻辑上有关的 (E)它们之间都直接或间接发生关系

5.通常使用的死锁防止策略有___BEC______。

(A)动态分配资源 (B)静态分配资源 (C)按序分配资源 (D)非剥夺式分配资源 (E)剥夺式分配资源 四、是非判断题

1.消息缓冲机制中,发送进程和接收进程之间存在有用来存放被传送消息的缓冲区,所以,它们之间存在对临界资源的使用问题。 ( 对) 2.假设二个进程的同步算法如下: 设初值 s1=1, s2=n, s3=1 进程1 进程2 p(s2) p(s3) p(sl) p(s1)

… …

v(s2) v(s3) v(sl) v(sl)

在上述同步算法中,PV原语的顺序都可颠倒。(错)

3.信号量作为一种资源对其操作不当,可造成系统的死锁。 (对 ) 五、简答题

1.简述信号量S的物理含义:

信号量S是用来表明资源是一个可以被进程使用的量,是一个整型变量

2.PV操作本身的如何定义的? P操作是用来抢资源,占有一个资源 V操作是释放资源

3.用PV操作如何解决N个进程的互斥问题。

设信号量S的初值为1,则n个进程的互斥问题可以采用以下方法解决:

P1进程 P2进程 … Pn进程

P(S) P(S) P(S)

临界区 临界区 临界区

V(S)

4.如果一个生产者和一个消费者他们共享的缓冲器(B)容量为可以存放n件物品,如何用PV操作来实现他们正确地同步。

设信号量empty(表示缓冲器中可存放多少件物品)的初值为n, 信号量full(表示缓冲器中存有几件物品)的初值为0。当缓冲器中没有放满n件物品时,生产者调用P(empty)都不会成为等待状态而可把物品存入缓冲器。但当缓冲器中已经有n件物品,生产者想再存入一件物品将被拒绝。每存入一件物品后,由于调用V(full),故empty的值表示缓冲器中可用的物品数,只要full>0,消费者调用P(full)后总可去取物品。每取走一件物品后,由于调用V(empty),便增加了一个可用来存放物品的位置。用指针k和t分别指示生产者往缓冲器存物品和消费者从缓冲器中取物品的相对位置,它们的初值为0,那么,一个生产者和一个消费者共用容量为n的缓冲器时,可如下进行同步工作:

设信号量empty,full,初值为empty=n,full=0;整型变量k,t,初值k=t=0。 生产者进程: begin

L1:produce a product; P(empty); B[k]:=product;

k:=(k十1)mod n; V(full); go to L1 end; 消费者进程:

V(S)

V(S)

begin

L2:P(full);

take a product from B[t]; t:=(t+1)mod n; V(empty); consume; go to L2 end

5.进程通信方式有两种即:直接通信、间接通信,给出各自使用的原语形式。

6.产生死锁的原因是什么?

7.死锁发生的必要条件有哪些?

8.阐述预先静态分配法是如何进行死锁预防的。 第一个策略就是预先静态分配法,这是针对部分分配条件的策略。要求每一个进程在开始执行前就申请它所需要的全部资源,仅当系统能满足进程的资源要求且把资源分配给进程后,该进程才能开始执行。

这个策略毫无疑问能够防止死锁的发生,因为这样做破坏了部分分配条件,但是它导致了严重的资源浪费。例如一个进程可能在运行到最后时需要一台打印机打印结果数据,但必须在进程运行前就把打印机分配给它,而且在进程运行的过程中并不使用打印机。

9.阐述按序分配资源法是如何进行死锁预防的。

10.为什么说不能通过破坏“互斥条件”来预防死锁。

11.防止死锁的分配策略中,它们各自存在的缺点。

12.解决临界段问题的原则是什么?

13.现有四个进程:R1,R2,W1和W2,它们共享可以存放一个数的缓冲区B。进程R1每次把从键盘上读入的一个数存到缓冲区B中,供进程W1打印输出;进程R2每次把从磁盘上读一个数存放到缓冲区B中,供进程W2打印输出。怎样用P、V操作协调四个并发进程的工作。

六、综合应用题

1.设有3个并发执行的进程:输入进程Pi、计算进程Pc和输出进程Po。其中进程Pi不断地从键盘读入整数,放入缓冲区Buf1,Pc按输入顺序从Buf1中取数据,每次取出2个整数,计算其和,将结果放入缓冲区Buf2。Po负责将Buf2中的数据按顺序输出。设缓冲区Buf1、Buf2可存放的整数个数分别为m、n(m、n>0)。要求利用信号量的P、V操作写出进程Pi、Pc、Po的算法。

2.今有3个并发进程R、M、P,它们共享一个缓冲器B。进程R负责向B中输入数据;进程R每输入一数据,进程M对其进行加工;进程M加工完成后,进程P负责打印输出。缓冲器B中每次只能存放一个数据,数据一旦被打印,进程R又可存放下一个数据,??。它们之间的关系如图所示。

M R 缓冲器B P 用PV操作机制进行控制,写出三个进程的工作流程。

3、有一个阅览室,共有100个座位,读者进入时必须先在一张登记表上登记,该表为每一座位列一表目,包括座号和读者姓名等,读者离开时要消掉登记的信息,试问: (1)为描述读者的动作,应编写几个程序,设置几个进程? (2)试用PV操作描述读者进程之间的同步关系。

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

Top