操作系统原理第三章 进程管理习题1.docx

上传人:b****8 文档编号:28469374 上传时间:2023-07-14 格式:DOCX 页数:60 大小:60.56KB
下载 相关 举报
操作系统原理第三章 进程管理习题1.docx_第1页
第1页 / 共60页
操作系统原理第三章 进程管理习题1.docx_第2页
第2页 / 共60页
操作系统原理第三章 进程管理习题1.docx_第3页
第3页 / 共60页
操作系统原理第三章 进程管理习题1.docx_第4页
第4页 / 共60页
操作系统原理第三章 进程管理习题1.docx_第5页
第5页 / 共60页
点击查看更多>>
下载资源
资源描述

操作系统原理第三章 进程管理习题1.docx

《操作系统原理第三章 进程管理习题1.docx》由会员分享,可在线阅读,更多相关《操作系统原理第三章 进程管理习题1.docx(60页珍藏版)》请在冰豆网上搜索。

操作系统原理第三章 进程管理习题1.docx

操作系统原理第三章进程管理习题1

第三章进程管理习题

一.单选题

1.UNIX操作系统的进程控制块中常驻内存的是()。

A.proc结构B.proc结构和核心栈C.ppda区D.proc结构和user结构

2.当()时,进程从执行状态转变为就绪状态。

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

3.在进程状态转换时,下列()转换是不可能发生的。

A.就绪态→运行态B.运行态→就绪态C.运行态→阻塞态D.阻塞态→运行态

4.下列各项工作步骤中,()不是创建进程所必需的步骤。

A.建立一个PCBB.作业调度程序为进程分配CPU

C.为进程分配内存等资源D.将PCB链入进程就绪队列

5.下列关于进程的叙述中,正确的是()。

A.进程通过进程调度程序而获得CPU。

B.优先级是进行进程调度的重要依据,一旦确定不能改变。

C.在单CPU系统中,任一时刻都有1个进程处于运行状态。

D.进程申请CPU得不到满足时,其状态变为等待状态。

6.从资源管理的角度看,进程调度属于()。

A.I/O管理B.文件管理C.处理机管理D.存储器管理

7.下列有可能导致一进程从运行变为就绪的事件是()。

A.一次I/O操作结束B.运行进程需作I/O操作

C.运行进程结束D.出现了比现运行进程优先权更高的进程

8.一个进程释放一种资源将有可能导致一个或几个进程()。

A.由就绪变运行B.由运行变就绪C.由阻塞变运行D.由阻塞变就绪

9.一次I/O操作的结束,有可能导致()。

A.一个进程由睡眠变就绪B.几个进程由睡眠变就绪

C.一个进程由睡眠变运行D.几个进程由睡眠变运行

10.当一个进程从CPU上退下来时,它的状态应变为()。

A.静止就绪B.活动就绪C.静止睡眠D.活动睡眠

11.为使进程由活动就绪变为静止就绪,应利用()原语?

A.SUSPENDB.ACTIVEC.BLOCKD.WAKEUP

12.在下面的叙述中,不正确的是()。

A.一个进程可创建一个或多个线程B.一个线程可创建一个或多个线程

C.一个线程可创建一个或多个进程D.一个进程可创建一个或多个进程

13.若系统中只有用户级线程,则处理机调度单位是()。

A.线程B.进程C.程序D.作业

14.一个进程是()。

A.由处理机执行的一个程序B.一个独立的程序+数据集

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

15.下列几种关于进程的叙述,()最不符合操作系统对进程的理解?

A.进程是在多程序并行环境中的完整的程序。

B.进程可以由程序、数据和进程控制块描述。

C.线程是一种特殊的进程。

D.进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。

16.在下面的叙述中正确的是()。

A.线程是比进程更小的能独立运行的基本单位。

B.引入线程可提高程序并发执行的程度,可进一步提高系统效率。

C.线程的引入增加了程序执行时的时空开销。

D.一个进程一定包含多个线程。

17.下面关于线程的叙述中,正确的是()。

A.不论是系统线程还是用户级线程,其切换都需要内核的支持。

B.线程是资源的分配单位,进程是调度和分配的单位。

C.不管系统中是否有线程,进程都是拥有资源的独立单位。

D.在引入线程的系统中,进程仍是资源分配和调度分派的基本单位。

18.在下面的叙述中,正确的是()。

A.引入线程后,处理机只在线程间切换。

B.引入线程后,处理机仍在进程间切换。

C.线程的切换,不会引起进程的切换。

D.线程的切换,可能引起进程的切换。

19.进程的控制信息和描述信息存放在()。

A.JCBB.PCBC.AFTD.SFT

20.进程依靠()从阻塞状态过渡到就绪状态。

A.程序员的命令B.系统服务

C.等待下一个时间片到来D.“合作”进程的唤醒

21.在WINDOWS10中()可以处于就绪状态。

A.进程B.函数C.程序D.作业

22.只作用于一个进程一次的原语是()。

A.创立B.解挂C.阻塞D.挂起

23.在UNIX系统中,处于()状态的进程最容易被执行。

A.辅存睡眠B.内存睡眠C.内存就绪D.辅存就绪

24.从执行状态挂起的进程解除挂起时进入()状态。

A.就绪B.执行C.阻塞D.挂起

25.一个进程执行过程中不能可能对应()。

A.一个PCBB.一个JCBC.多个PCBD.一个程序

26.用P、V操作管理临界区时,信号量的初值一般应定义为()。

A.–1B.0C.1D.任意值

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

A.1至–(m-1)B.1至m-1C.1至–mD.1至m

28.在下面的叙述中,正确的是()。

A.临界资源是非共享资源B.临界资源是任意共享资源

C.临界资源是互斥共享资源D.临界资源是同时共享资源

29.对进程间互斥地使用临界资源,进程可以()

A.互斥地进入临界区B.互斥地进入各自的临界区

C.互斥地进入同一临界区D.互斥地进入各自的同类资源的临界区

30.设两个进程共用一个临界资源的互斥信号量mutex,当mutex=1时表示()。

A.一个进程进入了临界区,另一个进程等待

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

C.两个进程都进入了临界区

D.两个进程都在等待

31.设两个进程共用一个临界资源的互斥信号量mutex,当mutex=-1时表示()。

A.一个进程进入了临界区,另一个进程等待B.没有一个进程进入临界区

C.两个进程都进入了临界区D.两个进程都在等待

32.当一进程因在记录型信号量S上执行P(S)操作而被阻塞后,S的值为()。

A.>0B.<0C.≥0D.≤0

33.当一进程因在记录型信号量S上执行V(S)操作而导致唤醒另一进程后,S的值为()。

A.>0B.<0C.≥0D.≤0

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

A.4B.3C.5D.0

35.若有4个进程共享同一程序段,而且每次最多允许3个进程进入该程序段,则信号量的变化范围是()。

A.3,2,1,0B.3,2,1,0,-1

C.4,3,2,1,0D.2,1,0,-1,-2

36.若信号S的初值为2,当前值为-1,则表示有()个等待进程?

A.0B.1C.2D.3

37.如果有三个进程共享同一互斥段,而且每次最多允许两个进程进入该互斥段,则信号量的初值应设置为()。

A.3B.1C.2D.0

38.并发进程之间()

A.彼此无关B.必须同步C.必须互斥D.可能需要同步或互斥

39.在操作系统中,有一组进程,进程之间具有直接相互制约性。

这组并发进程之间()。

A.必定无关B.必定相关C.可能相关D.相关程度相同

40.()操作不是P操作可完成的。

A.为进程分配处理机B.使信号量的值变小

C.可用于进程的同步D.使进程进入阻塞状态

 

二、多选题(选择所有正确的答案)

1.在下列进程的四个特征中,最基本的特征是()。

A.并发性B.动态性C.独立性D.异步性

2.下面会引起进程创建的事件是()。

A.用户登录B.设备中断C.作业调度D.执行系统调用

3.下面是关于线程的叙述,其中正确的是()。

A.线程自己拥有一点资源,但它可以使用所属进程的资源。

B.由于同一进程中的多个线程具有相同的地址空间,所以它们间的同步和通信也易于实现。

C.进程创建与线程创建的时空开销不相同。

D.进程切换与线程切换的时空开销相同。

4.在下面的叙述中,不正确的是()。

A.同一进程内的线程可并发执行,不同进程的线程只能串行执行。

B.同一进程内的线程只能串行执行,不同进程的线程可并发执行。

C.同一进程或不同进程内的线程都只能串行执行。

D.同一进程或不同进程内的线程都可以并发执行。

5.线程是操作系统的概念,已具有线程管理的操作系统有()。

A.Windows10B.LinuxC.UnixD.Android

6.下面属于进程基本状态的是()。

A.就绪B.运行C.后备D.阻塞

7.下列各项工作步骤,()是创建进程所必须的步骤。

