内容发布更新时间 : 2024/12/22 19:23:08星期一 下面是文章的全部内容请认真阅读。
6、 进程在运行过程中不断 变化 ,但在某一时刻,进程当且仅当处于3种基本状态之一。
7、 进程的静态实体由___程序段_____、__相关数据段__和__PCB__三部分组成。
8、 用于进程控制的原语主要有建立原语、撤消原语、挂起原语和_激活原语。
9、 进程被创建后,最初处于__就绪__状态,然后经_进程调度程序______选中后进入___执行_____状态。
10、 进程在运行中申请资源得不到满足,则它从___执行_____态变成___等待__态。
11、 处于等待态的进程,其外围设备工作结束,则它变成__就绪__态。
12、 进程从运行态变成就绪态,主要原因是_运行时间到_和__出现更高优先权进程_。
13、 有多个进程等待分配CPU时,系统按一定的_ 优先级_______,从处于就绪态的进程中选择_ 第一_ 个进程,让它占有CPU,并把它的状态变成__运行__态。
14、 进程的特征主要有_并发性_、_异步性_、独立性,制约性和结构性。
15、 PCB的含义是_操作系统用于记录和刻画进程状态及有关信息数据结构 。
16、 操作系统依据___PCB_____对进程控制和管理。 17、 进程创建工作主要完成的是创建进程控制块,并把它挂到__就绪__队列中。
18、 一个进程完成自己的任务后,操作系统则要收回该进程占有的___地址空间__和撤消该进程的__控制块__。
19、 如果系统中有N个进程,则在就绪队列中进程的个数最多为___N-1_____。
20、 操作系统中用于完成一些特定功能的、不可中断的过程称为_原语_。
21、 用于控制进程的原语有创建原语、撤消原语、_挂起原语_和__激活原语______。
22、 进程有两种基本队列:__就绪队列__和__等待队列__。 23、 进程调度程序负责CPU的分配,它按照某种__算法___,从 就绪 的进程中选择一个进程,将其__PCB__中的有关现场信息送入处理器相应的寄存器中,使它占有处理器运行。
24、 常用的进程调度算法有先来先服务、时间片轮转法和 优先级法 。
25、 先来先服务调度算法是按照进程进入就绪列队的__先后
次序__来选择其占用的CPU,在进程调度时总是把CPU分配给就绪列队的__队首__进程。
26、 时间片是指允许进程一次性占用处理器的__CPU__。时间片轮转算法常用于___分时_____操作系统。
27、 我们把一个进程让出CPU,由另一个进程占用CPU的过程称为___进程切换_____。
28、 当一个进程独占处理器顺序执行时,具有__封闭性__和_可再现性 。
29、 并发进程执行时,执行结果与它执行的_初始条件_有关;进程的并发执行会破坏___封闭性_____和__可再现性___。
30、 我们把并发过程中与_临界资源进行操作_有关的程序段称为临界区。
31、 对__共享资源__的若干临界区必须互斥执行,而对__非共享资源______的临界区是不必互斥的。
32、 一次至多___一____个进程能够进入临界区,当有进程在临界区__执行___时,其他想进入临界区的进程必须___等待_____。
33、 任一个进入临界区的进程必须在__有限___时间内___进入_ 临界区。
34、 每执行一次V操作,信号量的数值S加1。若__S>=0______,则该进程继续执行;否则,从对应的___就绪_____队列中移出一个进程并将_执行状态赋予该进程。
35、 利用信号量实现进程的_互斥与同步_,应为临界区设置一个信号量MUTEX,其初值为1,表示该资源尚未使用,临界区应置于_P(mutex)_和____V(mutex)____原语之间。
36、 操作系统中信号量的值与_相应资源_的使用情况有关,它的值仅能由_P、V操作_来改变。
37、 _PV操作_能够实现临界区的管理要求。
38、 PV操作由___P操作__和__V操作__组成,是对__资源__进行操作。
39、 P操作信号的值__S:=S-1__,若结果小于0,则该进程值为__等待__状态。V操作将信号量的值__ S:=S+1___,若结果_ 大于0__,则释放一个等待信号量的进程。
40、 当并发进程存在竞争关系时必须 排它 地使用资源;当并发进程存在协作关系时必须_共享资源_。分别称为__进程的互斥__和_进程的同步_。
41、 __互斥__是指当有若干个进程都要使用某一共享资源时,任何时刻最多只允许___一_____个进程去使用,其他要只用该资料的进程必须_等待_,直到占用资源者__释放__该资源。
42、 进程的同步是指并发进程之间的一种__直接的协同工作
__关系,一个进程的执行依赖另一个进程的__信息或信号___,当一个进程没有得到它时应__等待__,直到被___唤醒_____。
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; ②如果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两个进程来说,并发执行有许多情形,如: