操作系统原理第三章 进程管理习题.docx
- 文档编号:10876594
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:61
- 大小:60.89KB
操作系统原理第三章 进程管理习题.docx
《操作系统原理第三章 进程管理习题.docx》由会员分享,可在线阅读,更多相关《操作系统原理第三章 进程管理习题.docx(61页珍藏版)》请在冰点文库上搜索。
操作系统原理第三章进程管理习题
3.3习题
3.3.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.在WINDOWSNT中()可以处于就绪状态。
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.使进程进入阻塞状态
3.3.2选择所有正确的答案
1.在下列进程的四个特征中,最基本的特征是()。
A.并发性B.动态性C.独立性D.异步性
2.下面会引起进程创建的事件是()。
A.用户登录B.设备中断C.作业调度D.执行系统调用
3.下面是关于线程的叙述,其中正确的是()。
A.线程自己拥有一点资源,但它可以使用所属进程的资源。
B.由于同一进程中的多个线程具有相同的地址空间,所以它们间的同步和通信也易于实现。
C.进程创建与线程创建的时空开销不相同。
D.进程切换与线程切换的时空开销相同。
4.在下面的叙述中,不正确的是()。
A.同一进程内的线程可并发执行,不同进程的线程只能串行执行。
B.同一进程内的线程只能串行执行,不同进程的线程可并发执行。
C.同一进程或不同进程内的线程都只能串行执行。
D.同一进程或不同进程内的线程都可以并发执行。
5.线程是操作系统的概念,已具有线程管理的操作系统有()。
A.Windows3.2B.OS/2C.WindowsNTD.Mach
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个进程处于就绪状态,没有进程处于等待状态
3.3.3判断正误,错误的简要说明理由
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.单道程序系统中程序的执行也需要同步和互斥。
3.3.4简答题
1.Windows这样的多任务系统与Unix这样的多进程系统在调度上有何不同?
2.进程和线程的主要区别是什么?
3.程序的并发执行为什么会有间断性?
4.进程能自己将自己唤醒吗?
进程能自己将自己撤消吗?
5.什么是原语?
原语的主要特点是什么?
6.程序并发执行与顺序执行时相比产生哪些新特征?
7.程序并发执行的主要特性是什么?
8.一个因等待I/O操作结束而入阻塞状态的进程,何时被唤醒?
9.在什么情况下,可以一次唤醒一个进程和一次唤醒多个进程?
10.进程的就绪状态和阻塞状态的有何不同?
11.程序的并行执行将导致运行结果失去封闭性,这对所有的程序都成立吗?
12.父进程创建子进程之后,父子进程之间的关系是什么?
13.为什么说互斥也是一种同步?
14.为什么说进程同步问题关系到OS的成败?
15.同步机制应遵循的准则是什么?
16.进程通信有哪三种基本类型?
17.简述解互斥问题的软、硬件方法的异同。
18.什么是原语?
它与广义指令有什么区别?
19.对临界区管理的要求是什么?
20.设有n个进程共享一个互斥段,对于如下两种情况使用信号量,信号量的值的变化怎样?
(1)如果每次只允许一个进程进入互斥段;
(2)如果每次最多允许m个进程(m 3.3.5解答题 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.当进程X和进程Y共享某个资源r,进程并发执行时的程序如下: begin S: semaphore: =1; Cobegin ProcessX Begin L1: P(S); 使用资源r; V(S); GotoL1; End; ProcessY Begin L2: P(S); 使用资源r; V(S); GotoL2; End; Coend; End; 请回答: (1)两个进程并发执行时,能否保证互斥地使用资源? 为什么? (2)如果要使两个进程交替使用资源,若仍使用P、V操作来进行管理,写出应定义的信号量及其初值。 (3)修改上述程序,使两个进程能交替使用资源r。 13.某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20购票者时,则厅外的购票者可立即进入,否则需在外面等待。 若把一个购票者看作一个进程,请回答下列问题: (1)用P、V操作管理这些并发进程时,应怎样定义信号量? 写出信号量的初值以及信号量各种取值的含义。 (2)根据所定义的信号量,把应执行的P、V操作填入下述程序中,以保证进程能够正确地并发执行。 COBEGINPROCESSPi(i=1,2,…..) Begin ; 进入售票厅; 购票; ; 退出; End; COEND (3)若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最小值)。 14.进程之间存在哪几种相互制约关系? 各是什么原因引起的? 下列活动分别属于哪种制约关系? (1)若干同学去图书馆借书; (2)两队举行篮球比赛; (3)流水线生产的各道工序; (4)商品生产和社会消费。 15.设有两个优先级相同的进程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; 16.已知系统中有四个缓冲池M1,M2,M3,M4。 其大小分别为3、2、2,各缓冲池分别存在0,1,0,2个缓冲区有数据。 现同时有四个进程P1,P2,P3,P4分别在各缓冲区间不断地移动数据。 见下图。 例如,P1进程从M1向M2移动数据。 试用信号量及其P、V(或signal,wait)操作及类Pasic/C语言描述各进程之间的同步关系,并给出各信号量的含义和初值。 进程操作图 3.5考研试题精选及解析(需要学习的) 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操作组织正确的发送和接收工作。 (北京大学1994年同步与互斥题) [分析及相关知识] 本题是生产者-消费者问题的一个变形,一组生产者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操作正确地实现它们之间的同步关系。 (北大1995年同步与互斥题) 答: 按照题意,应满足以下控制关系: A零件数量-B零件数量≤n;B零件数量-A零件数量≤n;A零件数量≤m;B零件数量≤m。 四个控制关系分别用信号量sa、sb、empty1和empty2实施。 为遵循先入库者先出库的原则,A、B零件可以组织成两个循形队列,并增加入库指针in1、in2和出库指针out1、out2来控制顺序。 并发程序编制如下: varempty1,empty2,f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统原理第三章 进程管理习题 操作系统 原理 第三 进程 管理 习题