第23章 进程管处理机调度.docx
《第23章 进程管处理机调度.docx》由会员分享,可在线阅读,更多相关《第23章 进程管处理机调度.docx(31页珍藏版)》请在冰豆网上搜索。
第23章进程管处理机调度
第2章进程管理
大纲要求
(一)进程与线程
1.进程概念
2.进程的状态与转换
3.进程控制
4.进程组织
5.进程通信
共享存储系统;消息传递系统;管道通信。
6.线程概念与多线程模型
(二)处理机调度
1.调度的基本概念
2.调度时机、切换与过程
3.调度的基本准则
4.调度方式
5.典型调度算法
先来先服务调度算法;短作业(短任务、短进程、短线程)优先调度算法;时间片轮转调度算法;优先级调度算法;高响应比优先调度算法;多级反馈队列调度算法。
(三)进程同步
1.进程同步的基本概念
2.实现临界区互斥的基本方法
软件实现方法;硬件实现方法。
3.信号量
4.管程
5.经典同步问题
◆生产者-消费者问题;
◆读者-写者问题;
◆哲学家进餐问题。
(四)死锁
1.死锁的概念
2.死锁处理策略
3.死锁预防
4.死锁避免
系统安全状态:
银行家算法。
5.死锁检测和解除
考点与要点分析
核心考点
1.进程的概念,进程与程序的异同,进程的组织结构(PCB的构造与功能);线程的概念及其与进程的异同
2.进程的3个状态及其转换,引起转换的典型事件
3.处理器3级调度及之间的比较,典型的调度算法以及进程在不同调度算法下的执行顺序的确定、周转时间、等待时间等的计算
4.临界区域临界资源、抢占式与非抢占式调度、进程同步和互斥的区别
5.实现进程互斥的软件方法,用信号量保证进程之间的同步与互斥,几种常见的进程同步问题
6.死锁的概念和发生死锁的4个必要条件,处理死锁的方法(预防死锁与死锁避免等),银行家算法。
基础要点
1.进程是一个程序对某个数据集的一次运行活动。
进程是动态的概念,而程序是静态的概念。
2.进程的基本特征是:
动态性、并发性、独立性、异步性和结构特征
3.程序段和数据段称为进程的实体,用PCB来描述实体的存在和变化。
进程从结构上讲包括程序段、数据段和进程控制块(PCB)
4.在操作系统中引入线程的概念的主要目的是减少程序并发执行时所需付出的时空开销,提高程序执行的病发程度。
5.进程的基本运行状态有运行、就绪和阻塞。
引起状态转化的事件通常有:
时间片用完(运行转就绪)、等待事件(运行转阻塞)、等待条件发生(阻塞转就绪)、进程调度(就绪转运行)。
6.三级调度的运行频率:
高级调度<中级调度<低级调度
7.进程的调度方式有两类:
抢占式和非抢占式,若要是当前运行的进程总是优先级最高的进程,则应选择抢占式优先级调度算法,时间片轮转调度算法也是抢占式调度方法
8.进程调度算法采用时间片轮转法时,当时间片过大时,就会使轮转法转化为先来先服务调度算法;如果时间片过小,则会在进程切换时消耗过多的系统资源和时间,效率反而会降低。
9.在所有调度算法中,短作业优先调度算法的平均等待时间最短。
10.同时只能一个进程使用的资源称为临界资源,在进程中,访问临界资源的代码称为临界区,为保证进程互斥访问临界资源,应该在进程的临界区之前设置进入区,在临界区后设置退出区。
11.访问临界资源应遵循的准则为:
空闲让进、忙则等待、有限等待、让权等待。
12.同步是指不同进程间相互合作、相互等待,互斥是指同类进程需要互斥使用资源。
同步和互斥描述了进程的两种不同制约关系。
13.信号量的物理意义是:
当信号量值大于零时,表示可用资源的数目;当信号量值小于零时,其绝对值在该信号量上等待的进程个数。
14.用P、V操作管理临界区时,任何一个进程在进入临界区之前应调用P操作,退出临界区时影碟用V操作。
15.死锁产生的4个必要条件是:
互斥、请求与保持(部分分配)、不剥夺和环路等待。
要防止死锁的发生,可以破坏4个必要条件之一,但破坏互斥条件是不太实际的。
16.在有m个进程的系统中出现死锁时,死锁进程的个数k应该满足的条件是:
2≤k≤m。
某系统中有3个并发进程,都需要同类资源4个,改系统不会发生死锁的最小资源个数是10,因为无论如何分配,总能有一个进程获得足够资源运行结束并释放所持有的资源,使其它进程也得到足够的资源。
17.不让死锁发生的策略可以分为静态和动态两种,死锁避免属于动态策略。
18.在可共享系统资源不足时,可能出现死锁。
但是,不适当的进程推进顺序也可能产生死锁。
19.死锁静态分配法破坏了死锁产生必要条件中的请求与保持条件,资源剥夺法和撤销进程的方法破坏了不剥夺条件,资源的按序分配策略可以破坏环路等待条件。
本章知识体系框图
考题分布
试题资料:
1.Unix操作系统的进程控制块中常驻内存的是( B )。
A.proc结构 B.proc结构和核心栈
C.ppda区 D.proc结构和user结构
2.当( B)时,进程从执行状态转变为就绪状态。
A.进程被调度程序选中 B.时间片到
C.等待某一事件 D.等待的事件发生
3.在进程状态转换时,下列( D)转换是不可能发生的。
A.就绪态→运行态 B.运行态→就绪态
C.运行态→阻塞态 D.阻塞态→运行态
4.下列各项工作步骤中,( B )不是创建进程所必需的步骤。
A.建立一个PCB B.作业调度程序为进程分配CPU
C.为进程分配内存等资源 D.将PCB链入进程就绪队列
5.下列关于进程的叙述中,正确的是( D)。
A.进程通过进程调度程序而获得CPU
B.优先级是进行进程调度的重要依据,一旦确定不能改变
C.在单CPU系统中,任一时刻都有1个进程处于运行状态
D.进程申请CPU得不到满足时,其状态变为等待状态
6.从资源管理的角度看,进程调度属于(C)。
A.I/O管理 B.文件管理
C.处理机管理 D.存储器管理
7.下列有可能导致一进程从运行变为就绪的事件是( D)。
A.一次I/O操作结束
B.运行进程需作I/O操作
C.运行进程结束
D.出现了比现运行进程优先权更高的进程
8.一个进程释放一种资源将有可能导致一个或几个进程( D )。
A.由就绪变运行 B.由运行变就绪
C.由阻塞变运行 D.由阻塞变就绪
9.一次I/O操作的结束,有可能导致( A)。
A.一个进程由睡眠变就绪 B.几个进程由睡眠变就绪
C.一个进程由睡眠变运行 D.几个进程由睡眠变运行
10.当一个进程从CPU上退下来时,它的状态应变为( C)。
A.静止就绪 B.活动就绪 C.静止睡眠 D.活动睡眠
11.为使进程由活动就绪变为静止就绪,应利用( A )原语?
A.Suspend B.Active C.Block D.Wakeup
12.在下面的叙述中,不正确的是( C)。
A.一个进程可创建一个或多个线程
B.一个线程可创建一个或多个线程
C.一个线程可创建一个或多个进程
D.一个进程可创建一个或多个进程
13.若系统中只有用户级线程,则处理机调度单位是(A )。
A.线程 B.进程 C.程序 D.作业
14.一个进程是( C)。
A.由协处理机执行的一个程序
B.一个独立的程序+数据集
C.PCB结构与程序和数据的组合
D.一个独立的程序
15.下列几种关于进程的叙述,( A)最不符合操作系统对进程的理解?
A.进程是在多程序并行环境中的完整的程序
B.进程可以由程序、数据和进程控制描述
C.线程是一种特殊的进程
D.进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位
16.在下面的叙述中正确的是(B )。
A.线程是比进程更小的能独立运行的基本单位
B.引入线程可提高程序并发执行的程度,可进一步提高系统效率
C.线程的引入增加了程序执行时时空开销
D.一个进程一定包含多个线程
17.下面关于线程的叙述中,正确的是( A )。
A.不论是系统支持线程还是用户级线程,其切换都需要内核的支持
B.线程是资源的分配单位,进程是调度和分配的单位
C.不管系统中是否有线程,进程都是拥有资源的独立单位
D.在引入线程的系统中,进程仍是资源分配和调度分派的基本单位
18.在下面的叙述中,正确的是( D )。
A.引入线程后,处理机只在线程间切换
B.引入线程后,处理机仍在进程间切换
C.线程的切换,不会引起进程的切换
D.线程的切换,可能引起进程的切换
19.进程的控制信息和描述信息存放在( B)。
A.JCB B.PCB C.AFT D.SFT
20.进程依靠( D)从阻塞状态过渡到就绪状态。
A.程序员的命令 B.系统服务
C.等待下一个时间片到来 D."合作"进程的唤醒
21.在WindowsNT中( A)可以处于就绪状态。
A.进程 B.线程 C.程序 D.作业
22.只作用于一个进程一次的原语是(A )。
A.创立 B.解挂 C.阻塞 D.挂起
23.在Unix系统中,处于( C)状态的进程最容易被执行。
A.辅存睡眠 B.内存睡眠 C.内存就绪 D.辅存就绪
24.从执行状态挂起的进程解除挂起时进入( A)状态。
A.就绪 B.执行 C.阻塞 D.挂起
25.一个进程执行过程中不可能对应(C )。
A.一个PBC B.一个JCB C.多个PCB D.一个程序
26.用P、V操作管理临界区时,信号量的初值一般应定义为( C)。
A.-1 B.0 C.1 D.任意值
27.有m个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问,则信号量的变化范围是( C)。
A.1至-(m-1) B.1至m-1 C.1至-m D.1至m
28.在下面的叙述中正确的是( C)。
A.临界资源是非共享资源 B.临界资源是任意共享资源
C.临界资源是互斥共享资源 D.临界资源是同时共享资源
29.对进程间互斥的使用临界资源,进程可以( B)。
A.互斥的进入临界区 B.互斥的进入各自的临界区
C.互斥的进入同一临界区 D.互斥的进入各自的同类资源临界区
30.设两个进程共用一个临界资源的互斥信号量mutex,当mutex=1时表示(B)。
A.一个进程进入了临界区,另一个进程等待
B.没有一个进程进入临界区
C.两个进程都进入临界区
D.两个进程都在等待
31.设两个进程共用一个临界资源的互斥信号量mutex,当mutex=-1时表示(A)。
A.一个进程进入了临界区,另一个进程等待
B.没有一个进程进入临界区
C.两个进程都进入临界区
D.两个进程都在等待
32.当一进程因在记录型信号量S上执行P(S)操作而被阻塞后,S的值为(B)。
A.>0 B.<0 C.≥0 D.≤0
33.当一进程因在记录型信号量S上执行V(S)操作而导致唤醒另一进程后,S的值为(D)。
A.>0 B.<0 C.≥0 D.≤0
34.如果信号量的当前值为-4,则表示系统中在该信号量上有(A)个进程等待。
A.4 B.3 C.5 D.0
35若有4个进程共享同一程序段,而且每次最多允许3个进程进入该程序段,则信号量的变化范围是(B)。
A.3,2,1,0
B.3,2,1,0,-1
C.4,3,2,1,0
D.2,1,0,-1,-2
36.若信号S的初值为2,当前值为-1,则表示有(B )个等待进程。
A.0 B.1 C.2 D.3
37.并发进程之间(D )。
A.彼此无关 B.必须同步 C.必须互斥 D.可能需要同步或互斥
38.在操作系统中,有一组进程,进程之间具有直接相互制约性。
这组并发进程之间(B)。
A.必定无关 B.必定相关 C.可能相关 D.相关程度相同
39.( C)操作不是P操作可完成的。
A.为进程分配处理机 B.使信号量的值变小
C.可用于进程的同步 D.使进程进入阻塞状态
40.某系统采用了银行家算法,则下列叙述正确的是(B)。
A.系统处于不安全状态时一定会发生死锁
B.系统处于不安全状态时可能会发生死锁
C.系统处于安全状态时可能会发生死锁
D.系统处于安全状态时一定会发生死锁
41.银行家算法中的数据结构包括有可利用资源向量Available、最大需求矩阵Max、分配矩阵Allocation、需求矩阵Need,下列选项中表述正确的是(B)。
A.Max[i,j]=Need[i,j]-Allocation[i,j]
B.Need[i,j]=Max[i,j]-Allocation[i,j]
C.Max[i,j]=Allocation[i,j]-Need[i,j]
D.Need[i,j]=Max[i,j]+Allocation[i,j]
42.下列进程调度算法中,(B)可能会出现进程长期得不到调度的情况。
A.非强占式静态优先权法
B.强占式静态优先权法
C.时间片轮转调度算法
D.非强占式动态优先权法
43.在下列选项中,属于避免死锁的方法是(D)。
A.剥夺资源法 B.资源分配图简化法
C.资源随意分配 D.银行家算法
44.在下列选项中,属于检测死锁的方法是(D)。
A.银行家算法 B.消进程法
C.资源静态分配法 D.资源分配图简化法
45.在下列选项中,属于解除死锁的方法是(A)。
A.剥夺资源法 B.资源分配图简化法
C.银行家算法 D.资源静态分配法
46.为了照顾紧迫型作业,应采用(D )。
A.先来先服务调度算法
B.短作业优先调度算法
C.时间片轮转调度算法
D.优先权调度算法
47.在采用动态优先权的优先权调度算法中,如果所有进程都具有相同优先权初值,则此时的优先权调度算法实际上和(A)相同。
A.先来先服务调度算法
B.短作业优先调度算法
C.时间片轮转调度算法
D.长作业优先调度算法
48.作业从后备作业到被调度程序选中的时间称为(C)。
A.周转时间 B.响应时间
C.等间待调度时 D.运行时间
49.资源静态分配法可以预防死锁的发生,因为使死锁四个条件中的(B)不成立。
A.互斥条件 B.请求和保持条件
C.不可剥夺条件 D.环路等待条件
50.通常,用户进程被创建后(B)
A.便一直存在于系统中,知道被操作人员撤销
B.随着作业运行正常或不正常结束而撤销
C.随着时间片轮转而撤销与建立
D.随着进程的阻塞或唤醒而撤销与建立
51.进程和程序的一个本质区别是(D)
A.前者分时使用CPU,后者独占CPU
B.前者存储在内存,后者存储在外存
C.前者在一个文件中,后者在多个文件中
D.前者为动态的,后者为静态的
52.在进程控制块中,主要包括4方面用于描述和控制进程运行的信息。
其中,(C)主要是由处理器各种寄存器的内容所组成的
A.进程标识符信息B.进程调度信息C.处理机状态信息D.进程控制信息
53.中断扫描机构是(B)扫描一次中断寄存器
A.每隔一个时间片B.每条指令执行周期内最后时刻
C.每当进程释放CPUD.每产生一次中断
54.进程从运行状态到阻塞状态可能是(A)
A.进程执行P操作B.进程调度程序的调度
C.运行进程的时间片用完D.运行进程执行了V操作
55.下面所列进程的3种基本状态之间的转换不正确的是(D)
A.就绪状态—>执行状态B.执行状态—>就绪状态
C.执行状态—>阻塞状态D.就绪状态—>阻塞状态
56.关于临界问题的一个算法(假设只有进程P0和P1可能会进入临界区)如下(i为0或1代表进程P0或P1):
Repeat
Retry:
If(turn!
=-1)turn=i;
If(turn!
=i)gotoretry;
Turn=-1;
临界区;
Turn=0;
其它区域;
Untilfalse;
该算法(B)
A.不能保持进程互斥进入临界区,且会出现“饥饿”
B.不能保持进程互斥进入临界区,但不会出现“饥饿”
C.保证进程互斥进入临界区,但会出现“饥饿”
D.保证进程互斥进入临界区,不会出现“饥饿”
57.一个运行进程必须具备的3中基本状态为(C)
A.就绪状态、挂起状态和执行状态
B.挂起状态、阻塞状态和执行状态
C.就绪状态、执行状态和阻塞状态
D.就绪状态、执行状态和终止状态
58.结构(Cobegin语句1;语句2Coend)表示语句2和语句2并发执行。
程序段如下:
X:
=0;
Y=0;
Cobeign
begin
X:
=1;①
Y:
=y+x;②
End
Begin
Y:
=2;③
X:
=x+3;④
End
Coend
当这个程序执行完毕时,变量X和Y的值有可能为(C)
I.X=1,y=2II.X=1,y=3III.X=4,y=6
A.IB.I和IIC.II和IIID.I、II和III
59.(B)有利于CPU繁忙型的作业,而不利于I/O繁忙型的作业(进程)
A.时间片轮转调度算法B.先来先服务调度算法
C.短作业(进程)优先调度算法D.优先权调度算法
60.有5个批处理任务A,B,C,D,E几乎同时到达一计算中心。
它们预计运行的时间分别是10min、6min、2min、4min和8min。
其优先级(由外部设定)分别为3、5、6、1和4,这里5为最高优先级。
下列各种调度算法中,其平均周转时间为14min的是(D)
A.时间片轮转调度算法B.优先级调度算法
C.先来先服务调度算法D.最短作业优先调度算法
61.时间片轮转调度算法进行进程调度是为了(A)
A.多个终端都能得到系统的及时响应
B.先来先服务
C.优先级较高的进程的到及时响应
D.需要CPU时间最短的进程先做
62.下面有关进程调度算法选择的准则中,不正确的是(D)
A.尽快响应交互是用户请求
B.尽量提高处理器利用率
C.尽可能提高系统吞吐量
D.适当增加进程在就绪队列中的等待时间
63.进程调度算法中,可以设计成可抢占式的算法有(D)
A.先来先服务调度算法B.最高响应比优先调度算法
C.最短作业优先调度算法D.时间片轮转调度算法
64.在一个交通繁忙的十字路口,每个方向只有一个车道,如果车辆只能向前直行,而不允许转弯和后退,并无任何方式进行交通管理。
下列叙述正确的是(D)
A.该十字路口不会发生死锁B.该十字路口一定会发生死锁
C.该十字路口可能发生死锁,规定同时最多3个方向的车辆使用该十字路口是最有效的方法
D.该十字路口可能发生死锁,规定南北方向的两个车队和东西方向的两个车队互斥使用十字路口是最有效的方法
65若每个作业只能建立一个进程为了照顾短作业用户,应采用();为了照顾紧急作业,应采用();为了实现人机交互,应采用();为了使短作业、长作业和交互作业用户都满意,应采用()。
(D)
I、FCFS调度算法
II、短作业优先调度算法
III、时间片轮转调度算法
Ⅳ、多级反馈队列调度算法
Ⅴ、基于优先级的剥夺调度算法
A.II、Ⅴ、I、ⅣB.I、Ⅴ、III、Ⅳ
C.I、II、Ⅳ、IIID.II、Ⅴ、III、Ⅳ
66.下面关于进城的叙述中,正确的是(A)。
A.进程获得CPU运行是通过调度得到的。
B.优先级是进程调度的重要依据,一旦确定就不能改变
C.单CPU系统中,任意时刻都有一个进程处于运行状态
D.进程申请CPU得不到满足,其状态变为阻塞
67现有3个同时到达的作业J1、J2、J3,它们的执行时间分别为T1、T2、T3,且T1A.T1+T2+T3B.(T1+T2+T)/3
C.(3T1+2T2+T3)/3D.(T1+2T2+3T)/3
68.一个进程是(C)
A.由处理器执行的一个程序
B.一个独立的程序和数据集
C.PCB结构与程序和数据的结合
D.一个独立的程序
6