A.建立一个PCB

B.由CPU调度程序为进程调度CPU

C.为进程分配内存等必要资源

D.将PCB接入进程就绪队列

8.关于进程的正确说法是()。

A.进程就是程序,或者说,进程是程序的另一种叫法

B.一个被创建了的进程,在它被消灭之前,大多数时刻处于进程的三种基本状态之一。

C.多个不同的进程可以包含相同的程序

D.一个处于等待队列中的进程,即使进入其它状态,仍然放在等待队列中。

9.在()时,可能挂起某进程。

A.进程出现死锁B.进程的数目太少

C.进程数目太多D.进程出现故障

10.多道程序系统进程从执行状态转换到就绪状态的原因是()。

A.时间片完B.等待其它进程的执行结果

C.等待I/OD.有更高优先级的进程到来

11.有关进程的描述中,()是正确的。

A.进程执行的相对速度不能由进程自己来控制

B.利用信号量的P.V操作可以交换大量信息

C.同步是指并发进程之间存在的一种制约关系

D.并发进程在访问共享资源时,不可能出现与时间有关的错误

12.下列资源中,()是临界资源。

A.打印机B.非共享的资源

C.共享变量D.共享缓冲区

13.进程从执行状态转换到阻塞状态的可能原因是().

A.时间片完B.需要等待其它进程的执行结果

C.执行了V操作D.执行了P操作

14.进程从阻塞状态转换到就绪状态的可能原因是().

A.时间片完B.其它进程执行了唤醒原语

C.执行了V操作D.执行了P操作

15.在单处理机系统中,设系统中有n个进程(n>2),且当前处理机没有执行进程调度程序,下述情况哪些可能发生()。

A.没有运行的进程,有2个进程处于就绪状态,n个进程处于等待状态。

B.一个进程处于运行状态,n-1个进程处于等待状态。

C.一个进程处于运行状态,1个进程处于就绪状态,n-2个进程处于等待状态。

D.一个进程处于运行状态,n-1个进程处于就绪状态,没有进程处于等待状态

三判断正误,错误的简要说明理由

1.有了线程之后,程序只能以线程的身份运行。

2.线程的切换会引起进程的切换。

3.多个线程可以对应同一段程序。

4.系统内可以有无父进程的进程。

5.线程所对应的程序肯定比进程所对应的程序短。

6.进程从CPU退下时,将“现场”保存在系统栈内。

7.在多道程序系统,进程需要等待某种事件的发生时,进程一定进入阻塞状态。

8.进程上下文是进程执行活动全过程的静态描述。

9.并发是并行的不同表述,其原理相同。

10.进程是基于多道程序技术而提出的,其基本的特征是动态性;进程的执行是在多个状态间多次转换的过程,但只有处于就绪和执行状态的进程位于内存。

11.操作系统对进程的管理和控制主要是通过控制原语实现的。

12.原语的执行是屏蔽中断的。

13.一般情况下,分时系统中处于就绪状态的进程最多。

14.系统中进程的数目越多,CPU的利用率越高.

15.多道程序的执行失去了封闭性和再现性,因此多道程序系统不需要封闭性和再现性。

16.一个多道程序可能具备封闭性和再现性。

17.单道程序不具备封闭性和再现性。

18.一个临界资源可以对应多个临界区。

19.互斥地使用临界资源是通过互斥地进入临界区实现的。

20.同步信号量的初值一般为1。

21.引入管程是为了让系统自动处理临界资源的互斥使用问题。

22.生产者-消费者问题是一个既有同步又有互斥的问题。

23.用管程实现进程同步时,管程中的过程是不可中断的。

24.进程A、B共享变量x,需要互斥执行;进程B、C共享变量y,B、C也需要互斥执行,因此,进程A、C必须互斥执行。

25.单道程序系统中程序的执行也需要同步和互斥。

三.简答题

1.进程和线程的主要区别是什么?

2.程序的并发执行为什么会有间断性?

3.进程能自己将自己唤醒吗?

进程能自己将自己撤消吗?

4.什么是原语?

原语的主要特点是什么?

5.程序并发执行与顺序执行时相比产生哪些新特征?

6.程序并发执行的主要特性是什么?

7.一个因等待I/O操作结束而入阻塞状态的进程,何时被唤醒?

8.在什么情况下,可以一次唤醒一个进程和一次唤醒多个进程?

9.进程的就绪状态和阻塞状态的有何不同?

10.父进程创建子进程之后,父子进程之间的关系是什么?

