《操作系统》练习题及答案(3)

2018-11-24 16:23

6. 程序并发执行与顺序执行时相比产生哪些新特征? 7. 程序并发执行的主要特性是什么?

8. 一个因等待I/O操作结束而入阻塞状态的进程,何时被唤醒? 9. 在什么情况下,可以一次唤醒一个进程和一次唤醒多个进程? 10. 进程的就绪状态和阻塞状态的有何不同?

11. 程序的并行执行将导致运行结果失去封闭性,这对所有的程序都成立吗? 12. 父进程创建子进程之后,父子进程之间的关系是什么?

2.3.5 解答题

1. 什么是线程?进程和线程是什么关系? 2. 简述引进线程的好处。

3. 当系统内所有的进程都进入睡眠之后,系统还有可能复活吗? 4. 当一个进程的父进程被撤消时,该进程是撤消好还是不撤消好? 5. 进程的挂起操作和入睡操作有何异同?

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

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

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

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

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

2.4 习题解答要点

2.4.1 选择最合适的答案

1.A 2.B 3.D 4.B 5.A 6.C 7.D 8.D 9.A 10.B 11.A 12.C 13.B 14.C 15.A 16.B 17.C 18.D 19.B 20.D 21.A 22.A 23.C 24.A 25.C

2.4.2 选择所有正确的答案

1. AB 2. ACD 3. ABC 4.ABC 5.BCD 6.ABD 7. ACD 8. BC 9. ACD 10.AD

2.4.3 判断正误,简要说明理由

1. 正确 1. 错误

属于同一进程的多个线程之间的切换不会引起进程的切换,只有属于不同进程的线程之间的切换才会引起进程的切换。

3. 正确 4. 正确 5. 错误

不一定,若进程只有一个线程的话。

6. 错误:应该保存在PCB中,但有的系统也有例外。

- 11 -

7. 错误

进程也可以循环等待。 8. 错误

进程是进程实体的执行过程,具有动态性。 9. 错误

若干个事件在同一时刻发生成为并行;若干个事件在同一时间间隔内发生成为并发。并行是并发的特例,并发是并行的拓展。

10. 错误

(1) 基本特征还有并发性、异步性、独立性等; (2) 进程在新、终止两状态中只经过一次; (3) 进程都在内存。 11. 正确 12. 正确 13. 正确 14. 错误

进程容易产生资源竞争而处于阻塞或死锁状态 15. 错误

需要,否则程序没有稳定性和可靠性而言,用户也无法使用。 16. 正确

通过程序员的设计可以达到。 17. 错误

这是单道程序的固有属性。

2.4.4 简答题

1. 从调度上讲,在Windows这样的多任务系统中,当前执行哪个任务是由用户决定的,是用户可控的;而在Unix这样的多进程系统中,当前运行哪个进程是由内部的调度算法决定的,是对用户透明的,用户是不可直接控制的。

2. 在有进程和线程的系统中,进程是系统资源分配的独立单位,而线程是可调度运行的独立单位。

3. 并发执行是指系统内有多道程序在宏观上“同时”执行,但系统内往往只有一台处理机(CPU),因此只能分时地为多个程序服务。就一道程序而言,往往不是一次能够运行完成,而是以“走走停停”的方式完成其运行,这就是并发系统内程序执行的间断性。

4. 唤醒进程和撤消进程都是要通过在CPU上运行程序来实现的。一个进程入睡了,它就不可能被调度到CPU上运行;一个进程在撤消前必须先进入终止状态,而处于终止状态的进程不可能被调度到CPU上运行。因此,进程被唤醒、被撤消都不能由自己来完成,只能由别的进程实现。

5. 原语是指由若干条机器指令构成的,并用以完成特定功能的一段程序。这段程序在执行期间是不可分割的。其主要特点是不可分割性。

6. 可分割性、失去封闭性、失去可再现性。

7. 并发程序间具有相互制约的关系,程序并发执行失去了程序的封闭性和再现性,程序和机器执行程序的活动不再一一对应。

8. 是在别的进程执行相应的I/O中断处理程序时唤醒的。

9. 在I/O中断处理程序中,当唤醒进程时,只唤醒等待该I/O结束的那一个进程;当一个进程释放一个系统资源(如I/O缓存)时,将要唤醒所有因等待使用该资源而进入阻塞状态的进程。

10. 阻塞状态的进程还不具备执行的条件,即使放到处理机上也不能执行;就绪状态的进程具备了执行的所有条件,放到处理机上就能执行。

11. 并不是所有程序的并行执行都会导致运行结果失去封闭性。例如,当程序中都使用内部变量,不可能被外部程序访问时,程序的运行不会受到外部环境的影响。

12. 一个进程创建子进程之后,创建进程与产生的进程之间的关系是父子关系,分别成

- 12 -

为父进程和子进程。子进程一经产生就与父进程并发执行,子进程共享父进程的正文段和已经打开的文件。

2.4.5 解答题

1. 线程可定义为进程内的一个执行单位,或者定义为进程内的一个可调度实体。 在具有多线程机制的操作系统中,处理机调度的基本单位不是进程而是线程。一个进程可以有多个线程,而且至少有一个可执行线程。

进程和线程的关系是:

(1) 线程是进程的一个组成部分;

(2) 进程的多个线程都在进程的地址空间活动;

