当前位置:文档之家› 进程管理习题及答案

进程管理习题及答案

一、判断题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<k<=M。

26.( )所有进程都进入等待状态时,系统陷入死锁。

27.( )系统调用是用户程序请求操作系统服务的唯一方式。

28.( )原语和系统调用的主要区别在于两者的实现方法不同。

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

30. ( ) 线程的切换会引起进程的切换。

31. ( ) 多个线程可以对应同一段程序。

32. ( ) 系统内可以有无父进程的进程。

33. ( ) 线程所对应的程序肯定比进程所对应的程序短。

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

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

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

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

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

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

40. ( ) 原语的执行是屏蔽中断的。

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

42. ( )系统中进程的数目越多,CPU的利用率越高.43. ( )多道程序的执行失去了封闭性和再现性,因此多道程序系统不需要封闭性和再现性。

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

45. ( )单道程序不具备封闭性和再现性。

46.( )同步信号量的初值一般为1。

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

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

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

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

二、填空题1、设系统中仅有一个资源类,其中共有3个资源实例,使用此类资源的进程共有3个,每个进程至少请求一个资源,它们所需资源最大量的总和为X,则发生死锁的必要条件是:_________。

2、一台计算机有10台磁带机被m个进程竞争,每个进程最多需要三台磁带机,那么m为__________时,系统没有死锁的危险。

三、简答题1、多道程序技术的特点2、程序、进程、线程的区别3、生产者-消费者问题的同步算法中,为什么颠倒生产者进程中的两个P操作的次序,将导致进程死锁?4、临界资源和临界区四、解答题1、多个进程对信号量S进行了5次 P操作,2次V操作后,现在信号量的值是 -3,与信号量S相关的处于阻塞状态的进程有几个?信号量的初值是多少?2、进程P1和P2通过两个缓冲区给进程P11、P12、P21、P22传递信息,进程P11、P12取进程P1的信息,进程P21、P22取进程P2的信息。

假定这两个缓冲区一样大小,所要传递的信息也与缓冲区一样大,同一时刻只能由一个进程往缓冲区中送信息或取信息。

试用PV操作来实现这6个进程之间的同步与互斥关系,只要求写出进程P1与P11的同步算法。

3、学生和监考老师都看作进程,学生有N人,教师1人。

考场门口每次只能进出一个人,进考场原则是先来先进。

当N个学生都进入考场后,教师才能发卷子。

学生交卷后可以离开考场。

教师要等收上来全部卷子后才能离开考场。

①问共需设置几个进程?②设置合适的信号量及初值,试用P、V操作解决上述问题中的同步和互斥关系。

4、设系统中有三种类型的资源(A、B、C)和五个进程(P0,P1,P2,P3,P4),某时刻的状态如下:请根据银行家算法判定,当前是否是安全状态,如果是,请写出一个安全序列?5、某高校计算机系开设网络课并安排上机实习,假设机房共有2m台机器,有2n名学生选该课,规定:(1)每两个学生组成一组,各占一台机器,协同完成上机实习;(2)只有凑够两个学生,并且此时机房有空闲机器,门卫才允许该组学生进入机房;(3)上机实习由一名教师检查,检查完毕,一组学生才可以离开机房。

试用P、V操作模拟上机实习过程。

一、判断题正确的答案有:3、9、16、24、25、29、31、32、40、41、47、48、49。

二、填空题1、x>5(或x>=6)2、M<=4三、简答题1、答:多道:计算机内存中同时存放几道相对独立的程序。

宏观上并行:同时进入系统的几道程序都处于运行过程中,但都未运行完毕。

微观上串行:各道程序轮流的使用CPU,交替执行。

2、答:线程是在进程内用于调度和占有处理机的基本单位,它由线程控制表、存储线程上下文的用户栈以及核心栈组成。

进程是程序的一次动态执行过程,它也是系统资源分配的基本单位,它能和其他进程并发执行。

线程与进程的主要区别:进程是资源管理的基本单位,线程只是处理机调度的基本单位。

进程进行处理机切换和调度时间较长,而线程进行处理机切换和调度时间较短,不发生资源的变化。

线程和进程一样,都有自己的状态,也有相应的同步机制,不过由于线程没有单独的数据和程序空间,因此线程没有挂起状态。

进程的调度、同步机制大多数由操作系统内核完成,而线程的控制既可以由操作系统内核进行,也可以由用户控制进行。

3、假如生产者先执行P(s)操作,获得了对缓冲区的使用权,而此时缓冲区是满的,即在执行P(empty)时发生阻塞,无法向缓冲区存数。

因它占有了缓冲区的使用权,其他生产者和消费者进程无法访问缓冲区,因此产生了死锁。

4、若干进程访问一个不可共享的资源,这些资源称为临界资源。

使用临界资源的那一段程序称为临界区。

四、解答题1、答(1)因为S的当前值是-3,因此因为S处于阻塞状态的进程有3个;(2)因为每进行一次P(S)操作,S的值都减1,每执行1次V操作S的值加1,故信号量的初值为-3+5-2=0;2、设4个信号量:mux=1 (实现六个进程的互斥访问缓冲区)empty=2; (P1,P2进程可用的缓冲区数目)full1=0; (进程P1送往缓冲区的信息);full2=0; (进程P2送往缓冲区的信息);P1: P(empty);P (mux);WriteMessage( );V(mux);V(full1);P2: P(empty);P (mux);WriteMessage( );V(mux);V(full2);P11与P12:P(full1);P(mux);ReadMessage( );V(mux);V(empty);P21与P22:P(full2);P(mux);ReadMessage( );V(mux);V(empty);3、1)共需设置N个学生进程,1个教师进程2)信号量:mutex=1;in=out=0;wait=0;Student[i]{ P(mutex)进入考场V(mutex)V(in);P(wait)答卷子V(out);}Teacher{ for i=1 to NP(in);发卷子for i=1 to NV(wait);等待学生们交卷;for i=1 to NP(out);收齐卷子,离开考场}4、安全状态P1-> P3-> P4-> P0-> P2 (答案不唯一)5、P、V操作实现程序如下:student:=0;computer:=2m;enter:=0;finish:=0;test(i):=0;parbeginStudent i: BeginV(student); /*表示有学生到达,通知gateguard进程*/P(enter); /*学生是否可进入*/上机实习;V(finish); /*实习结束,通知教师,有需要检查的学生*/P(test(i)); /*等待教师检查完毕*/V(computer); /*释放计算机资源}End;.Teacher:BeginrepeatP(finish); /*是否有需要检查的学生,等待实习完成*/P(finish); /*是否有需要检查的学生,等待实习完成*/选出可检查的第i组学生;检查第i组学生实习结果;V(test(i)); /*检查完成*/V(test(i)); /*检查完成*/until falseEnd;Gategard:Beginrepeat.P(student); /*等待学生到达*/P(student); /*等待另一学生到达*/P(computer); /*是否有可用的计算机*/P(computer); /*是否有可用的计算机*/分配计算机;V(enter); /*设置学生1可进入标志*/V(enter); /*设置学生2可进入标志*/ untile falseEnd;Parend;。

相关主题