11.为什么说互斥也是一种同步?

12.为什么说进程同步问题关系到OS的成败?

13.同步机制应遵循的准则是什么?

14.进程通信有哪三种基本类型?

15.什么是原语?

它与广义指令有什么区别?

16.对临界区管理的要求是什么?

17.设有n个进程共享一个互斥段,对于如下两种情况使用信号量,信号量的值的变化怎样?

(1)如果每次只允许一个进程进入互斥段;

(2)如果每次最多允许m个进程(m

四.解答题

1.什么是线程?

进程和线程是什么关系?

2.简述引进线程的好处。

3.当系统内所有的进程都进入睡眠之后,系统还有可能复活吗?

4.当一个进程的父进程被撤消时,该进程是撤消好还是不撤消好?

5.进程的挂起操作和入睡操作有何异同?

6.简述进程为什么不能从就绪状态直接变成阻塞(睡眠)状态?

7.进程的三个基本的转换如下图所示,图中1、2、3、4分别代表某种类型状态变迁,请分别回答:

 

图3-6进程状态转化

(1)什么事件引起各状态之间的变迁?

(2)统中常常由于某一进程的状态变迁引起另一进程也产生状态变迁,试判断变迁3—1、2—1、3—2、4—1、3—4,如果有的话,将发生什么因果变迁

(3)在什么情况下,如果有的话,上述变迁将不引起其它变迁?

8.在信号量机制中,若P(S)操作是可中断的,则会有什么问题?

9.试述引起多道程序系统程序执行不确定性的内部原因?

10.何谓临界区?

下面给出的两个进程互斥的算法是安全的吗?

为什么?

#definetrue;

#definefalse;

intflag[2];

flag[1]=flag[2]=false;

enter-crtsec(i)

inti;

{

while(flag[1-i])

flag[i]=true;

}

leave-crtsec(i)

inti;

{

flag[i]=false;

}

processi:

enter-crtsec(i);

Incriticalsection;

Leave-crtsec(i);

11.如何理解原语的原子性,在单机环境下如何实现原语的原子性,实现时应注意哪些问题?

12.某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20购票者时,则厅外的购票者可立即进入,否则需在外面等待。

若把一个购票者看作一个进程,请回答下列问题:

(1)用P、V操作管理这些并发进程时,应怎样定义信号量?

写出信号量的初值以及信号量各种取值的含义。

(2)根据所定义的信号量,把应执行的P、V操作填入下述程序中,以保证进程能够正确地并发执行。

COBEGINPROCESSPi(i=1,2,…..)

Begin

;

进入售票厅;

购票;

退出;

End;

COEND

(3)若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最小值)。

13.进程之间存在哪几种相互制约关系?

各是什么原因引起的?

下列活动分别属于哪种制约关系?

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

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

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

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

14.设有两个优先级相同的进程P1和P2如下。

信号量S1和S2的初值均为0,试问P1、P2并发执行结束后,x=?

,y=?

,z=?

〈进程P1〉〈进程P2〉

y=1;x=1;

y=y+2;x=x+1;

V(S1);P(S1);

z=y+1;x=x+y;

P(S2);V(S2);

y=z+y;z=x+z;

15.已知系统中有四个缓冲池M1,M2,M3,M4。

其大小分别为3、2、2,各缓冲池分别存在0,1,0,2个缓冲区有数据。

现同时有四个进程P1,P2,P3,P4分别在各缓冲区间不断地移动数据。

见下图。

例如,P1进程从M1向M2移动数据。

试用信号量及其P、V(或signal,wait)操作及类Pasic/C语言描述各进程之间的同步关系,并给出各信号量的含义和初值。

 

进程操作图

五.考研试题精选及解析

1、有一个仓库,可以存放A和B两种产品,但要求:

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

(2)-N<A产品数量-B产品数量<M。

其中,N和M是正整数。

试用P、V操作描述产品A与产品B的入库过程。

[分析及相关知识]

本题给出的第一个条件是临界资源的访问控制,可用一个互斥信号量解决该问题。

第二个条件可以分解为:

-N<A产品数量-B产品数量

A产品数量-B产品数量<M

也就是说,A产品的数量不能比B产品的数量少N个以上,A产品的数量不能比B产品的数量多M个以上。

解:

在本题中,可以设置两个信号量来控制A、B产品的存放数量,

sa表示当前允许A产品比B产品多入库的数量,即在当前库存量和B产品不入库的情况下,还可以允许sa个A产品入库;

sb表示当前允许B产品比A产品多入库的数量,即在当前库存量和A产品不入库的情况下,还可以允许sb个B产品入库。

初始时,sa为M-1,sb为N-1。

当往库中存放入一个A产品时,则允许存入B产品的数量也增加1;当往库中存放入一个B产品时,则允许存入A产品的数量也增加1。

varmutex:

semaphore=1;/*互斥信号量*/

sa,sb:

semaphore;

sa=M-1;sb=N-1;

mian()

{

while

(1)

{取一个产品;

if(取的是A产品)

{

P(sa);

P(mutex);

将A产品入库;

V(mutex);

V(sb);

}

else/*取的产品是B*/

{

P(sb);

P(mutex);

将B产品入库;

V(mutex);

V(sa);

}

}

}

2.进程A1,A2,…,An1通过m个缓冲区向进程B1,B2,…Bn2不断地发送消息。

发送和接收工作遵循如下规则:

①每个发送进程一次发送一个消息,写入一个缓冲区,缓冲区大小等于消息长度;

②对每一个消息,B1,B2,…,Bn2都须各接收一次,读入各自的数据区内;

③m个缓冲区都满时,发送进程等待;没有可读的消息时,接收进程等待。

试用P、V操作组织正确的发送和接收工作。

[分析及相关知识]

本题是生产者-消费者问题的一个变形,一组生产者A1,A2,…An1和一组消费者B1,B2,…Bn2共用m个缓冲区,每个缓冲区只要写一次,但需要读n2次。

因此,可以把这一组缓冲区看成n2组缓冲区,每个发送者需要同时写n2组缓冲区中相应的n2个缓冲区,而每一个接收者只需读它自己对应的那组缓冲区中的对应单元。

解:

在本题中,应设置一个信号量mutex实现诸进程对缓冲区的互斥访问;两个信号量数组empty[n2]和full[n2]描述n2组缓冲区的使用情况。

mutex的初始值为1;empty中的元素初值为m;数组full中的元素初值为0。

其同步关系描述如下:

varmutex,empty[n2],full[n2]:

semaphore;

inti;mutex=1;

for(i=0;i<=n2-1;i++)

{

empty[i]=m;

full[i]=0;

}

main()

{

cobegin

A1();

A2();

An1()

B1();

B2();

Bn2();

coend

}

send()/*发送消息*/

{inti;

for(i=0;i<=n2-1;i++)

p(empty[i]);

p(mutex);

将消息放入缓冲区;

V(mutex);

for(i=0;i<=n2-1;i++)

V(full[i]);

}

receive(i)/*进程Bi接收消息*/

{

p(full[i]);

p(mutex);

将消息从缓冲区取出;

V(mutex);

V(emtpy[i]);

}

Ai()/*因发送进程A1,A2,…An1的程序类似,这里只给出进程Ai的描述*/

{

while

(1)

{

send();

}

}

Bi()/*因接收进程B1,B2,…Bn2的程序类似,这里只给出进程Bi描述*/

{

while

(1)

{

receive(i);

}

}

3.有一个仓库可存放A、B两种零件,最大库容量各为m个。

生产车间不断地取A和B进行装配,每次各取一个。

为避免零件锈蚀,按先入库者先出库的原则。

有两组供应商分别不断地供应A和B,每次一个。

为保证配套和合理库存,当某种零件比另一种零件超过n(n

试用信号量与P、V操作正确地实现它们之间的同步关系。

答:

按照题意,应满足以下控制关系:

A零件数量-B零件数量≤n;B零件数量-A零件数量≤n;A零件数量≤m;B零件数量≤m。

四个控制关系分别用信号量sa、sb、empty1和empty2实施。

为遵循先入库者先出库的原则,A、B零件可以组织成两个循形队列,并增加入库指针in1、in2和出库指针out1、out2来控制顺序。

并发程序编制如下:

varempty1,empty2,full1,full2:

semaphore;

mutex,sa,sb:

semaphore;

in1,in2,out1,out2:

integer;

buffer1,buffer2:

array[0..m-1]ofitem;

empty1:

=empty2:

=m;

sa:

=sb:

=n;

in1:

=in2:

=out1:

=out2:

=0;

cobegin

{

processproducerA

{repeat

P(empty1);

P(sa);

P(mutex);

buffer1[in1]:

=A零件;

in1:

=(in1+1)modm;

V(mutex);

V(sb);

V(full1);

untilefalse;

}

processproducerB

{repeat

P(empty2);

P(sb

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1