(3) 资源是分给进程的,而不是分给线程的,线程在执行中需要资源时,系统从进程的资源配额中扣除并分配给它;

(4) 处理机调度的基本单位是线程,线程之间竞争处理机,真正在处理机上运行的是线程;

(5) 线程在执行过程中,需要同步。 2. 引进线程的好处为:

(1) 以线程作为系统调度的基本单位,减少了系统的时空开销。以进程为系统调度的基本单位的系统中,进程的切换是很频繁的。在切换中由于要保留当时的运行环境,还要设置新选中的进程的运行环境,这既花费了处理机的时间,又增加了主存的空间,从而也限制了系统进程的数量和进程的切换速度。

(2) 引进线程提高了系统的并行能力。线程作为进程内的一个可执行实体,减少了并行粒度。线程作为调度的基本单位而不是资源分配的基本单位,调度更为容易,而且采用线程提高系统的并行能力比采用进程更为有效。

(3) 同一进程的线程共享进程的用户地址空间,所以同一进程的线程间的通信更容易实现。

3. 只有两种情况下系统可以复活。

一种情况是有因等待I/O操作完成而进入睡眠的进程,当相应的I/O操作完成后,I/O中断处理程序唤醒等待本次I/O的进程,而该进程在运行过程中又可能通过释放资源、发送消息等事件而唤醒其它进程,这样整个系统就又活跃起来了。

另一种情况是没有等待I/O操作完成的进程,但有定时睡眠的进程,当睡眠时间到期,会由时钟中断将该入睡进程唤醒,从而获得可运行进程,并有可能使系统重新活跃起来。

4. 在实际系统中,两种处理办法都是可行的,且各有优缺点。若撤消,则该进程的任务可能还没有完成,这显然是不利的,特别是当该进程的运行结果对其它进程的运行很重要(如该进程是其它进程的前趋进程,没有它的运行结果其它进程无法运行)时;若不撤消,则该进程又可能成为不可控的“孤儿”,从而产生不可预测的结果。

比较好的做法是,当一个进程的父进程被撤消时,可以将该进程“过继”给系统内一个

级别较高的进程(如Unix中的1进程),让它有一个“新的父亲”,这样既可以继续完成其任务又不会成为不可控的。

5. 最主要的不同是“入睡”是进程的主动行为,而“挂起”可以是系统的强制行为;此外,只有在CPU上运行的进程才能执行“入睡”操作,而不管进程处于什么状态,系统都可对其执行“挂起”操作。

它们的相同点是:这两个操作都导致一个正在CPU上运行的进程从 CPU上退下来。 6. 一个进程要进入阻塞(睡眠)状态,必须通过执行相应的程序才能实现,如sleep()或block()。就绪进程当前不在CPU上运行,不能执行任何程序,当然不能使自己直接进入阻塞状态。

7.

(1) 引起各变迁的事件如下:

变迁1:正在执行的进程从处理机上退下,导致进程调度程序从就绪状态的进程中选取一个进程。

变迁2:正在执行的进程所分配的时间片用完,导致进程从处理机上退到就绪状态;或者在可抢占优先级的进程调度中,有更高有先级的进程进入就绪状态,导致正在执行的进程从执行状态退到就绪状态。

- 13 -

变迁3:进程需要等待事件的发生;

变迁4:进程所等待的某事件发生了(如I/O完成);

(2) 可能发生的因果变迁

3——1:由于处于运行状态的进程转入阻塞状态,进程调度程序根据调度算法,又从就绪队列中选择一个进程投入运行;

2——1:由于处于运行状态的进程时间片用完,重新转入就绪状态,从而使进程调度程序又从就绪队列中选择一个进程投入运行;

3——2:此种变化不存在;

4——1:4的发生与1的发生没有必然关系; 3——4:3的发生和4的发生没有必然关系。 (3) 无关变迁

变迁1、2、3与处理机有关,必然引起其它变迁,变迁4不涉及处理机,不直接引起其它变迁。

- 14 -

第3章 进程的同步与通信

3.3 习题

3.3.1 选择最合适的答案

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

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

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

A.1至 –(m-1) B.1至m-1 C.1至–m D.1至m 3. 在下面的叙述中,正确的是( )。

A.临界资源是非共享资源 B.临界资源是任意共享资源 C.临界资源是互斥共享资源 D.临界资源是同时共享资源 4. 对进程间互斥地使用临界资源,进程可以( )

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

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

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

A.一个进程进入了临界区,另一个进程等待 B.没有一个进程进入临界区 C.两个进程都进入了临界区 D.两个进程都在等待

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

A.一个进程进入了临界区,另一个进程等待 B.没有一个进程进入临界区 C.两个进程都进入了临界区 D.两个进程都在等待

7.当一进程因在记录型信号量S上执行P(S)操作而被阻塞后,S的值为( )。 A.>0 B.<0 C.≥0 D.≤0

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

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

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

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

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

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

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

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

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

A. 3 B. 1 C. 2 D. 0 13.并发进程之间( )

A.彼此无关 B.必须同步

C.必须互斥 D.可能需要同步或互斥

14.在操作系统中,有一组进程,进程之间具有直接相互制约性。这组并发进程之间( )。

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

- 15 -


《操作系统》练习题及答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:山东省济宁市2016年中考物理试题(word版,含解析)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: