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;
②如果S?0,则该进程继续执行;否则该进程置为等待状态,排入等待队列。 V(S):①将信号量S的值加1,即S=S+1;
②如果S>0,则该进程继续执行;否则释放队列中第一个等待信号量的进程。
6、 假设PV操作用信号量管理某个共享资源,请问当S>0,S=0和S<0时,它们的物理意义是什么?
答:一般来说,信号量S?0时,S表示可用资源的数量。执行一次P操作意味着请求分配一个单位资源,因此S的值减1;当S<0时,表示已经没有可用资源,请求者必须等待别的进程释放该类资源,它才能运行下去。而执行一个V操作意味着释放一个单位资源,因此S的值加1;若S?0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。 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、什么是进程的同步与互斥? 答:进程的同步与互斥是指进程在推进时的相互制约关系。在多道程序系统中,由于进程合作与资源共享,这种进程间的制约称为可能。我们把前者称为进程同步,后者称为进程互斥。
进程同步是进程间共同完成一项任务时直接发生相互作用的关系。为进程之间的直接制约关系。在多道环境下,这种进程间在执行次序上的协调是必不可少的。同步进程之间的关系如同接力赛跑中的运动员,或生产流水线的每一道工序。
进程互斥是进程之间的间接制约关系。在多道系统中,每次只允许一个进程访问的资源称为临界资源,进程互斥就是保证每次只有一个进程使用临界资源。互斥进程之间的关系如同汽车在交叉路口争用车道,篮球比赛中双方争抢篮板球。
11、什么叫原语?
答:在操作系统中,往往设计一些完成特定功能的、不可中断的过程,这些不可中断的过程称为原语。如P、V操作原语。
12、什么是线程?它与进程有什么关系?
答:线程是进程中执行运算的最小单位,即处理机调度的基本单位。它与进程的关系是:一个线程只能属于一个进程,而一个进程可以有多个线程;资源分配给进程,同一进程的所有线程共享该进程的所有资源;处理机分给线程,即真正在处理机上运行的是线程;线程在运行过程中,需要协作同步,不同进程的线程间要利用消息通信的办法实现同步。
特别注意的是:传统操作系统中的进程概念与现代操作系统中的进程概念不同——简单说,传统操作系统中进程具有分配资源、调度运行两大功能,而现代操作系统中进程只作为分配资源单位,线程才作为调度运行单位。
13、试以生产者—消费者问题说明进程同步问题的实质。
答:一个生产者,一个消费者和一个产品之间关系是典型的进程同步问题。设信号量S为仓库内产品,P-V操作配对进行缺一不可。生产者进程将产品放入仓库后通知消费者可用;消费者进程在得知仓库有产品时取走,然后告诉生产者可继续生产。
14、用PV操作实现进程间的同步与互斥应该注意什么?
答:用PV操作实现进程间的同步与互斥,应该注意以下四个方面:
⑴ 对每一个共享资源都要设立信号量。互斥时对一个共享资源设立一个信号量;同步时对一个共享资源可能要设立两个或多个信号量,要视由几个进程来使用该共享变量而定;
⑵ 互斥时信号量的初值一般为1;同步时至少有一个信号量的初值大于等于1;
⑶ PV操作一定要成对调用。互斥时在临界区前后对同一信号量作PV操作;同步时则对不同的信号量作PV操作,PV操作的位置一定要正确。
⑷ 对互斥和同步混合问题,PV操作可能会嵌套,一般同步的PV操作在外,互斥的PV操作在内。
五、综合题
1、某系统的进程状态转换图如下图所示,请回答:
执行态 1 2 3 就绪态 4 等待态 ⑴ 引起各种状态转换的典型事件有哪些? 答:1,就绪→运行:CPU空闲,就绪态进程被调度程序选中。
2,运行→就绪:正在运行的进程用完了本次分配给它的CPU时间片。 3,运行→阻塞:运行态进程因某种条件未满足而放弃对CPU的占用,如等待读文件。