个进程的执行依赖另一个进程的__信息或信号___,当一个进程没有得到它时应__等待__,直到被___唤醒_____。
43、 进程的同步和互斥反映了进程间__同步__和__互斥__的关系。 44、 用PV操作是实现___同步__ 和__互斥__的有效工具,但若使用不当则不仅__会出现与时间相关的错误__而且会___产生死锁____。
45、 并发进程之间通过___信号量_____交换的是少量的信息,这是一种_低级_通信方式;而大量信息的传递要__消息传递__来实现,这是一种__高级__的通信方式,称为___消息传递机制___。
46、 实际上,_进程互斥_是进程同步的一种特例。
47、 目前常用的高级通信方式有共享存储器、_消息传递通信机制_、管道通信_等。
48、 形成死锁的起因是_竞争资源_和_进程间推进顺序非法_。 49、 避免死锁的一个著名的算法是__银行家算法___。
50、 死锁产生的四个必要条件是__互斥条件_、_请求和保持条件、_不剥夺条件_和_循环等待条件_四种。
51、 检测死锁后可采用剥夺进程占有的资源、_进程回退_、__进程撤销_和_系统重启_等办法来解除死锁。
52、 在实际使用中,为了操作系统的安全和可靠,往往采用死锁的__预防__、___避免_____和____检测与解除____的混合策略,这样既可保证整个系统不出现死锁,又可以尽可能地提高资源利用率。
53、 通常,线程的定义是__是进程中执行运算的最小单位__。在现代操作系统中,资源的分配单位是_进程_,而处理机的调度单位是__线程__,一个进程可以有___多个___线程。
54、 利用优先级调度算法进行进程调度时,即从就绪队列中选择优先级
高的进程有两种不同的处理方式: 非抢占式优先权算法 和 抢占式优先权算法 。 四、简答题
1、 什么是进程它与程序相比有哪些特征
答:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。
进程与程序的主要区别:(1)程序是永存的;进程是暂时的,是程序在数据集上的一次执行,有创建有撤销,存在是暂时的;(2)程序是静态的观念,进程是动态的观念;(3)进程具有并发性,而程序没有;(4)进程是竞争计算机资源的基本单位,程序不是。(5)进程和程序不是一一对应的: 一个程序可对应多个进程即多个进程可执行同一程序; 一个进程可以执行一个或几个程序
2、 一个进程进入临界区的调度原则是什么
答:进程进入临界区的调度原则是:①如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。②任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。③进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。④如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。
3、 在一个单CPU的多道程序设计系统中,若在某一时刻有N个进程同时存在,那么处于运行态、等待态和就绪态进程的最小和最大值分别可能是多少 答:状态 最大值 最小值 运行态 1 1
等待态 N-1 0 就绪态 N-1 0
4、 为什么并发进程执行时可能会产生与时间有关的错误,如何避免 答:由于进程运行时会随时被中断(包括时间片到、申请资源等),不仅断点不固定,而且中断多长时间也不固定,即进程是走走停停且它向前推进的相对速度无法由自身控制。
有交往的并发进程可能会同时使用共享资源,如果对这种情况不加控制,由于进程占用处理器的时间、执行的速度和外界的影响等,就会引起与时间有关的错误。只要使若干并发进程的相关临界区互斥执行,就可避免造成这类错误。
5、 什么是PV操作,它有什么作用
答:PV操作能够实现对临界区的管理要求。它由P操作原语和V操作原语组成,对信号量进行操作,具体定义如下: P(S):①将信号量S的值减1,即S=S-1;
②如果S0,则该进程继续执行;否则该进程置为等待状态,排入等待队列。
V(S):①将信号量S的值加1,即S=S+1;
②如果S>0,则该进程继续执行;否则释放队列中第一个等待信号量的进程。
6、 假设PV操作用信号量管理某个共享资源,请问当S>0,S=0和S<0时,它们的物理意义是什么
答:一般来说,信号量S0时,S表示可用资源的数量。执行一次P操作意味着请求分配一个单位资源,因此S的值减1;当S<0时,表示已经没有可用资源,请求者必须等待别的进程释放该类资源,它才能运行下去。而执行一个V
操作意味着释放一个单位资源,因此S的值加1;若S0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。 7、 什么是死锁死锁的四个必要条件是什么
答:死锁是两个或两个以上的进程中的每一个都在等待其中另一个进程释放资源而被封锁,它们都无法向前推进,称这种现象为死锁现象。产生死锁的四个必要条件是资源互斥使用、保持和等待、非剥夺性、循环等待。 8、 操作系统为什么要引入进程进程与程序的关系是怎样的
答:现代计算机系统中程序并发执行和资源共享的需要,使得系统的工作情况变得非常复杂,而程序作为机器指令集合,这一静态概念已经不能如实反映程序并发执行过程的动态性,因此,引入进程的概念来描述程序的动态执行过程。这对于我们理解、描述和设计操作系统具有重要意义。
进程定义为程序在并发环境中的执行过程,它与程序是完全不同的概念。主要区别是:(1)程序是静态概念,是永久性软件资源;而进程是动态概念,是动态生亡的暂存性资源。(2)进程是一个能独立运行的单位,能与其他进程并发执行,系统是以进程为单位分配CPU的;而程序则不能作为一个能独立运行单位。(3)程序和进程没有一一对应关系。一个程序在工作时可以由多个进程工作,一个进程在工作时至少对应有一个程序。(4)各个进程在并发执行时会产生制约关系,使各自推进的速度不可预测;而程序作为静态概念,不存在这种异步特征。
进程和程序关系类似生活中的炒菜与菜谱。菜谱相同,而各人炒出来的菜的味道却差别很大。原因是菜谱基本上是一种静态描述,它不可能把所有执行的动态过程中,涉及的时空、环境等因素一一用指令描述清楚。
9、如何理解进程的顺序性与并发性 答:进程的顺序性与并发性:
1、顺序性
顺序性包括两层含义:(1)内部顺序性,对于一个进程来说,它的所有指令是按序执行的;(2)外部顺序性,对于多个进程来说,所有进程是依次执行的。
例如,假如有P1和P2两个进程,其活动分别为: P1活动:A1 A2 A3 A4 P2活动:B1 B2 B3 B4
顺序执行时,有如下两种情形: 情形1:A1 A2 A3 A4 B1 B2 B3 B4 情形2:B1 B2 B3 B4 A1 A2 A3 A4 2、并发性
并发性包括如下两层含义:(1)内部顺序性,对于一个进程来说,它的所有指令是按序执行的;(2)外部并发性,对于多个进程来说,所有进程是交叉执行的。
例如,对于上面P1和P2两个进程来说,并发执行有许多情形,如: 情形1:A1 B1 B2 A2 A3 B3 A4 B4 情形2:B1 B2 A1 A2 A3 B3 B4 A4
并发进程在其执行过程中,出现哪种交叉情形是不可预知的,这就是并发进程的不确定性,操作系统应当保证:无论出现何种交叉情形,每个进程运行的结果都应当是唯一的,正确的。
10、什么是进程的同步与互斥
答:进程的同步与互斥是指进程在推进时的相互制约关系。在多道程序系统中,由于进程合作与资源共享,这种进程间的制约称为可能。我们把前者称为进程同步,后者称为进程互斥。
计算机操作系统期末复习题(答案) 3



