当前位置:文档之家› 第3章 进程管理 习题

第3章 进程管理 习题

第3章 进程管理 习题
第3章 进程管理 习题

第3章进程管理

一、单项选择题

1.在多进程的系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。所谓临界区是指。(清华大学1996年研究生试题)

a.一个缓冲区 b. 一段数据区 c. 同步机制 d.. 一段程序

2. 一个进程是。(清华大学1996年研究生试题)

a.由协处理机执行的一个程序

b.一个独立的程序+数据集

c.PCB结构与程序和数据的组合 d.一个独立的程序

3.在操作系统中,信号量表示资源实体,是一个与队列有关的变量,其值仅能用P、V操作来改变。(陕西省1995年自考题)

a.实型 b.整型 c.布尔型 d.记录型

4.设有5个进程共享一个互斥段,如果最多允许有3个进程同时进入互斥段,则所采用的互斥信号量的初值应是。(陕西省1996年自考题)

a. 5

b. 3

c. 1

d. 0

5.并发进程之间。(陕西省1997年自考题) a.彼此无关 b、必须同步 c、必须互斥 d、可能需要同步或互斥6.实现进程之间同步与互斥的通信工具为。

a、P、V操作

b、信箱通信

c、消息缓冲

d、高级通信

7.N个进程共享某一临界资源,则互斥信号量的取值范围为。

a、0~1

b、-1~0

c、1~ -(N-1)

d、0~ -(N-1)

8.设m为同类资源数,n为系统中并发进程数。当n个进程共享m个互斥资源时,每个进程的最大需求是w;则下列情况会出现系统死锁的是。

a、m=2,n=1,w=2

b、m=2,n=2,w=1

c、m=4,n=3,w=2

d、m=4,n=2,w=3 9.是进程调度算法。

a、时间片轮转法

b、先来先服务

c、响应比高者优先

d、均衡调度算法10.当时,进程从执行状态转变为就绪状态。

(西北工业大学1999年研究生试题)

a、进程被调度程序选中

b、时间片到

b、等待某一事件 d、等待的事件发生

11.对两个并发进程,其互斥信号量为mutex;若mutex=0,则表明。

a、没有进程进入临界区

b、有一个进程进入临界区

c、一个进程进入临界区而另一个进程正处于等待进入临界区状态

d、有两个进程进入临界区

12.用P、V操作可以解决互斥问题。

A、某些 b、一个 c、一切 d、大多数

13.系统中有n(n>2)个进程,并且当前没有执行进程调度程序,则不可能发生。

A、有一个运行进程,没有就绪进程,剩下的n-1个进程处于等待状态

B、有一个运行进程和n-1个就绪进程,但没有进程处于等待状态

C、有一个运行进程和1个就绪进程,剩下的n-2个进程处于等待状态

D、没有运行进程但有2个就绪进程,剩下的n-2个进程处于等待状态

14.下面临界区概念论述正确的是。

a、临界区是指进程中用于实现进程互斥的那段程序代码

b、临界区是指进程中用于实现进程同步的那段程序代码

c、临界区是指进程中用于实现进程通信的那段程序代码

d、临界区是指进程中用于访问临界资源的那段程序代码

15.支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行来实现CPU的共享,但其中不是引起操作系统选择新进程的直接原因。

(复旦大学1999年研究生试题)

a、运行进程的时间片用完

b、运行进程出错

c、运行进程要等待某一事件的发生

d、有新进程进入就绪状态

二、填空题

1.进程的队列组织,通常采用和的形式。(陕西省1995年自考题)

2.法和法是接触死锁的两种常用方法。(陕西省1997年自考

题)

3.当系统创建一个进程时,系统就为其建立一个,当进程被撤消时就将其回收。

(陕西省1998年自考题)

4.死锁产生的主要原因是和。

5.死锁产生的4个必要条件是:互斥条件、、和。

6.当多个进程等待分配处理机时,系统按一种规定的策略从多个处于状态

的进

程中选择一个进程,让它占有处理机,被选中的进程就进入了状态。

7.临界区是指。

8.如果系统中有N个进程,则在等待队列中进程的个数最多为个。

9.在P、V操作中,信号量S的物理意义是当信号量S值大于零时表示;

当信号量S值小于零时,其绝对值为。

10.若使当前运行的进程总是优先级最高的进程,应选择进程调度算法。

11.用P、V操作管理临界区时,任何一个进程在进入临界区之前应调用操

作,

在临界区时应调用操作。

12.如果信号量的当前值为-4,则表示系统在该信号量上有个等待进程。

13.实现一个进程时必须考虑的3个主要问题包括:。

三、问答题

1.操作系统中为什么要引入进程的概念?为了实现并发进程间的合作和协调工作,以及保证系统的安全,操作系统在进程管理方面应做哪些工作?(南京大学1997年研究生试题)

2.试比较进程和程序的区别。(哈尔滨工业大学2000年研究生试题)

3.进程和线程的主要区别是什么?(西北工业大学1999年研究生试题)

4.试比较管程和进程的异同点。

5.进程之间存在哪几种相互制约的关系?各是什么原因引起的?下列活动分别属于哪种

制约关系?(北京理工大学1996年研究生试题)

(1)若干同学去图书借书;

(2)两队举行篮球比赛;

(3)流水线生产的各道工序;

(4)商品生产和社会消费;

6. 进程基本状态变迁如图3-8所示。问:

(1)在什么情况下将发生下述状态的因果变迁?

a .2 1 b. 3 2 c. 4 1 d.. 3 1

(2)在什么情况下,下述状态变迁不会立即引起其他变迁?

a .1

b . 2 c. 3 d . 4

4

图3-8 进程基本状态变迁图

7. 下述程序是解决两个进程互斥访问临界区问题的一种方法,试从“互斥”、“有空即进”、“有限等待”3个方面讨论它的正确性,如果它是正确的,则证明之;如果它不正确,请说明理由。

Program sample;

V ar c1 ,c2 :integer ;

Procedure p1 ; /*第一个进程p1*/

Begin

Repeat

Other section 1;

Repeat

C1 :=1-c2

Until c2 <>0;

Critical section ;/*临界区*/

C1 :=1

Until false

End

Procedure p2 ;

Begin

Repeat

Other section 2;

Repeat

C2 :=1-c1

Until c1 <>0;

Critical section ;/*临界区*/

C2 :=1

Until false

End ;

Begin

C1 :=1;

C2 :=1;

Cobegin

P1 ;

P2 ;

Coend

End

(1)

8. 产生死锁的必要条件是什么?解决死锁问题常用哪几种措施?

9.要使一个系统不发生死锁,一般可采用哪些方法?简述它们的实现原理。

10.Dijkstra 1965年提出的银行家算法其主要思想是什么?它能够用来解决实际中的死锁问题吗?为什么?

四、解答题

1.设有8个程序prog1,prog2,……prog8,它们在并发系统中执行时有如图4-1所示的制约关系,试用P,V操作实现这些程序间的同步。

图4-1 prog1~prog8执行关系图

2.两个可以并发执行的程序都分别包含输入、计算的打印3个程序段,即I1、C1、P1、和I2、C2和P2。两程序的前趋关系如图3-12所示,试用P、V操作实现它们的同步关系。

3.有3个并发进程R、M、P,它们共享同一缓冲区。进程R负责从输入设备读信息,每读入一个记录后,就把它放进缓冲区中;进程M在缓冲区中加工读入的记录;进程P把加工后的记录打印输出。读入的记录经加工输出后,缓冲区又可以存放下一个记录。试写出它们能够正确执行的关发程序。

4. 设有进程A,B,C分别调用过程get,copy,put对缓冲区S和T进行操作。其中get负责把数据块输入缓冲区S,COPY负责从缓冲区S中提取数据块复制到缓冲区T中,PUT负责从缓冲区S,COPY负责从缓冲区T中提取信息打印,如图3-15所示。试描述get,copy,put 的操作过程。

图3-15三进程工作示意图

5. 进程A1,A2……..,An1通过m个缓冲区向进程B1,B2,….Bn2不断发送消息,发送和接受工作遵循如下规则:

(1)每个发送进程一次发送一个消息,写如一个缓冲区,缓冲区大小与消息长度一样;

(2)对每一个消息,B1,B2,…….Bn2都需要各接受一次,读入各自的数据区内:

(3)m个缓冲区都满时,发送进程等待,没有可读的消息时,接受进程等待。试用P、V操作组织正确的发送和接受操作。

6.有一个仓库,可以存放A和B两种产品,仓库的存储空间足够大,但要求:

(1)一次只能存入一种产品(A或B);

(2)-N

其中,N和M是正整数。试用“存放A”和“存放B”以及P、V操作描述产品A与产品B的入库过程。(北京大学1991年研究生试题)

7.有一个仓库存放两种零件A和B,最大库容量各为m 个。有一车间不断地取A和B进行装配,每次各取一个。为避免零件锈蚀,遵循先入库者先出库的原则。有两组供应商分别不断地供应A和B。为保证齐套和合理库存,当某种零件的数量比另一种的数量超过n(n

8. 设有一个具有N个信息元素的环形缓冲区,A进程顺序把信息写入缓冲区,B进程依次地从缓冲区读出信息。回答下列问题:

(1)叙述A、B两进程的相互制约关系;

(2)判别下列用P、V操作表示的同步算法是否正确?如不正确,试说明理由,并修改成正确算法。

VAR buffer:ARRAY[0..N-1] OF T;

in,out:0..N-1;

VAR S1,S2:Semaphore;

S1:=0; S2:=N;

in:=0; out:=0;

PROCEDURE A;

BEGIN

REPEAT

生产数据m;

P(S2);

buffer(in):=m;

in:=(in+1) mod N;

V(S1);

forever

END;

PROCEDURE B;

BEGIN

REPEAT

V(S2);

m:=buffer(out);

消费m;

out:=(out+1) mod N;

P(S1);

forever

END;

9.多个进程共享一个文件,其中只读文件的称之为读者,其余只写文件的称为写者。读者可以同时读,但是写者只能独立地写。

(1)说明进程间的相互制约关系,应设哪些信号量?

(2)用P、V操作写出其同步算法。

(3)修改上述的同步算法,使得它对写者优先,即一旦有写者到达,后续的读者都必须

等待,而无论是否有读者在读文件。

10.设有P1、P2、P3 3个进程共享某一资源F,P1对F只读不写,P2对F只写不读,P3对F先读后写。当一个进程写F时,其他进程对F不能进行读写,但多个进程同时读F是允许的。试用P、V操作正确实现P1、P2、P3的同步与互斥。要求:

(1)正常运行时不产生死锁;

(2)使用F的并发度要高。

11.设有5个哲学家,共享一张放有5把椅子和桌子,每人分得一把椅子。但是,桌上总共只有5支筷子,在每人两边各放一支。哲学家只有在肚子饥饿时方可分两次从两边抢占筷子就餐。

就餐的条件是:

(1)哲学家想吃饭时,先提出吃饭要求;

(2)提出吃饭要求,并拿到两支筷子后,方可吃饭;

(3)如筷子已被他人获得,则必须等待此人吃完饭后才能获取该筷子;

(4)任一哲学家在自己未拿到两支筷子吃饭之前,决不放下手中的筷子;(5)刚开始就餐时只允许两个哲学家请求吃饭;

试问:

(1)描述一个保证不会出现两个邻座同时要求吃饭的算法。

(2)描述一个既没有两邻座同时吃饭,又没有人饿死的算法。

(3)在什么情况下,5个哲学家全部吃不上饭?

12. 图3-23所示的是高级通信原语SEND和RECEIVE不完整的框图。请填充适当的P.V 操作,并说明所用信号量的意义和初值。

图3-23SEND和RECEIVE不完整框图

13. (复旦大学1997研究生试题)

用P、V操作实现下述问题的解。

桌上有一个盘子,可以存放一个水果,父亲总是放苹果到盘子中,而母亲则总是放香蕉到盘子中;一个儿专等吃盘中的香蕉,而一个女儿专等吃盘中的苹果。

14. (南京大学2000年研究生试题)

桌上有一只盘子,最多可容纳两个水果,每次只能放入或取出一个水果。爸爸专向盘子放苹果(apple),妈妈专向盘子中放桔子(orange);两个儿子专等吃盘子中的桔子,两个女儿专等吃盘中的苹果。请用p、v操作来实现爸爸、妈妈、儿子、女儿之间的同步与互斥关系。

15.例题3.47 (南京大学2000年试题)

兄弟两共同使用一个帐号,每次限存或去10元,存钱与取钱的进程如下所示:

begin

amount: integer;

amount:=0;

cobegin

process SA VE

m1: integer;

begin

m1: =amount;

m1: =m1+10;

amount: =m1

end;

process TAKE

m2: integar;

begin

m2: =amount;

m2: =m2-10;

amount: =m2

end

coend

end;

由于兄弟俩可能同时存钱或取钱,因此两个进程是并发的。若哥哥先存了两次钱,但在第三次存钱的时候,弟弟在取钱。请问最后账号amount上面可能出现的值?如何用PV 操作实现两并发进程的互斥执行?

16.(北京邮电大学1998年研究生试题)

某寺庙,有小和尚、老和尚若干。有一水缸,由小和尚提水入缸老和尚饮用。水缸可容10桶水,水取自同一井中。水井径窄,每次只能容一个桶取水。水桶总数为3个。每次入、取缸水仅为1桶,且不可同时进行。试给出有关取水、入水的算法描述。

17.某工厂有两个生产车间和一个装配车间,两个生产车间分别生产A、B两种零件,装配车间的任务是把A、B两种零件组装成产品。两个生产车间每生产一个零件后都要分别把它们送到装配车间的货架F1、F2上。F1存放零件A,F2存放零件B,F1和F2的容量均为可以存放10个零件。装配工人每次从货架上取一个A零件和一个B零件然后组装成产。请用P、V操作进行正确管理。(南京大学1999年研究生题)

18.(上海交大1999年研究生试题)

设系统仅有一类数量为M的独占型资源,系统中N个进程竞争该类资源,其中各进程对该类资源的最大需求为W。当M、N、W分别取下列值时,试判断下列哪些情形会发生死锁?为什么?

(1)M=2;N=2,W=1;

(2)M=3;N=2,W=2;

(3)M=3;N=2,W=3;

(4)M=5;N=3,W=2;

(5)M=6;N=3,W=3;

19. (北京大学1997年研究生试题)

设系统中有3种类型的资源(A,B,C)和五个进程(P1,P2,P3,P4,P5),A资源的数量为17,B资源的数量为5,C资源的数量为20,在T0时刻系统状态如表所示。

表3.1 T时刻系统状态

系统采用银行家算法实施死锁避免策略。

(1)T 0时刻是否为安全状态?若是,请给出安全序列。

(2)在T 0时刻若进程P2请求资源(0,3,4),是否能实施资源分配?为什么? (3)在(2)的基础上,若进程P4请求资源(2,0,1),是否能实施资源分配?为什么? (4)在(3)的基础上,若进程P1请求资源(0,2,0),是否能实施资源分配?为什么?

20. (中科院软件所1999年研究生试题)

某系统有R1、R2和R3共3种资源,在T0时刻P1、P2、P3和P4这4个进程对资源的占用和需求情况如下表3.7所示,此刻系统的可用资源为(2,1,2),问题:

(1)将系统中各种资源总数和此刻个进程对个资源的需求数目用向量或矩阵表示出来。(2)如果此时P1和P2均发出资源请求向量Request(1,0,1),为了保证系统的安全性,应该如何分配资源给这两个进程?说明你所采用策略的原因。

(3)如果(2)中两个请求立即得到满足后,系统此刻是否处于死锁状态? 表3.7 T0时刻4进程对资源的占用和需求情况

21.

(南京大学2000年试题)

按序分配是防止死琐的一钟策略。什么是按序分配?为什么按序分配可以防止死锁?

2019年进程管理习题及答案

进程管理习题答案 一.选择题 1.在进程管理中,当时进程从阻塞状态变为就绪状态. A. 进程被进程调度程序选中 B.等待某一事件 C.等待的事件发生 D.时间片用完 答:C 2.分配到必要的资源并获得处理机时的进程状态是。 A.就绪状态 B.执行状态 C.阻塞状态 D.撤消状态 答:B 3.P、V操作是。 A.两条低级进程通信原语 B.两组不同的机器指令 C.两条系统调用命令 D.两条高级进程通信原语 答:A 4.对进程的管理和控制使用。 A.指令 B.原语 C.信号量 D.信箱通信 答:B 5.进程的并发执行是指若干个进程。 A.同时执行 B.在执行的时间上是重叠的 C.在执行的时间上是不可重叠的 D.共享系统资源 答:B 6.若P、V操作的信号量S初值为2,当前值为-1,则表示有等待进程。A.0个 B.1个 C .2个 D.3个 答:B 7.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是①;由运行状态变为阻塞状态的条件是②。 A.时间片用完 B.等待某事件发生 C.等待的某事件己发生 D.被进程调度程序选中 答,①D ②B 8.下列的进程状态变化中,变化是不可能发生的。 A.运行一就绪 B.运行一等待 C.等待一运行 D.等待一就绪 答:C 9.一个运行的进程用完了分配给它的时间片后,它的状态变为。 A.就绪 B.等待 C.运行 D.由用户自己确定

答:A 10.用P、V操作管理临界区时,信号量的初值应定义为。 A.一1 B.0 C.1 D.任意值 答:C 11.用V操作唤醒一个等待进程时,被唤醒进程的状态变为. A.等待 B.就绪 C.运行 D.完成 答:B 12.进程间的同步是指进程间在逻辑上的相互关系。 A.联接 B.制约 C. 继续 D.调用 答:B 13.是一种只能进行P操作和V操作的特殊变量。 A.调度 B.进程 C.同步 D.信号量 答:D 14.下面对进程的描述中,错误的是。 A.进程是动态的概念 B.进程执行需要处理机 C.进程是有生命期的 D.进程是指令的集合 答:D 15.下面的叙述中正确的是。 A.操作系统的一个重要概念是进程,因此不同进程所执行的代码也一定不同。B.为了避免发生进程死锁,各进程只能逐个申请资源。 C.操作系统用PCB管理进程,用户进程可以从此PCB中读出与本身运行状况有关的信息 D.进程同步是指某些进程之间在逻辑上的相互制约关系 答:D 16.进程控制就是对系统中的进程实施有效的管理,通过使用、进程撤销、进程阻塞、进程唤醒等进程控制原语实现。 A.进程运行 B.进程管理 C.进程创建 D.进程同步 答:C 17.操作系统通过对进程进行管理。 A.JCB B.PCB C.DCT D.CHCT 答:B 18.用P、V操作可以解决互斥问题。 A.一切 B.某些 C.正确 D.错误 答:A 19.通常,用户进程被建立后,。 A.便一直存在于系统中,直到被操作人员撤消

第二章进程管理答案

第二章进程管理 一、单项选择题 1、顺序程序和并发程序的执行相比,()。 A.基本相同 B. 有点不同 C.并发程序执行总体上执行时间快 D.顺序程序执行总体上执行时间快 2、在单一处理机上,将执行时间有重叠的几个程序称为()。 A.顺序程序 B. 多道程序 C.并发程序 D. 并行程序 3、进程和程序的本质区别是()。 A.存储在内存和外存 B.顺序和非顺序执行机器指令 C.分时使用和独占使用计算机资源 D.动态和静态特征 4、在下列特性中,不是进程的特性的是()。 A. 异步性 B. 并发性 C. 静态性 D. 动态性 5 A 6 A. 7 A. 8 A. 9 A. 10 A. 11 A. 12。 A. 13 A. 14 A. 15 A. 16、在操作系统中,对信号量S的P原语操作定义中,使进程进入相应阻塞队列等待的条件是()。 A. S>0 B. S=0 C. S<0 D. S≠0 17、信号量S的初值为8,在S上执行了10次P操作,6次V操作后,S的值为()。 A.10 B.8 C.6 D.4 18、在进程通信中,使用信箱方式交换信息的是()。 A.低级通信B.高级通信C.共享存储器通信D.管道通信 19.( )必定会引起进程切换。A.一个进程被创建后进入就绪态B.一个进程从运行态变成等待态c.一个进程从运行态变成就绪态 D.一个进程从等待态变成就绪态 20、操作系统使用( )机制使计算机系统能实现进程并发执行,保证系统正常工作。 A.中断B.查询c.同步D互斥 21.对于一个单处理器系统来说,允许若干进程同时执行,轮流占用处理器.称它们为()的。 A.顺序执行 B.同时执行c.并行执行D.并发执行

进程管理实验报告

实验2过程管理实验报告学生号姓名班级电气工程系过程、过程控制块等基本原理过程的含义:过程是程序运行过程中对数据集的处理,以及由独立单元对系统资源的分配和调度。在不同的数据集上运行程序,甚至在同一数据集上运行多个程序,是一个不同的过程。(2)程序状态:一般来说,一个程序必须有三种基本状态:就绪、执行和阻塞。然而,在许多系统中,过程的状态变化可以更好地描述,并且增加了两种状态:新状态和终端状态。1)就绪状态,当一个进程被分配了除处理器(CPU)以外的所有必要资源时,只要获得了处理器,进程就可以立即执行。此时,进程状态称为就绪状态。在系统中,多个进程可以同时处于就绪状态。通常,这些就绪进程被安排在一个或多个队列中,这些队列称为就绪队列。2)一旦处于就绪状态的进程得到处理器,它就可以运行了。进程的状态称为执行状态。在单处理器系统中,只有一个进程在执行。在多处理器系统中,可能有多个进程在执行中。3)阻塞状态由于某些事件(如请求输入和输出、额外空间等),执行进程被挂起。这称为阻塞状态,也称为等待状态。通常,处于阻塞状态的进程被调度为-?这个队列称为阻塞队列。4)新状态当一个新进程刚刚建立并且还没有放入就绪队列中时,它被称为新状态。5)终止状态是

什么时候-?进程已正常或异常终止,操作系统已将其从系统队列中删除,但尚未取消。这就是所谓的终结状态。(3)过程控制块是过程实体的重要组成部分,是操作系统中最重要的记录数据。控制块PCB记录操作系统描述过程和控制过程操作所需的所有信息。通过PCB,一个不能独立运行的程序可以成为一个可以独立运行的基本单元,并且可以同时执行一个进程。换句话说,在进程的整个生命周期中,操作系统通过进程PCB管理和控制并发进程。过程控制块是系统用于过程控制的数据结构。系统根据进程的PCB来检测进程是否存在。因此,进程控制块是进程存在的唯一标志。当系统创建一个进程时,它需要为它创建一个PCB;当进程结束时,系统回收其PCB,进程结束。过程控制块的内容过程控制块主要包括以下四个方面的信息。过程标识信息过程标识用于对过程进行标识,通常有外部标识和内部标识。外部标识符由流程的创建者命名。通常是一串字母和数字。当用户访问进程时使用。外部标识符很容易记住。内部标识符是为了方便系统而设置的。操作系统为每个进程分配一个唯一的整数作为内部标识符。通常是进程的序列号。描述性信息(process scheduling message)描述性信息是与流程调度相关的一些有关流程状态的信息,包括以下几个方面。流程状态:表

进程管理实验报告

进程的控制 1 .实验目的 通过进程的创建、撤消和运行加深对进程概念和进程并发执行的理解,明确进程与程序之间的区别。 【答:进程概念和程序概念最大的不同之处在于: (1)进程是动态的,而程序是静态的。 (2)进程有一定的生命期,而程序是指令的集合,本身无“运动”的含义。没有建立进程的程序不能作为1个独立单位得到操作系统的认可。 (3)1个程序可以对应多个进程,但1个进程只能对应1个程序。进程和程序的关系犹如演出和剧本的关系。 (4)进程和程序的组成不同。从静态角度看,进程由程序、数据和进程控制块(PCB)三部分组成。而程序是一组有序的指令集合。】2 .实验内容 (1) 了解系统调用fork()、execvp()和wait()的功能和实现过程。 (2) 编写一段程序,使用系统调用fork()来创建两个子进程,并由父进程重复显示字符串“parent:”和自己的标识数,而子进程则重复显示字符串“child:”和自己的标识数。 (3) 编写一段程序,使用系统调用fork()来创建一个子进程。子进程通过系统调用execvp()更换自己的执行代码,新的代码显示“new

program.”。而父进程则调用wait()等待子进程结束,并在子进程结束后显示子进程的标识符,然后正常结束。 3 .实验步骤 (1)gedit创建进程1.c (2)使用gcc 1.c -o 1编译并./1运行程序1.c #include #include #include #include void mian(){ int id; if(fork()==0) {printf(“child id is %d\n”,getpid()); } else if(fork()==0) {printf(“child2 id %d\n”,getpid()); } else {id=wait(); printf(“parent id is %d\n”,getpid()); }

第二章_进程管理习题修改汇总

一、选择题 1.在进程管理中,当 C 时,进程从阻塞状态变为就绪状态。 A.进程被进程调度程序选中 B.等待某一事件 C.等待的事件发生 D.时间片用完 2.分配到必要的资源并获得处理机时的进程状态是 B 。 A.就绪状态 B.执行状态 C.阻塞状态 D.撤消状态 3.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是 D 。 A.时间片用完 B.等待某事件发生 C.等待的某事件已发生 D.被进程调度程序选中4.进程的三个基本状态在一定条件下可以相互转化,进程由运行状态变为阻塞状态的条件是 B 。 A.时间片用完 B.等待某事件发生 C.等待的某事件已发生 D.被进程调度程序选中5.下列的进程状态变化中, C 变化是不可能发生的。 A.运行→就绪B.就绪→运行C.等待→运行D.等待→就绪 6.一个运行的进程用完了分配给它的时间片后,它的状态变为A 。 A.就绪 B.等待 C.运行 D.由用户自己确定7.操作系统通过 B 对进程进行管理。 A. JCB B. PCB C. DCT D. CHCT 8.一个进程被唤醒意味着 D 。 A. 该进程重新占有了CPU B. 它的优先权变为最大 C. 其PCB移至等待队列队首 D. 进程变为就绪状态 9.多道程序环境下,操作系统分配资源以 C 为基本单位。 A. 程序 B. 指令 C. 进程 D. 作业 10. 从下面的叙述中选出一条正确的叙述: (1)操作系统的一个重要概念是进程,不同的进程所执行的代码也不同。

(2)操作系统通过PCB来控制和管理进程,用户进程可从PCB 中读出与本身运行状态相关的信息。 (3)当进程由执行状态变为就绪状态时,CPU现场信息必须被保存在PCB中。 (4)当进程申请CPU得不到满足时,它将处于阻塞状态。(5)进程是可与其他程序并发执行的程序在一个数据集合上的运行过程,所以程序段是进程存在的唯一标志。 11. 从下面的叙述中选出4条正确的叙述: (1)一个进程的状态发生变化总会引起其它一些进程的状态发生变化。 (2)进程被挂起(suspend)后,状态变为阻塞状态。 (3)信号量的初值不能为负数。 (4)线程是CPU调度的基本单位,但不是资源分配的基本单位。(5)在进程对应的代码中使用wait、signal操作后,可以防止系统发生死锁。 (6)管程每次只允许一个进程进入。 (7)wait、signal操作可以解决一切互斥问题。 (8)程序的顺序执行具有不可再现性。 二、是非题 1.进程是动态的概念 2.进程执行需要处理机 3.进程是有生命期的

实验三-进程管理

实验三进程管理 一、实验目的 1.熟悉和理解进程和进程树的概念,掌握有关进程的管理机制 2.通过进程的创建、撤销和运行加深对进程并发执行的理解 3.明确进程与程序、并行与串行执行的区别 4.掌握用C 程序实现进程控制的方法 二、实验学时 2学时 三、实验背景知识 所涉及的系统调用 1、exec( )系列(exec替换进程映像) 系统调用exec( )系列,也可用于新程序的运行。fork( )只是将父进程的用户级上下文拷贝到新进程中,而exec( )系列可以将一个可执行的二进制文件覆盖在新进程的用户级上下文的存储空间上,以更改新进程的用户级上下文。exec( )系列中的系统调用都完成相同的功能,它们把一个新程序装入内存,来改变调用进程的执行代码,从而形成新进程。如果exec( )调用成功,调用进程将被覆盖,然后从新程序的入口开始执行,这样就产生了一个新进程,新进程的进程标识符id 与调用进程相同。 exec( )没有建立一个与调用进程并发的子进程,而是用新进程取代了原来进程。所以exec( )调用成功后,没有任何数据返回,这与fork( )不同。exec( )系列系统调用在UNIX系统库unistd.h中,共有execl、execlp、execle、execv、execvp五个,其基本功能相同,只是以不同的方式来给出参数。 #include int execl(const cha r *pathname, const char *arg, …); int execlp(const char *, const char *arg, …); int execle(const char *pathname, const char *arg, …, const char *envp[ ]); int execv(const char *pathname, char *const argv[ ]); int execvp(const char *, char *const argv[ ]); 参数: path参数表示你要启动程序的名称包括路径名。 arg参数表示启动程序所带的参数,一般第一个参数为要执行命令名,不是带路径且arg必须以NULL结束。 返回值:成功返回0,失败返回-1 注:上述exec系列函数底层都是通过execve系统调用实现. 1)带l 的exec函数:execl,execlp,execle,表示后边的参数以可变参数的形式给出且都以一个空指针结束。 #include

第3章-进程管理-习题

第3章进程管理 一、单项选择题 1.在多进程的系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。所谓临界区是指。(清华大学1996年研究生试题) a.一个缓冲区 b. 一段数据区 c. 同步机制 d.. 一段程序 2. 一个进程是。(清华大学1996年研究生试题) a.由协处理机执行的一个程序 b.一个独立的程序+数据集 c.PCB结构与程序和数据的组合 d.一个独立的程序 3.在操作系统中,信号量表示资源实体,是一个与队列有关的变量,其值仅能用P、V操作来改变。(陕西省1995年自考题) a.实型 b.整型 c.布尔型 d.记录型 4.设有5个进程共享一个互斥段,如果最多允许有3个进程同时进入互斥段,则所采用的互斥信号量的初值应是。(陕西省1996年自考题) a. 5 b. 3 c. 1 d. 0 5.并发进程之间。(陕西省1997年自考题) a.彼此无关 b、必须同步 c、必须互斥 d、可能需要同步或互斥6.实现进程之间同步与互斥的通信工具为。 a、P、V操作 b、信箱通信 c、消息缓冲 d、高级通信 7.N个进程共享某一临界资源,则互斥信号量的取值范围为。 a、0~1 b、-1~0 c、1~ -(N-1) d、0~ -(N-1) 8.设m为同类资源数,n为系统中并发进程数。当n个进程共享m个互斥资源时,每个进程的最大需求是w;则下列情况会出现系统死锁的是。 a、m=2,n=1,w=2 b、m=2,n=2,w=1 c、m=4,n=3,w=2 d、m=4,n=2,w=3 9.是进程调度算法。 a、时间片轮转法 b、先来先服务 c、响应比高者优先 d、均衡调度算法10.当时,进程从执行状态转变为就绪状态。 (西北工业大学1999年研究生试题) a、进程被调度程序选中 b、时间片到 b、等待某一事件 d、等待的事件发生 11.对两个并发进程,其互斥信号量为mutex;若mutex=0,则表明。 a、没有进程进入临界区 b、有一个进程进入临界区 c、一个进程进入临界区而另一个进程正处于等待进入临界区状态 d、有两个进程进入临界区 12.用P、V操作可以解决互斥问题。 A、某些 b、一个 c、一切 d、大多数 13.系统中有n(n>2)个进程,并且当前没有执行进程调度程序,则不可能发生。 A、有一个运行进程,没有就绪进程,剩下的n-1个进程处于等待状态 B、有一个运行进程和n-1个就绪进程,但没有进程处于等待状态 C、有一个运行进程和1个就绪进程,剩下的n-2个进程处于等待状态 D、没有运行进程但有2个就绪进程,剩下的n-2个进程处于等待状态

第二章-进程管理习题及答案

第二章进程管理习题及答案 一、填空题 1.进程的静态描述由三部分组成:① 、② 和③ 。 【答案】①PCB、②程序部分、③相关的数据结构集 【解析】PCB是系统感知进程的唯一实体。进程的程序部分描述了进程所要 完成的功能,而数据结构集是程序在执行时必不可少的工作区和操作对象。后两 部分是进程完成所需功能的物质基础。 2.进程存在的标志是。 【答案】进程控制块PCB 【解析】系统根据PCB感知进程的存在和通过PCB中所包含的各项变量的变化,掌握进程所处的状态以达到控制进程活动的目的。 3.① 是现代操作系统的基本特征之一,为了更好地描述这一特征而 引入了 ② 这一概念。 【答案】①程序的并发执行,②进程 【解析】程序的并发执行和资源共享是现代操行系统的基本特征。程序的并 发执行使程序失去了程序顺序执行时所具有的封闭性和可再现性。在程序并发执 行时,程序这个概念不能反映程序并发执行所具有的特性,所以引入进程概念来 描述程序并发执行所具有的特点。 4.给出用于进程控制的四种常见的原语① 、② 、③ 和④ 。【答案】①创建原语、②撤消原语、③阻塞原语、④唤醒原语 【解析】进程控制是系统使用一些具有特定功能的程序段来创建、撤消进程 以及完成进程各状态间的转换,从而达到多个过程高效率地并行执行和协调,实 现资源共享的目的。把那些在管态下执行的具有特定功能的程序段称为原语。 5.进程被创建后,最初处于① 状态,然后经② 选中后进入③ 状态。 【答案】①就绪,②进程调度程序,③运行 【解析】进程的从无到有,从存在到消亡是由进程创建原语和撤消原语完成的。被创建的进程最初处于就绪状态,即该进程获得了除处理机以外的所有资源,处于准备执行的状态;从就绪状态到运行状态的转换是由进程调度程序来完成的。 6.进程调度的方式通常有① 和② 方式两种。 【答案】①可剥夺、②非剥夺 【解析】所谓可剥夺方式,是指就绪队列中一旦有优先级高于当前运行进程 的优先级的进程存在时,便立即发生进程调度,转让处理机。而非剥夺方式则是指:即使在就绪队列中存在有优先级高于当前运行进程的进程,当前进程仍将继 续占有处理机,直到该进程完成或某种事件发生(如I/O事件)让出处理机。 7.轮转法主要是用于① 的调度算法,它具有较好的② 时间, 且对每个进程来说都具有较好的③ 性。

操作系统-进程管理实验报告

实验一进程管理 1.实验目的: (1)加深对进程概念的理解,明确进程和程序的区别; (2)进一步认识并发执行的实质; (3)分析进程争用资源的现象,学习解决进程互斥的方法; (4)了解Linux系统中进程通信的基本原理。 2.实验预备内容 (1)阅读Linux的sched.h源码文件,加深对进程管理概念的理解; (2)阅读Linux的fork()源码文件,分析进程的创建过程。 3.实验内容 (1)进程的创建: 编写一段程序,使用系统调用fork() 创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”,子进程分别显示字符“b”和“c”。试观察记录屏幕上的显示结果,并分析原因。 源代码如下: #include #include #include #include #include int main(int argc,char* argv[]) { pid_t pid1,pid2; pid1 = fork(); if(pid1<0){ fprintf(stderr,"childprocess1 failed"); exit(-1); } else if(pid1 == 0){ printf("b\n"); } 1/11

else{ pid2 = fork(); if(pid2<0){ fprintf(stderr,"childprocess1 failed"); exit(-1); } else if(pid2 == 0){ printf("c\n"); } else{ printf("a\n"); sleep(2); exit(0); } } return 0; } 结果如下: 分析原因: pid=fork(); 操作系统创建一个新的进程(子进程),并且在进程表中相应为它建立一个新的表项。新进程和原有进程的可执行程序是同一个程序;上下文和数据,绝大部分就是原进程(父进程)的拷贝,但它们是两个相互独立的进程!因此,这三个进程哪个先执行,哪个后执行,完全取决于操作系统的调度,没有固定的顺序。 (2)进程的控制 修改已经编写的程序,将每个进程输出一个字符改为每个进程输出一句话,再观察程序执行时屏幕上出现的现象,并分析原因。 将父进程的输出改为father process completed 2/11

Windows XP 系统进程管理机制

Windows XP 系统进程管理机制 进程可利用系统调用功能来创建新的进程,创建者称为父进程,而被创建的新进程称为子进程。子进程从父进程继承一些属性,又与父进程有区别,形成自己独立的属性。按子进程是否覆盖父进程和是否加载新程序,子进程的创建可分为fork,spawn和exec三种类型。 进程的退出是通过相应的系统调用进行的。进程退出过程中,操作系统删除系统维护的相关数据结构并回收进程占用的系统资源。 Windows 2000/XP进程是作为对象来管理的,可通过相应句柄(handle)来引用进程对象,OS提供一组控制进程对象的服务。Win32环境子系统是整个系统的主子系统,放置一些基本的进程管理功能,其他子系统利用Win32子系统的功能来实现自身的功能。 Windows 2000/XP中的每个Win32进程都由一个执行体进程块(EPPROCESS)表示,

执行体进程块描述进程的基本信息,并指向其他与进程控制相关的数据结构。 Win32子系统的进程控制系统调用:——CreatProcess创建新进程及其主进程,并可指定从父进程继承的属性。——ExitProcess和TerminateProcess都可用于进程退出,终止一个进程和它的所有线程,区别在于ExitProcess终止操作完整,TerminateProcess终止操作不完整,通常只用于异常情况下对进程的终止。 2. Windows XP中进程调度机制 2.1 Windows 2000/XP的线程调度特征Windows 2000/XP的处理器调度的调度单位是线程而不是进程。线程调度机制是基于优先级的抢先式多处理器调度,依据优先级和分配时间片来调度。 调度系统总是运行优先级最高的就绪线程。 在同一优先级的各线程按时间片轮转算法进行调度。 如果一个高优先级的线程进入就绪状态,当前运行的线程可能在用完它的时间片之

进程管理习题及答案

进程管理习题答案 一.选择题 1.在进程管理中,当时进程从阻塞状态变为就绪状态、 A、进程被进程调度程序选中 B.等待某一事件 C.等待的事件发生 D.时间片用完 答:C 2.分配到必要的资源并获得处理机时的进程状态就是。 A.就绪状态 B.执行状态 C.阻塞状态 D.撤消状态 答:B 3.P、V操作就是。 A.两条低级进程通信原语 B.两组不同的机器指令 C.两条系统调用命令 D.两条高级进程通信原语 答:A 4.对进程的管理与控制使用。 A.指令 B.原语 C.信号量 D.信箱通信 答:B 5.进程的并发执行就是指若干个进程。 A.同时执行 B.在执行的时间上就是重叠的 C.在执行的时间上就是不可重叠的 D.共享系统资源 答:B 6.若P、V操作的信号量S初值为2,当前值为-1,则表示有等待进程。 A.0个 B.1个 C .2个 D.3个 答:B 7.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件就是① ;由运行状态变为阻塞状态的条件就是②。 A.时间片用完 B.等待某事件发生 C.等待的某事件己发生 D.被进程调度程序选中 答,①D ②B 8.下列的进程状态变化中, 变化就是不可能发生的。 A.运行一就绪 B.运行一等待 C.等待一运行 D.等待一就绪 答:C 9.一个运行的进程用完了分配给它的时间片后,它的状态变为。 A.就绪 B.等待 C.运行 D.由用户自己确定

答:A 10.用P、V操作管理临界区时,信号量的初值应定义为。 A.一1 B.0 C.1 D.任意值 答:C 11.用V操作唤醒一个等待进程时,被唤醒进程的状态变为. A.等待 B.就绪 C.运行 D.完成 答:B 12.进程间的同步就是指进程间在逻辑上的相互关系。 A.联接 B.制约 C、继续 D.调用 答:B 13. 就是一种只能进行P操作与V操作的特殊变量。 A.调度 B.进程 C.同步 D.信号量 答:D 14.下面对进程的描述中,错误的就是。 A.进程就是动态的概念 B.进程执行需要处理机 C.进程就是有生命期的 D.进程就是指令的集合 答:D 15.下面的叙述中正确的就是。 A.操作系统的一个重要概念就是进程,因此不同进程所执行的代码也一定不同。 B.为了避免发生进程死锁,各进程只能逐个申请资源。 C.操作系统用PCB管理进程,用户进程可以从此PCB中读出与本身运行状况有关的信息 D.进程同步就是指某些进程之间在逻辑上的相互制约关系 答:D 16.进程控制就就是对系统中的进程实施有效的管理,通过使用、进程撤销、进程阻塞、进程唤醒等进程控制原语实现。 A.进程运行 B.进程管理 C.进程创建 D.进程同步 答:C 17.操作系统通过对进程进行管理。 A.JCB B.PCB C.DCT D.CHCT 答:B 18.用P、V操作可以解决互斥问题。 A.一切 B.某些 C.正确 D.错误 答:A 19.通常,用户进程被建立后, 。 A.便一直存在于系统中,直到被操作人员撤消

实验一 进程管理

实验一进程管理 1. 实验目的 ⑴加深对进程概念的理解,明确进程和程序的区别; ⑵进一步认识并发执行的实质; ⑶分析进程争用资源的现象,学习解决进程互斥的方法; ⑷了解Linux系统中进程通信的基本原理。 2. 实验准备 ⑴阅读Linux的sched.h源码文件,加深对进程管理的理解。 ⑵阅读Linux的fork.h源码文件,分析进程的创建过程。 3. 实验内容 ⑴进程的创建 编写一段程序,使用系统调用fork ( )创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”;子进程显示字符“b”和字符“c”。试观察记录屏幕上的显示结果,并分析原因。 ⑵进程的控制 修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,再观察程序执行时屏幕上出现的现象,并分析原因。 如果在程序中使用系统调用lockf ( )来给每一个进程加锁,可以实现进程之间的互斥,观察并分析出现的现象。 ⑶软中断通信 编制一段程序实现进程的软中断通信。要求:使用系统调用fork ( )创建两个子进程,再用系统调用signal( )让父进程捕捉键盘上发来的中断信号(既按Del键);当捕捉到中断信号后,父进程系统调用kill( )向两个子进程发出信号,子进程捕捉到信号后分别输出下列信息后终止:Child process 1 is killed by parent! Child process 2 is killed by parent! 父进程等待两个子进程终止后,输出如下的信息后终止: Parent process is killed! 在上面的程序中增加语句signal (SIGINT, SIG_IGN) 和signal (SIGQUIT, SIG_IGN),观察执行结果,并分析原因。 4. 实验指导

操作系统习题集------进程管理

习题集 - 2 - 进程管理 1. 在优先级调度中,__________类进程可能被“饿死”,即长时间得不到调度。 A.短进程 B.长进程 C.低优先级进程 D.大内存进程 解: C。优先级调度算法(PRI)的基本思想是:内核为每个进程赋予一个优先级,进程按照优先级的大小顺序在就绪队列中排队,内核将CPU分配给就绪队列头部的第一个进程——优先级最大的进程。因此,进程的优先级越低,在就绪队列中的排队位置就越靠近队列尾,获得运行之前的等待时间就越长。低优先级的进程必须等待所有高优先级进程运行结束后才会被调度运行。如果不断有高优先级的进程加入就绪队列,那么低优先级进程就会一直等待下去。这就是所谓的“饿死”现象。 2. 在下面的系统调用中,__________不会导致进程阻塞。 A.读/写文件 B.获得进程PID C.申请内存 D.发送消息 解: B。当正在执行的进程需要使用某种资源或等待某个事件时,如果资源已被其他进程占用或事件尚未出现,该进程不能获得所需的资源而无法继续运行,于是,进程将被阻塞。进程在阻塞状态中等待资源被释放,或等待事件的发生。所以,进程在执行系统调用时,如果需要使用某种资源,就可能导致进程阻塞。“读/写文件”需要使用设备和文件缓冲区;“申请内存”需要分配内存资源;“发送消息”需要使用消息缓冲区。 3. 下面关于临界区的叙述中,正确的是__________ A.临界区可以允许规定数目的多个进程同时执行 B.临界区只包含一个程序段 C.临界区是必须互斥地执行的程序段 D.临界区的执行不能被中断 解: C。临界段(临界区)的概念包括两个部分:①临界资源:必须互斥访问的资源。例如,需要独占使用的硬件资源,多个进程共享的变量、结构、队列、栈、文件等软件资源。②临界区:访问临界资源的、必须互斥地执行的程序段。即,当一个进程在某个临界段中执行时,其他进程不能进入相同临界资源的任何临界段。

实验一进程管理实验

实验一linux进程的创建与控制 【实验目的】 1、加深对进程概念的理解,明确进程和程序的区别; 2、进一步认识并发执行的实质; 3、分析进程争用资源的现象,学习解决进程互斥的方法; 【实验环境】 编程环境:TC或者VC 操作系统软件:linux 【准备知识】 一.基本概念 1、进程的概念;进程与程序的区别。 2、并发执行的概念。 3、进程互斥的概念。 二.系统调用 系统调用是一种进入系统空间的办法。通常,在OS的核心中都设置了一组用于实现各 种系统功能的子程序,并将它们提供给程序员调用。程序员在需要OS提供某种服务的时候,便可以调用一条系统调用命令,去实现希望的功能,这就是系统调用。因此,系统调用就像 一个黑箱子一样,对用户屏蔽了操作系统的具体动作而只是控制程序的执行速度等。各个不同的操作系统有各自的系统调用,女口windows API,便是windows的系统调用,Linux的系 统调用与之不同的是Linux由于内核代码完全公开,所以可以细致的分析出其系统调用的机制。 三.相关函数。 1 fork()函数 fork()函数创建一个新进程。 其调用格式为:int fork(); 其中返回int取值意义如下: 正确返回:等于0 :创建子进程,从子进程返回的ID值; 大于0 :从父进程返回的子进程的进程ID值。

错误返回:等于一1创建失败。 2 wait()函数 wait()函数常用来控制父进程与子进程的同步。在父进程中调用wait()函数,则父进程被阻塞,进入等待队列,等待子进程结束。当子进程结束时,会产生一个终止状态字,系统会向父进程发出SIGCHLD言号。当接到信号后,父进程提取子进程的终 止状态字,从wait()函数返回继续执行原程序。 其调用格式为:#i nclude #i nclude / (pid_t) wait(i nt *statloc) ; 正确返回:大于0:子进程的进程ID值; / 等于0:其它。 错误返回:等于一1调用失败。 3 exit()函数 exit() 函数是进程结束最常调用的函数,在main()函数中调用return,最终也是调用exit()函数。这些都是进程的正常终止。在正常终止时,exit()函数返回进程 结束状态。 其调用格式为:#in elude <> void exit(i nt status) ; 其中status为进程结束状态。 4 kill()函数 \ kill()函数用于删除执行中的程序或者任务。 其调用格式为:kill(i nt PID,i nt IID) ; 其中:PID是要被杀死的进程号,IID为向将被杀死的进程发送的中断号。 关于Linux下的C语言编程 1 )编辑器可使用vi 2 )编译器使用gee 格式:gee optio n file name 例如:gee -o main 主要的option -o指定输出文件名(不指定则生成默认文件) 其它的参数见帮助(man gee)

进程管理习题及答案

一、判断题 1.( )操作系统的所有程序都必须常驻内存。 2.( )多道程序设计可以缩短系统中作业的执行时间。 3.( )实时系统中的作业周转时间有严格的限制。 4.( )进程获得处理机而运行是通过申请而得到的。 5.( )同一个程序不能被创建成多个进程。 6.( )子进程可以继承它的父进程所拥有的所有资源。 7.( )对于临界区,最重要的是断定哪个进程先执行临界区里的那段程序。 8.( )若进程A和进程B在临界区上互斥,那么当A位于临界区内时不能打断它的 运行。 9.( )进程间的互斥是一种特殊的同步关系。 10.( )临界区是指进程中用于实现进程互斥的那段代码。 11.( )资源的同时共享是指多个用户作业可以在同一时刻使用同一资源。 12.( )并发性是指若干事件在同一时间间隔内发生。 13.( )进程在运行中,可以自行修改自己的进程控制块PCB。 14.( )进程申请CPU得不到满足时,其状态变为等待态。 15.( )当一个进程从等待态变成就绪态,则一定有一个进程从就绪态变成运行态。 16.( )进程状态的转换是由操作系统完成的,对用户是透明的。 17.( )优先数是进程调度的重要依据,优先数大的进程首先被调度运行。 18.( )不可抢占式动态优先数法一定会引起进程长时间得不到运行。 19.( )进程调度的主要功能是从所有处于等待状态的进程中挑选一个"最合适"的进 程,创建好进程运行所需要的环境,然后把处理机分配给它。 20.( )无限循环和无限延迟是一个概念。 21.( )导致系统出现死锁的一种原因是某个用户作业发生了死循环。 22.( )一旦出现死锁,所有进程都不能运行。 23.( )所有进程都挂起时系统陷入死锁。 24.( )参与死锁的进程至少有两个已经占有资源。 25. ( )有M个进程的操作系统出现死锁时,死锁进程的个数为1

(完整word版)操作系统实验报告 实验一 进程管理

实验一进程管理 一、目的 进程调度是处理机管理的核心内容。本实验要求编写和调试一个简单的进程调度程序。通过本实验加深理解有关进程控制块、进程队列的概念,并体会和了解进程调度算法的具体实施办法。 二、实验内容及要求 1、设计进程控制块PCB的结构(PCB结构通常包括以下信息:进程名(进程ID)、进程优先数、轮转时间片、进程所占用的CPU时间、进程的状态、当前队列指针等。可根据实验的不同,PCB结构的内容可以作适当的增删)。为了便于处理,程序中的某进程运行时间以时间片为单位计算。各进程的轮转时间数以及进程需运行的时间片数的初始值均由用户给定。 2、系统资源(r1…r w),共有w类,每类数目为r1…r w。随机产生n进程P i(id,s(j,k),t),0<=i<=n,0<=j<=m,0<=k<=dt为总运行时间,在运行过程中,会随机申请新的资源。 3、每个进程可有三个状态(即就绪状态W、运行状态R、等待或阻塞状态B),并假设初始状态为就绪状态。建立进程就绪队列。 4、编制进程调度算法:时间片轮转调度算法 本程序用该算法对n个进程进行调度,进程每执行一次,CPU时间片数加1,进程还需要的时间片数减1。在调度算法中,采用固定时间片(即:每执行一次进程,该进程的执行时间片数为已执行了1个单位),这时,CPU时间片数加1,进程还需要的时间片数减1,并排列到就绪队列的尾上。 三、实验环境 操作系统环境:Windows系统。 编程语言:C#。 四、实验思路和设计 1、程序流程图

2、主要程序代码 //PCB结构体 struct pcb { public int id; //进程ID public int ra; //所需资源A的数量 public int rb; //所需资源B的数量 public int rc; //所需资源C的数量 public int ntime; //所需的时间片个数 public int rtime; //已经运行的时间片个数 public char state; //进程状态,W(等待)、R(运行)、B(阻塞) //public int next; } ArrayList hready = new ArrayList(); ArrayList hblock = new ArrayList(); Random random = new Random(); //ArrayList p = new ArrayList(); int m, n, r, a,a1, b,b1, c,c1, h = 0, i = 1, time1Inteval;//m为要模拟的进程个数,n为初始化进程个数 //r为可随机产生的进程数(r=m-n) //a,b,c分别为A,B,C三类资源的总量 //i为进城计数,i=1…n //h为运行的时间片次数,time1Inteval为时间片大小(毫秒) //对进程进行初始化,建立就绪数组、阻塞数组。 public void input()//对进程进行初始化,建立就绪队列、阻塞队列 { m = int.Parse(textBox4.Text); n = int.Parse(textBox5.Text); a = int.Parse(textBox6.Text); b = int.Parse(textBox7.Text); c = int.Parse(textBox8.Text); a1 = a; b1 = b; c1 = c; r = m - n; time1Inteval = int.Parse(textBox9.Text); timer1.Interval = time1Inteval; for (i = 1; i <= n; i++) { pcb jincheng = new pcb(); jincheng.id = i; jincheng.ra = (random.Next(a) + 1); jincheng.rb = (random.Next(b) + 1); jincheng.rc = (random.Next(c) + 1); jincheng.ntime = (random.Next(1, 5));

进程管理练习题

一、选择题 1.在进程管理中,当 D 时,进程从阻塞状态变为就绪状态。 A.进程被进程调度程序选中 B.等待某一事件 C.等待的事件发生 D.时间片用完 2.分配到必要的资源并获得处理机时的进程状态是。A.就绪状态 B.执行状态 C.阻塞状态 D.撤消状态 3.P、V操作是。 A.两条低级进程通信原语 B.两组不同的机器指令 C.两条系统调用命令 D.两条高级进程通信原语4.设系统中有n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况,不可能发生的情况是。 A.没有运行进程,有2个就绪进程,n个进程处于等待状态。B.有1个运行进程,没有就绪进程,n-1个进程处于等待状态。C.有1个运行进程,有1个就绪进程,n-2个进程处理等待状态。 D.有1个运行进程,n-1个就绪进程,没有进程处于等待状态。5.若P、V操作的信号量S初值为2,当前值为-1,则表示有 等待进程。 A. 0个 B. 1个 C. 2个 D. 3个 6.进程的三个基本状态在一定条件下可以相互转化,进程由就绪状态变为运行状态的条件是。 A.时间片用完 B.等待某事件发生 C.等待的某事件已发生 D.被进程调度程序选中7.进程的三个基本状态在一定条件下可以相互转化,进程由运行状态变为阻塞状态的条件是。 A.时间片用完 B.等待某事件发生 C.等待的某事件已发生 D.被进程调度程序选中8.下列的进程状态变化中,变化是不可能发生的。A.运行→就绪B.就绪→运行C.等待→运行D.等待→就绪 9.一个运行的进程用完了分配给它的时间片后,它的状态变为。

A.就绪 B.等待 C.运行 D.由用户自己确定 10.用V操作唤醒一个等待进程时,被唤醒进程的状态变 为。 A.等待 B.就绪 C.运行 D.完成 11.操作系统通过对进程进行管理。 A. JCB B. PCB C. DCT D. CHCT 12.用P、V操作可以解决互斥问题。 A. 一切 B. 某些 C. 正确 D. 错误 13.一个进程被唤醒意味着。 A. 该进程重新占有了CPU B. 它的优先权变为最大 C. 其PCB移至等待队列队首 D. 进程变为就绪状态14.多道程序环境下,操作系统分配资源以为基本单位。 A. 程序 B. 指令 C. 进程 D. 作业 15. 在分时系统中,导致进程创建的典型事件是();在批处理系统中,导致进程创建的典型事件是();由系统专门为运行中的应用进程创建新进程的事件是()。在创建进程时,()不是创建所必需的步骤。 A:(1)用户注册;(2)用户登录;(3)用户记账;(4)用户通信。 B:(1)作业录入;(2)作业调度;(3)进程调度;(4)中级调度。 C:(1)分配资源;(2)进行通信;(3)共享资源;(4)提供服务。 D:(1)为进程建立PCB;(2)为进程分配内存等资源;(3)为进程分配CPU;(4)将进程插入就绪队列。 16. 从下面对临界区的论述中,选出一条正确的论述。 (1)临界区是指进程中用于实现进程互斥的那段代码。 (2)临界区是指进程中用于实现进程同步的那段代码。 (3)临界区是指进程中用于实现进程通信的那段代码。 (4)临界区是指进程中用于访问共享资源的那段代码。 (5)临界区是指进程中访问临界资源的那段代码。 17. 进程A和B共享同一临界资源,并且进程A正处于对应的临界区内执行。请从下列描述中选择一条正确的描述。

相关主题
文本预览
相关文档 最新文档