文档库 最新最全的文档下载
当前位置:文档库 › 处理机调度与死锁练习题

处理机调度与死锁练习题

处理机调度与死锁练习题
处理机调度与死锁练习题

第三章处理机调度与死锁

一、单项选择题

1.在为多道程序所提供的可共享的系统资源不足时,可能出现死锁。但是,不适当的________也可能产生死锁。

A. 进程优先权B.资源的线性分配

C.进程推进顺序 D.分配队列优先权

3.产生死锁的四个必要条件是:互斥、__________、循环等待和不剥夺。

A. 请求与阻塞 B.请求与保持

C. 请求与释放 D.释放与阻塞

4.发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏___________条件是不太实际的。

A. 互斥B.不可抢占

C.部分分配 D.循环等待

5.在分时操作系统中,进程调度经常采用

________________算法。

A. 先来先服务 B.最高优先权

C. 时间片轮转 D.随机

6.资源的按序分配策略可以破坏______________条件。

A. 互斥使用资源 B.占有且等待资源

C. 非抢夺资源

D. 循环等待资源

7.在_____________的情况下,系统出现死锁。

A. 计算机系统发生了重大故障

B.有多个封锁的进程同时存在

C. 若干进程因竞争资源而无休止地相互等待他方释放已占有的资源

D.资源数大大小于进程数或进程同时申请的资源数大大超过资源总数

8.银行家算法是一种________________算法。

A. 死锁解除 B.死锁避免

C. 死锁预防 D.死锁检测

9.当进程数大于资源数时,进程竞争资源___________会产生死锁。

A. 一定 B.不一定

10._________优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。

A. 先来先服务 B.静态

C. 动态

D. 短作业

12.以优先级为基础的进程调度算法可以保证在任何时候正在运行的进程总是非等待状态下诸进程中优先级最高的进程。上述描述是___________。

A.正确的 B.错误的

16.___________是作业存在的惟一标志。

A. 作业名B.进程控制块

C作业控制块D.程序名

17.作业调度算法的选择常考虑因素之一是使系统有最高的吞吐率,为此应____。

A. 不让处理机空闲

B. 能够处理尽可能多的作业

C. 使各类用户都满意 D.不使系统过于复杂21.在各种作业调度算法中,若所有作业同时到达,则平均等待时间最短的算法是 _________。

A. 先来先服务B.优先数

C.最高响应比优先D.短作业优先

22.既考虑作业等待时间,又考虑作业执行时间的调度算法是________。

A. 响应比高者优先B.短作业优先

C.优先级调度D.先来先服务

23.作业调度程序从处于_______状态的队列中选取适当的作业投入运行。

A. 运行 B.提交 C.完成 D.后备

24._____________是指从作业提交给系统到作业完成的时间间隔。

A.周转时间 B.响应时间

C. 等待时间 D.运行时间

26.假设下述四个作业同时到达,当使用最高优先数优先调度算法时,作业的平均周转时间为__________小时。

作业所需运行时间优先数

1 2 4

2 5 9

3 8 1

4 3 8

A.4.5 B.10.5 C.4.75 D.10.25

27.下述作业调度算法中,_________调度算法与作业的估计运行时间有关。

A. 先来先服务B.短作业优先

C. 均衡D.时间片轮转

答案: 1答:C 3答:B 4答:A 5答:C 6答:D 7答:C 8答:B

9答:B 10答:B 12 答:B 16答:C 17 答:B 21 答:D

22答:A 23答:D 24答:A 26答:D 27答:B

二、填空题

1.进程的调度方式有两种,一种是__①__,另一种是__②__。

2.死锁是指在系统中的多个__________无限期地等待永远不会发生的条件。

4.进程调度负责__________的分配工作。

5.在__________调度算法中,按照进程进入就绪队列的先后次序来分配处理机。

6.死锁产生的必要条件有四个,即__①__、__②__、__③__、__④__。

8.银行家算法中,当一个进程提出的资源请求将导致系统从__①__进入__②__时,系统就拒绝它的资源请求。

10.对待死锁,一般应考虑死锁的预防、避免、检测和解除四个问题。典型的银行家算法是属于__①__, 破坏环路等待条件是属于__②__

11.作业调度又称__①__其主要功能是__②__,并为作业做好运行前的准备工作和作业完成后的善后处

理工作。

21. 设有一组作业,它们的提交时间及运行时间如下:

作业号提交时间运行时间(分钟)

1 9:00 70

2 9:40 30

3 9:50 10

4 10:10 5

在单道方式下,采用短作业优先调度算法,作业的执行顺序是______。

答案: 1 答:①剥夺方式②非剥夺方式

2答:进程

4 答:处理机

5 答:先来先服务

6答:①互斥条件②不剥夺条件⑧部分分配④环路条件

8答:①安全状态②不安全状态

10 答:①死锁的避免②死锁的预防

11 答:①高级调度②按照某种原则从后备作业队列中选取作业

21答:1、4、3、2

三、综合题

1. 作业提交时间运行时间

1 8.00 2.50

2 8.20 1.20

3 8.30 0.30

4 9.00 0.50

用先来先服务和短作业优先调度算法进行调度,计算在每一种调度算法下的平均周转时间和平均带权周转时间。并说明哪一种算法的调度性能更好些。

3.单道批处理系统中,有四个作业如下所示,在采用响应比高者优先调度算法时,请给出作业调度的顺序,并分别计算其平均周转时间和平均带权周转时间。

作业 J1 J2 J3 J4

提交时间 8.0 8.6 8.8 9.0

运行时间 2.0 0.6 0.2 0.5

5.设系统中有3种类型的资源(A、B、C)和5个进程(P1、P2、P3、P4、P5) A资源的数量为17, B资源的数量为5, C

资源的数量为20,T0时刻的系统状态如表所示:

系统采用银行家算法实施死锁避免策略

(1)T0是否为安全状态,若是,请给出安全序列

(2)T0时刻若P2请求资源(0,3,4)能否分配?

(3)若此时P4请求资源(2,0,1)能否分配?为什么?

(4)在(3)的基础上P1请求资源(0,2,0)能否分配?为什么?

处理机调度与死锁练习题

第三章处理机调度与死锁 一、单项选择题 1.在为多道程序所提供的可共享的系统资源不足时,可能出现死锁。但是,不适当的________也可能产生死锁。 A. 进程优先权 B.资源的线性分配 C.进程推进顺序 D.分配队列优先权 3.产生死锁的四个必要条件是:互斥、__________、循环等待和不剥夺。 A. 请求与阻塞 B.请求与保持 C. 请求与释放 D.释放与阻塞 4.发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏___________条件是不太实际的。 A. 互斥 B.不可抢占 C.部分分配 D.循环等待 5.在分时操作系统中,进程调度经常采用 ________________算法。 A. 先来先服务 B.最高优先权 C. 时间片轮转 D.随机 条件。______________资源的按序分配策略可以破坏. 6.

A. 互斥使用资源 B.占有且等待资源 C. 非抢夺资源 D. 循环等待资源 7.在_____________的情况下,系统出现死锁。 A. 计算机系统发生了重大故障 B.有多个封锁的进程同时存在 C. 若干进程因竞争资源而无休止地相互等待他方释放已占有的资源 D.资源数大大小于进程数或进程同时申请的资源数大大超过资源总数 8.银行家算法是一种________________算法。 A. 死锁解除 B.死锁避免 C. 死锁预防 D.死锁检测 9.当进程数大于资源数时,进程竞争资源___________会产生死锁。 A. 一定 B.不一定 10._________优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。 A. 先来先服务 B.静态 C. 动态 D. 短作业

操作系统第3章练习题

第3章处理机调度与死锁 3.1 典型例题解析 【例1】(1)3个进程共享4个同种类型的资源,每个进程最大需要2个资源,请问系统是否会因为竞争该资源而死锁?(2)n个进程共享m个同类资源,若每个进程都需要用该类资源,而且各进程对该类资源的最大需求量之和小于m+n。说明该系统不会因竞争该类资源而阻塞。(3)在(2)中,如果没有“每个进程都需要用该类资源”的限制,情况又会如何?(西北工业大学2000年考题) 答:(1)该系统不会因为竞争该类资源而死锁。因为,必有一个进程可获得2个资源,故能顺利完成,并释放出其所占用的2个资源给其他进程使用,使它们也顺利完成。 (2)用Max(i)表示第i个进程的最大资源需求量,need(i)表示第i个进程还需要的资源量,alloc(i)表示第i个进程已分配的资源量。由题中所给条件可知: need(i)>0(对所有的i) max(1)+…max(i)+…+max(n)

上课用-处理机调度与死锁习题

第三章处理机调度与死锁 一.选择题 1.下列算法中,操作系统用于作业调度的算法是。 A.先来先服务算法B.先进先出算法 C.最先适应算法D.时间片轮转算法 2.在批处理系统中,周转时间是指。 A.作业运行时间B.作业等待时间和运行时间之和 C.作业的相对等待时间 D.作业被调度进入内存到运行完毕的时间 3.在作业调度中,排队等待时间最长的作业被优先调度,这是指调度算法。 A.先来先服务B.短作业优先 C.响应比高优先D.优先级 4.下列算法中,用于进程调度的算法是。 A.最先适应B.最高响应比优先 C.均衡资源调度D.优先数调度 5.两个进程争夺同一个资源。 A.一定死锁B.不一定死锁 C.只要互斥就不会死锁 D.以上说法都不对 6.下列各项中,不是进程调度时机的是。 A.现运行的进程正常结束或异常结束B.现运行的进程从运行态进入就绪态 C.现运行的进程从运行态进入等待态D.有一进程从等待态进入就绪态 7.进程调度算法有多种,不是进程调度算法。 A.先来先服务调度算法B.最短查找时间优先调度算法 C.静态优先数调度算法 D.时间片轮转调度算法 8.作业调度程序从状态的队列中选取适当的作业投入运行。 A.就绪B.提交C.等待D.后备 9.在实时操作系统中,经常采用调度算法来分配处理器。 A.先来先服务 B.时间片轮转 C.最高优先级 D.可抢占的优先级10.采用时间片轮转调度算法主要是为了。 A.多个终端都能得到系统的及时响应B.先来先服务 C.优先权高的进程及时得到调度D.需要CPU时间最短的进程先做 11.下面关于优先权大小的论述中,不正确的论述是。 A.计算型作业的优先权,应低于I/O型作业的优先权 B.系统进程的优先权应高于用户进程的优先权 C.资源要求多的作业,其优先权应高于资源要求少的作业 D.在动态优先权时,随着进程运行时间的增加,其优先权降低 12.产生死锁的原因是有关。 A.与多个进程竞争CPU B.与多个进程释放资源 C.仅由于并发进程的执行速度不当 D.除资源分配策略不当外,也与并发进程执行速度不当 13.有关产生死锁的叙述中,正确的是。 A.V操作可能引起死锁 B.P操作不会引起死锁 C.PV操作使用得当不会引起死锁D.以上说法均不正确

第三章 处理机调度与死锁习题课

第三章处理机调度与死锁 1、系统出现死锁是因为(若干进程因竞争资源而无休止的等待着其他进程释放已占有的资 源)。 2、某系统中有5个并发进程,都需要同类资源3个,试问该系统不会发生死锁的最少资源数是(11 )。 3、发生死锁现象的原因有____竞争资源_________和____进程推进顺序非法________。 通常不采用( 从非死锁进程处抢夺资源)方法来解除死锁。 4、某系统中有4个并发进程,都需要同类资源3个,试问该系统不会发生死锁的最少资源数是( 9 )。 5、死锁产生的4个必要条件是:互斥、不可剥夺、_____________请求和保持_________ 和环路等待条件。 6、作业在系统中存在与否的唯一标志是作业控制块 7、某计算机系统中有8台打印机,有K个进程竞争使用,每个进程最多需要3台打印机.该系统可能会发生死锁的K的最小值是( 4 ) 8、产生系统死锁的原因可能是由于(多个进程竞争资源出现了循环等待) 9、系统中有3个进程,每个进程需2台打印机,如果系统配有4台打印机,则系统______不可能________出现死锁的情况(本题要判断出现死锁的可能性:可能或不可能)。 10、什么是死锁?产生死锁的必要条件是什么?处理死锁的基本方法有哪些? 答:死锁是两个或两个以上进程由于竞争资源而处于的僵持状态,在这种僵持状态下若没有外力作用,所有进程都无法正常向前推进。( 必要条件:(1)互斥条件(2)请求和保持条件(3)不剥夺条件(4)环路等待条件处理方法:预防死锁、避免死锁、检测死锁、解除死锁。 11、死锁定理的含义是什么?试简化下图进程-资源图,并利用死锁定理给出相应的结论。 P1 R1 R2 P2 答:死锁定理:当且仅当资源分配图是不可完全简化的。 R1资源有3个,R2资源有2个;P1进程:占有2个R1,申请1个R2;P2进程占有1个R1,1个R2,申请1个R1;目前系统只有一个R2空闲;P1是一个既不孤立又不阻塞的进程,消去P1的边,有2个R1,1个R2空闲,能满足P2申请,使P2成为既不孤立又不阻塞的进程,所以消去P2的边,由死锁定理知,不会产生死锁。

第2章 调度与死锁自测题

4.4 调度与死锁自测题 4.4.1 基本题 一、判断题(正确的在括号中记√,错误的记×) 1.死锁就是循环等待。 ( ) 2.最适合分时系统的进程调度算法是优先数法。() 3.不存在只涉及一个进程的死锁。 ( ) 4. 在分时系统中当用户数一定时,影响响应时间的主要因素是调度算法。( ) 5.若系统中每一资源类只有一个,只要系统存在任何环路,系统状态就是不安全的。 ( ) 6.多级反馈调度算法属于抢占调度方式。() 7.死锁是多个进程为竞争系统资源或彼此间通信而引起的一种临时性的阻塞现象。 ( ) 8.在引入线程的系统中进程程调度负责CPU的分配工作。() 9.当进程数大于资源数时,进程竞争资源一定会产生死锁。() 10.实时调度的关键是保证满足实时任务对截止时间的要求。() 1. Χ 2. Χ 3.√ 4. Χ 5.√ 6. √ 7. Χ 8. Χ 9. Χ 10. √ 二、选择题 1.在三种基本类型的操作系统中,都设置了进程调度,在批处理系统中还应设置______调度。 A.作业 B.进程 C.中级 D.多处理机 2.下列算法中,_______只能采用非抢占调度方式。 A.高优先权优先法 B.时间片轮转法 C.FCFS调度算法 D.短作业优先算法 3.下面关于优先权大小的论述中,正确的论述是_____________。 A.计算型作业的优先权,应高于I/O型作业的优先权。 B.用户进程的优先权,应高于系统进程的优先权。 C.资源要求多的作业,其优先权应高于资源要求少的作业。 D.在动态优先权时,随着进程执行时间的增加,其优先权降低。 4.最适合分时系统的进程调度算法是______。 A、FCFS B、SSJF C、优先数法 D、轮转法 5.在分时系统中当用户数一定时,影响响应时间的主要因素是_____。 A、时间片 B、调度算法 C、存储分配方式 D、作业的大小 6.采用“按序分配”策略,可以破坏死锁产生的条件是______。 A、互斥 B、请求和保持 C、非剥夺 D、环路等待 7.下述解决死锁的方法中,属于死锁预防策略的是____________。 A.银行家算法 B.资源有序分配法 C.资源分配图化简法 D.撤消进程法 8.从下面关于安全状态和非安全状态的论述中,正确的论述是________。 A.安全状态是没有死锁的状态,非去全状态是有死锁的状态。 B.安全状态是可能有死锁的状态,非安全状态也是可能有死锁的状态。 C.安全状态是可能没有死锁的状态,非安全状态是有死锁的状态。 D.安全状态是没有死锁的状态,非安全状态是可能有死锁的状态。 9.关于产生死锁的现象,下面的描述最准确是__________。 A.每个进程共享某一个资源 B.每个进程竞争某一个资源 C.每个进程等待着某一个不能得到且不可释放的资源

实验一处理器调度实验报告

处理器调度一、实验内容 选择一个调度算法,实现处理器调度。 二、实验目的 在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。 当就绪状态进程 个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。本实验模拟在单处理器情况下处理器调度,帮助学生加深了解处理器调度的工作。 三、实验题目 设计一个按优先数调度算法实现处理器调度的程序 提示: (1)假定系统有五个进程,每一个进程用一个进程控制块PCB来代表。进 程控制块的格 式为: 其中,进程名----作为进程的标识,假设五个进程的进程名分别是R, P2, P3, P4,R。 指针—按优先数的大小把五个进程连成队列,用指针指出下一个进程的进程控制块

首地址,最后一个进程中的指针为“ 0”。 要求运行时间-- 假设进程需要运行的单位时间数。 优先数-赋予进程的优先数,调度时总是选取优先数大的进程先执行。 状态-可假设有两种状态,“就绪”状态和“结束“状态,五个进程的初 始状态都为 “就绪“状态,用“ R”表示,当一个进程运行结束后,它的状态变为“结束”, 用“ E”表示。 (2)在每次运行你所设计的处理器调度程序之前,为每个进程任意确定它的“优先数” 和“要求运行时间”。 (3)为了调度方便,把五个进程按给定的优先数从大到小连成队列,用一单元指出队首 进程,用指针指出队列的连接情况。例: 队首标志 (4)处理器调度总是选队首进程运行。采用动态改变优先数的办法,进程每运行一次优 先数就减“ 1”。由于本实验是模拟处理器调度,所以,对被选中的进程并不实际的 启动运行,而是执行: 优先数- 1 要求运行时间-1 来模拟进程的一次运行提醒注意的是:在实际的系统中,当一个进程被选中运

第三章处理机调度与死锁

考点一调度的基本概念和基本准则 一、单项选择题 1.假设就绪队列中有10个进程,系统将时间片设为200ms,CPU进行进程切换要花费10ms。则系统开销所占的比率约为()。 A.1% B.5% C.10% D.20% 2.下面关于进程的叙述不正确的是()。 A.进程申请CPU得不到满足时,其状态变为就绪状态 B.在单CUP系统中,任一时刻有一个进程处于运行状态 C.优先级是进行进程调度的重要证据,一旦确定不能改变 D.进程获得处理机而运行的是通过调度实现的 二、综合应用题 1.分析调度的三种形式:短期调度、中期调度和长期调度的差别。 2.引起进程调度的原因有哪些? 3.高级调度与低级调度的主要任务是什么?为什么要引入中级调度? 4.选择调度方式和调度算法时,应遵循的准则是什么? 5.下列问题应由哪一些调度程序负责? (1)发生时间片中断后,决定将处理机分给哪一个就绪进程? (2)在短期繁重负荷情况下,应将哪个进程挂起? (3)一个作业运行结束后,从后备作业队列中选具备能够装入内存的作业。 6.CPU调度算法决定了进程执行的顺序。若有n 个进程需要调度,有多少种可能的调度算法顺序? 7.有些系统如MS-DOS没有提供并发处理手段。引入并发处理会导致操作系统设计的复杂性。试分析引入并发处理后导致的操作系统设计的三个主要的复杂性。 8.说明抢占式调度与非抢占式调度的区别。为什么说计算中心不适合采用非抢占式调度? 考点二典型调度算法 一、单项选择题 1.以下哪一种说法对剥夺式系统来讲结论正确()。 A.若系统采用轮转法调度进程,则系统采用的是剥夺式调度。 B.若现行进程要等待某一事件时引起调度,则该系统是剥夺式调度。 C.实时系统通常采用剥夺式调度。 D.在剥夺式系统中,进程的周转时间较之非剥夺式系统可预见。 2.既考虑作业的等待时间又考虑作业的执行时间的调度算法是()。 A.相应比高者优先 B.端作业优先 C.优先级调度 D.先来先服务 3.关于作业优先权大小的论述中,正确的论述是()。 A.计算型作业的优先级,应高于I/O型作业的优先权。 B.用户进程的优先权,应高于系统进程的优先权。 C.长作业的优先权,应高于短作业的优先权。 D.资源要求多的作业,其优先权应高于资源要求少的作业。 E.在动态优先权中,随着作业等待时间的增加,其优先权将随之下降。 F.在动态优先权中,随着进程执行时间的增加,其优先权降低。 二、综合应用题 1.设有一组进程,它们需要占用CPU的时间及优先级如下所示:

操作系统:进程调度实验报告

设计性实验报告 一、实验目的 1.在Linux下用C语言编程模拟优先级进程调度算法和时间片轮转进程调度算法。 2.为了清楚地观察每个进程的调度过程,每次调度程序应将各个进程的情况显示出来。 二、总体设计(设计原理、设计方案及流程等) 1、优先级进程调度算法 采用动态优先级进程调度算法,其基本思想是每次调度总是把处理机分配给优先级最高的进程,同时在运行过程中进程的优先级随着执行或等待的时间而降低或增加。 在该实验中每个进程用一个进程控制块( PCB)表示。进程控制块包含如下信息:进程号,进程名、优先数、需要运行时间、已用CPU时间、进程状态。进程号,名字,优先数,运行的时间,事先人为地指定。每个进程的状态可以是就绪,执行,阻塞或完成4种状态之一。 就绪进程获得 CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。就绪队列中的进程在等待一个时间片后,优先级增1。如果运行一个时间片后,进程的已占用 CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时将进程的优先级减1,然后把它插入就绪队列等待CPU。 2、时间片轮转调度算法 采用简单时间片轮转调度算法,其基本思想是:所有就绪进程按 FCFS排成一个队列,总是把处理机分配给队首的进程,各进程占用CPU的时间片相同。如果运行进程用完它的时间片后还未完成,就把它送回到就绪队列的末尾,把处理机重新分配给队首的进程。直至所有的进程运行完毕。 三、实验步骤(包括主要步骤、代码分析等) 1.打开linux虚拟机,用vim编辑器打开代码进行修改和调整。用gcc编译器进行编译编译运行首先运行优先级算法,如图所示:

第3章死锁习题及答案

第三章死锁习题 一、填空题 1.进程的“同步”和“互斥”反映了进程间①和②的关系。 【答案】①直接制约、②间接制约 【解析】进程的同步是指在异步环境下的并发进程因直接制约而互相发送消息,进行相互合作、相互等待,使得各进程按一定的速度执行的过程;而进程的互斥是由并发进程同时共享公有资源而造成的对并发进程执行速度的间接制约。 2.死锁产生的原因是①和②。 【答案】①系统资源不足、②进程推进路径非法 【解析】死锁产生的根本原因是系统的资源不足而引发了并发进程之间的资源竞争。由于资源总是有限的,我们不可能为所有要求资源的进程无限地提供资源。而另一个原因是操作系统应用的动态分配系统各种资源的策略不当,造成并发进程联合推进的路径进入进程相互封锁的危险区。所以,采用适当的资源分配算法,来达到消除死锁的目的是操作系统主要研究的课题之一。 3.产生死锁的四个必要条件是①、②、③、④。 【答案】①互斥条件、②非抢占条件、③占有且等待资源条件、④循环等待条件 【解析】 互斥条件:进程对它所需的资源进行排它性控制,即在一段时间内,某资源为一进程所独占。 非抢占条件:进程所获得的资源在未使用完毕之前,不能被其它进程强行夺走,即只能由获得资源的进程自己释放。 占有且等待资源条件:进程每次申请它所需的一部分资源,在等待新资源的同时,继续占有已分配到的资源, 循环等待条件:存在一进程循环链,链中每一个进程已获得的资源同时被下一个进程所请求。 4.在操作系统中,信号量是表示①的物理实体,它是一个与②有关的整型变量,其值仅能由③原语来改变。 【答案】①资源,②队列,③P-V 【解析】信号量的概念和P-V原语是荷兰科学家E.W.Dijkstra提出来的。信号量是一个特殊的整型量,它与一个初始状态为空的队列相联系。信号量代表了资源的实体,操作系统利用它的状态对并发进程共享资源进行管理。信号量的值只能由P-V原语来改变。 5.每执行一次P原语,信号量的数值S减1。如果S>=0,该进程①;若S<0,则②该进程,并把它插入该③对应的④队列中。 【答案】①继续执行,②阻塞(等待),③信号量,④阻塞(等待) 【解析】从物理概念上讲,S>0时的数值表示某类资源可用的数量。执行一次P原语,意味着请求分配一个单位的资源,因此描述为S=S-1。当S<0时,表示已无资源,这时请求资源的进程将被阻塞,把它排在信号量S的等待队列中。此时,S的绝对值等于信号量队列上的阻塞的进程数目。 6.每执行一次V原语,信号量的数值S加1。如果①,Q进程继续执行;如果S<=0,则从对应的②队列中移出一个进程R,该进程状态变为③。 【答案】①S>0,②等待,③就绪 【解析】执行一次V原语,意味着释放一个单位的资源。因此,描述为S=S+1。当S<0时,表示信号量请求队列中仍然有因请求该资源而被阻塞的进程。因此,应将信号量对应的阻塞队列中的第一个进程唤醒,使之转至就绪队列。 7.利用信号量实现进程的①,应为临界区设置一个信号量mutex。其初值为②,表示该资源尚未使用,临界区应置于③和④原语之间。

第三章习题(处理机调度与死锁)

一、单项选择题 1.在为多道程序所提供的可共享的系统资源不足时,可能出现死锁。但是,不适当的 c 也可能产生死锁。 A.进程优先权 B.资源的线性分配 C.进程推进顺序 D. 分配队列优先权 2.采用资源剥夺法可解除死锁,还可以采用 b 方法解除死锁。 A.执行并行操作 B.撤消进程 C.拒绝分配新资源 D.修改信号量 3.产生死锁的四个必要条件是:互斥、 b 、循环等待和不剥夺。 A. 请求与阻塞 B.请求与保持 C. 请求与释放 D.释放与阻塞 4.发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏 a 条件是不太实际的。 A. 互斥 B.不可抢占 C. 部分分配 D.循环等待 5.在分时操作系统中,进程调度经常采用 c 算法。 A.先来先服务 B.最高优先权 C.时间片轮转 D.随机 6.资源的按序分配策略可以破坏 D 条件。 A. 互斥使用资源 B.占有且等待资源 C.非抢夺资源 D. 循环等待资源 7.在 C 的情况下,系统出现死锁。 A. 计算机系统发生了重大故障 B.有多个封锁的进程同时存在 C.若干进程因竞争资源而无休止地相互等待他方释放已占有的资源 D.资源数大大小于进程数或进程同时申请的资源数大大超过资源总数 8.银行家算法是一种 B 算法。 A.死锁解除 B.死锁避免 C.死锁预防 D. 死锁检测 9.当进程数大于资源数时,进程竞争资源 B 会产生死锁。 A.一定 B.不一定 10. B 优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。 A.先来先服务 B.静态 C.动态 D.短作业 11. 某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是 B A.9 B.10 C.11 D.12 答:B 13.当检测出发生死锁时,可以通过撤消一个进程解除死锁。上述描述是 B 。 A. 正确的 B.错误的 14.在下列解决死锁的方法中,属于死锁预防策略的是 B 。 A. 银行家算法 B. 资源有序分配法 C.死锁检测法 D.资源分配图化简法 15.以下叙述中正确的是 B 。 A. 调度原语主要是按照一定的算法,从阻塞队列中选择一个进程,将处理机分配 给它。 B.预防死锁的发生可以通过破坏产生死锁的四个必要条件之一来实现,但破坏互斥条件的可能性不大。 C.进程进入临界区时要执行开锁原语。 D.既考虑作业等待时间,又考虑作业执行时间的调度算法是先来先服务算法。

作业调度实验报告

作业调度实验报告 Document number:NOCG-YUNOO-BUYTT-UU986-1986UT

实验二作业调度 一.实验题目 1、编写并调试一个单道处理系统的作业等待模拟程序。 作业调度算法:分别采用先来先服务(FCFS),最短作业优先(SJF)、响应比高者优先(HRN)的调度算法。 (1)先来先服务算法:按照作业提交给系统的先后顺序来挑选作业,先提交的先被挑选。 (2)最短作业优先算法:是以进入系统的作业所提出的“执行时间”为标准,总是优先选取执行时间最短的作业。 (3)响应比高者优先算法:是在每次调度前都要计算所有被选作业(在后备队列中)的响应比,然后选择响应比最高的作业执行。 2、编写并调度一个多道程序系统的作业调度模拟程序。 作业调度算法:采用基于先来先服务的调度算法。可以参考课本中的方法进行设计。 对于多道程序系统,要假定系统中具有的各种资源及数量、调度作业时必须考虑到每个作业的资源要求。 二.实验目的: 本实验要求用高级语言(C语言实验环境)编写和调试一个或多个作业调度的模拟程序,了解作业调度在操作系统中的作用,以加深对作业调度算法的理解三 .实验过程 <一>单道处理系统作业调度 1)单道处理程序作业调度实验的源程序: 执行程序: 2)实验分析:

1、由于在单道批处理系统中,作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所占用的 CPU 时限等因素。 2、每个作业由一个作业控制块JCB 表示,JCB 可以包含如下信息:作业名、提交时间、所需的运行时间、所需的资源、作业状态、链指针等等。作业的状态可以是等待W(Wait)、运行R(Run)和完成F(Finish)三种状态之一。每个作业的最初状态总是等待W 。 3、对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间。 3)流程图: 二.最短作业优先算法 三.高响应比算法 图一.先来先服务流程图 4)源程序: #include <> #include <> #include <> #define getpch(type) (type*)malloc(sizeof(type)) #define NULL 0 int n; float T1=0,T2=0; int times=0; struct jcb .\n",p->name); free(p); .wait...",time); if(times>1000) 代替 代替

处理机调度与死锁作业题

第三章处理机调度与死锁作业 一、判断题 1、先来先服务(FCFS)算法是一种简单的调度算法,但其效率比较高。(错) 2、FCFS调度算法对短作业有利。(错) 3、时间片的大小对轮转法(RR)的性能有很大的影响,时间片太短,会导致系统开销大大增加。(对) 二、选择题 1、在进行作业调度时,要想兼顾作业等待时间和作业执行时间,应选取(C)。 A.轮转法 B.先进先出调度算法 C.响应比高优先算法 D.短作业优先调度 2、若系统中有五台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许(D)个进程参于竞争,而不会发生死锁。 A、5 B、2 C、3 D、4 解析:由于系统资源总共只有5台,若有5个进程参与竞争,每个进程在拥有一台打印机后,由于都需要两台打印机,所有进程都不能向前推进,假设又都不愿意放弃已申请到的打印机,系统便进入死锁状态,若有4个进程参与竞争,每个进程拥有一台打印机后,任意一个进程在获得剩余的一台打印机后就可以运行,在该进程运行完后,释放拥有的两台打印机,其他3个进程就可以顺利推进,完成各自任务。 3、在进程资源图中( C )是发生死锁的必要条件。 A.互斥 B.可剥夺件 C.环路 D.同步 三、填空题 1、在响应比最高者优先的作业调度算法中,当各个作业等待时间相同时,计算时间短的作业将得到优先调度;当各个作业要求运行的时间相同时,等待时间长的作业得到优先调度。 2、分时系统采用的调度方法是时间片轮转调度算法。在分时系统中,当用户数目为100时,为保证响应时间不超过2秒,此时时间片最大应为20ms。 3、有三个同时到达的作业J1,J2和J3,它们的执行时间分别是T1,T2和T3,且T1

处理机调度与死锁习题课

第三章 处理机调度与死锁 1、系统出现死锁是因为 (若干进程因竞争资源而无休止的等待着其他进程释放已占有的资源)。 2、某系统中有5个并发进程,都需要同类资源3个,试问该系统不会发生死锁的最少资源数是( 11 )。 3、发生死锁现象的原因有____竞争资源_________和____进程推进顺序非法________。 通常不采用( 从非死锁进程处抢夺资源 )方法来解除死锁。 4、某系统中有4个并发进程,都需要同类资源3个,试问该系统不会发生死锁的最少资源数是( 9 )。 5、死锁产生的4个必要条件是: 互斥 、 不可剥夺 、_____________请求和保持_________ 和环路等待条件。 6、作业在系统中存在与否的唯一标志是作业控制块 7、某计算机系统中有8台打印机,有K 个进程竞争使用,每个进程最多需要3台打印机.该系统可能会发生死锁的K 的最小值是( 4 ) 8、产生系统死锁的原因可能是由于 (多个进程竞争资源出现了循环等待) 9、系统中有3个进程,每个进程需2台打印机,如果系统配有4台打印机,则系统______不可能________出现死锁的情况(本题要判断出现死锁的可能性:可能或不可能)。 10、什么是死锁产生死锁的必要条件是什么处理死锁的基本方法有哪些 答:死锁是两个或两个以上进程由于竞争资源而处于的僵持状态,在这种僵持状态下若没有外力作用,所有进程都无法正常向前推进。( 必要条件:(1)互斥条件(2)请求和保持条件(3)不剥夺条件(4)环路等待条件 处理方法:预防死锁、避免死锁、检测死锁、解除死锁。 11、死锁定理的含义是什么试简化下图进程-资源图,并利用死锁定理给出相应的结论。 答:死锁定理:当且仅当资源分配图是不可完全简化的。 R1资源有3个,R2资源有2个;P1进程:占有2个R1,申请1个R2;P2进程占有1个R1,1个R2,申请1个R1;目前系统只有一个R2空闲;P1是一个既不孤立又不阻塞的进程,消去P1的边,有2个R1,1个R2空闲,能满足P2申请,使P2成为既不孤立又不阻塞的进程,所以消去P2的边,由死锁定理知,不会产生死锁。 R1 R2

计算机操作系统进程调度实验报告材料

操作系统实验题:设计一若干并发进程的进程调度程序 一、实验目的 无论是批处理系统、分时系统还是实时系统,用户进程数一般都大于处理机数,这将导致用户进程互相争夺处理机。这就要求进程调度程序按一定的策略,动态地把处理及分配给处于就绪队列中的某一进程,以使之执行。进程调度是处理机管理的核心内容。本实验要求采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算法编写和调试一个简单的进程调度程序。通过本实验可以加深理解有关进程控制块、进程队列的概念。并体会了优先数和先来先服务调度算法的具体实施办法。 二、实验要求 用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解. 三、实验内容 进程调度算法:采用最高优先数优先的调度算法(即把处理机分配给优先数最高的进程)和先来先服务算法(将用户作业和就绪进程按提交顺序或变为就绪状态的先后排成队列,并按照先来先服务的方式进行调度处理)。 每个进程有一个进程控制块(PCB)表示。进程控制块可以包含如下信息:进程名、优先数、到达时间、需要运行时间、已用CPU时间、进程状态等等。 进程的优先数及需要的运行时间可以事先人为地指定(也可以由随机数产生)。进程的到达时间为进程输入的时间。 进程的运行时间以时间片为单位进行计算。

每个进程的状态可以是就绪W(Wait)、运行R(Run)、或完成F(Finish)三种状态之一。 就绪进程获得CPU后都只能运行一个时间片。用已占用CPU时间加1来表示。 如果运行一个时间片后,进程的已占用CPU时间已达到所需要的运行时间,则撤消该进程,如果运行一个时间片后进程的已占用CPU时间还未达所需要的运行时间,也就是进程还需要继续运行,此时应将进程的优先数减1(即降低一级),然后把它插入就绪队列等待CPU。 每进行一次调度程序都打印一次运行进程、就绪队列、以及各个进程的PCB,以便进行检查。重复以上过程,直到所要进程都完成为止。 四、实验算法流程 调度算法的流程图如下:

进程调度与死锁部分练习题

第三章进程调度与死锁练习题 (一)单项选择题 1.为了根据进程的紧迫性做进程调度,应采用(B )。 A.先来先服务调度算法 B. 优先数调度算法 C.时间片轮转调度法 D.分级调度算法 2.采用时间片轮转法调度是为了( A)。 A.多个终端都能得到系统的及时响应 B.先来先服务 C. 优先数高的进程先使用处理器 D.紧急事件优先处理 3.采用优先数调度算法时,对那些具有相同优先数的进程再按( A )的次序分配处理器。 A 先来先服务 B. 时间片轮转 C. 运行时间长短 D.使用外围设备多少 4. 当一进程运行时,系统强行将其撤下,让另一个更高优先数的进程占用处理器,这种调度方式是( B )。 A. 非抢占方式 B.抢占方式 C. 中断方式 D.查询方式 5.( B)必定会引起进程切换。 A.一个进程被创建后进入就绪态 B.一个进程从运行态变成阻塞态 C.一个进程从阻塞态变成就绪态 6.( B)只考虑用户估计的计算机时间,可能使计算时间长的作业等待太久。 A.先来先服务算法 B.计算时间短的作业优先算法 C.响应比最高者优先算法 D.优先数算法 7.先来先服务算法以( A )去选作业,可能会使计算时间短的作业等待时间过长。A.进入的先后次序 B.计算时间的长短 C.响应比的高低 D.优先数的大小8.可以证明,采用( C )能使平均等待时间最小。 A.优先数调度算法 B.均衡调度算法 C.计算时间短的作业优先算法 D.响应比最高者优先算法

9.在进行作业调度时.要想兼顾作业等待时间和计算时间,应选取(D )。 A均衡调度算法 B.优先数调度算法 C.先来先服务算法 D.响应比最高者优先算法 10.作业调度算法提到的响应比是指( B )。 A.作业计算时间与等待时间之比 B.作业等待时间与计算时间之比 C.系统调度时间与作业等待时间之比 D.作业等待时间与系统调度时间之比 11.作业调度选择一个作业装入主存后,该作业能否占用处理器必须由( D )来决定。 A.设备管理 B.作业控制 C.驱动调度 D.进程调度 12.系统出现死锁的根本原因是( D )。 A.作业调度不当 B.系统中进程太多 C.资源的独占性 D.资源竞争和进程推进顺序都不得当 13.死锁的防止是根据( C )采取措施实现的。 A.配置足够的系统资源 B.使进程的推进顺序合理 C.破坏产生死锁的四个必要条件之一 D.防止系统进入不安全状态 14.采用按序分配资源的策略可以防止死锁.这是利用了使( B)条件不成立。 A.互斥使用资源 B.循环等待资源 C.不可抢夺资源 D.占有并等待资源 15.可抢夺的资源分配策略可预防死锁,但它只适用于(D )。 A.打印机 B.磁带机 C.绘图仪 D.主存空间和处理器 16.进程调度算法中的( A )属于抢夺式的分配处理器的策略。 A.时间片轮转算法 B.非抢占式优先数算法 C.先来先服务算法 D.分级调度算法 17.用银行家算法避免死锁时,检测到(C )时才分配资源。 A.进程首次申请资源时对资源的最大需求量超过系统现存的资源量 B.进程己占用的资源数与本次申请资源数之和超过对资源的最大需求量

计算机操作系统-处理机调度实验报告

中南大学 实验名称:处理机调度 课程名称:计算机操作系统 学生姓名盛希玲 学号 05 学院信息科学与工程学院 专业班级电子信息工程0602 完成时间 2008年10月12日

目录 一实验内容........................... 错误!未定义书签。二实验目的........................... 错误!未定义书签。三实验题目........................... 错误!未定义书签。四基本思想........................... 错误!未定义书签。五算法分析........................... 错误!未定义书签。六流程图............................. 错误!未定义书签。七算法描述........................... 错误!未定义书签。八运行输出结果....................... 错误!未定义书签。

一实验内容 选择一个调度算法,实现处理机调度。 二实验目的 多道系统中,当就绪进程数大于处理机数时,须按照某种策略决定哪些进程优先占用处理机。本实验模拟实现处理机调度,以加深了解处理机调度的工作。 三实验题目 设计一个按优先权调度和时间片轮转算法实现处理机调度的程序。 四基本思想 先选择时间片的个数和每个时间片需要的时间,正在运行的进程每运行一秒其优先权数目加一,即其优先权减小。每个时间片运行结束后,选择进入时间片进程优先权数目最小的进程,开始下一个时间片的运行。如果有进程运行结束,则离开,再在就绪队列中选择优先权数目最小的进程进入。在运行期间,如果有新的进程来到,按优先权大小放入就绪队列中。 五算法分析 定义一个结构体,此包含了PCB的信息: struct PCB { char PID[5]; /*进程名*/ int needtime; /*要求运行的时间*/ int cputime; /*已运行时间*/ int priority; /*优先权(越小越高)*/ int starttime; /*进入就绪队列的时间*/ int overtime; /*运行完成的时间*/ int state; /*状态:1就绪2运行3完成*/ struct PCB *next; }; 子函数struct PCB *create(int num,int n)用来建立一个按优先级大小排列的就绪进程链表和一个按时间先后循序排列的将进入就绪进程的链表。

第三章 处理机调度与死锁教案

第三章处理机调度与死锁 本章主要讲述操作系统中的调度以及死锁的概念,具体包括处理机调度的概念、进程调度算法、实时调度、多处理机调度以及死锁的概念和处理方法等内容。 3.1 处理机调度的层次 3.1.1 高级调度(High Scheduling) 1.作业和作业步 2.作业控制块JCB 3.作业调度 在每次执行作业调度时,都须做出以下两个决定。 1) 接纳多少个作业 2) 接纳哪些作业 3.1.2. 低级调度(Low Level Scheduling) 1. 低级调度的功能 ⑴保存处理机的现场信息。 ⑵按某种算法选取进程。 ⑶把处理器分配给进程。 2. 进程调度中的三个基本机制 ⑴排队器。 ⑵分派器(分派程序)。 ⑶上下文切换机制。 3. 进程调度方式 1) 非抢占方式(Non-preemptive Mode) 在采用非抢占调度方式时,可能引起进程调度的因素可归结为这样几个:①正在执行的进程执行完毕,或因发生某事件而不能再继续执行;②执行中的进程因提出I/O请求而暂停执行;③在进程通信或同步过程中执行了某种原语操作,如P操作(wait操作)、Block 原语、Wakeup原语等。这种调度方式的优点是实现简单、系统开销小,适用于大多数的批处理系统环境。但它难以满足紧急任务的要求——立即执行,因而可能造成难以预料的后果。显然,在要求比较严格的实时系统中,不宜采用这种调度方式。 2) 抢占方式(Preemptive Mode) 抢占的原则有: (1)优先权原则。 (2) 短作业(进程)优先原则。 (3) 时间片原则。 3.1.3. 中级调度(Intermediate-Level Scheduling) 中级调度又称中程调度(Medium-Term Scheduling)。引入中级调度的主要目的,是为了提高内存利用率和系统吞吐量。为此,应使那些暂时不能运行的进程不再占用宝贵的内存资源,而将它们调至外存上去等待,把此时的进程状态称为就绪驻外存状态或挂起状态。当这些进程重又具备运行条件、且内存又稍有空闲时,由中级调度来决定把外存上的哪些又具备运行条件的就绪进程,重新调入内存,并修改其状态为就绪状态,挂在就绪队列上等待进程调度。 3.2 调度队列模型和调度准则 3.2.1 调度队列模型

作业调度实验报告

实验二作业调度 一.实验题目 1、编写并调试一个单道处理系统的作业等待模拟程序。 作业调度算法:分别采用先来先服务(FCFS),最短作业优先(SJF)、响应比高者优先(HRN)的调度算法。 (1)先来先服务算法:按照作业提交给系统的先后顺序来挑选作业,先提交的先被挑选。 (2)最短作业优先算法:是以进入系统的作业所提出的“执行时间”为标准,总是优先选取执行时间最短的作业。 (3)响应比高者优先算法:是在每次调度前都要计算所有被选作业(在后备队列中)的响应比,然后选择响应比最高的作业执行。 2、编写并调度一个多道程序系统的作业调度模拟程序。 作业调度算法:采用基于先来先服务的调度算法。可以参考课本中的方法进行设计。 对于多道程序系统,要假定系统中具有的各种资源及数量、调度作业时必须考虑到每个作业的资源要求。 二.实验目的: 本实验要求用高级语言(C语言实验环境)编写和调试一个或多个作业调度的模拟程序,了解作业调度在操作系统中的作用,以加深对作业调度算法的理解 三 .实验过程 <一>单道处理系统作业调度 1)单道处理程序作业调度实验的源程序: 执行程序: 2)实验分析:

1、由于在单道批处理系统中,作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所占用的 CPU 时限等因素。 2、每个作业由一个作业控制块JCB 表示,JCB 可以包含如下信息:作业名、提交时间、所需的运行时间、所需的资源、作业状态、链指针等等。作业的状态可以是等待W(Wait)、运行R(Run)和完成F(Finish)三种状态之一。每个作业的最初状态总是等待W 。 3、对每种调度算法都要求打印每个作业开始运行时刻、完成时刻、周转时间、带权周转时间,以及这组作业的平均周转时间及带权平均周转时间。 3)流程图: 二.最短作业优先算法 三.高响应比算法 图一.先来先服务流程图 4)源程序: #include <> #include <> #include <> #define getpch(type) (type*)malloc(sizeof(type)) #define NULL 0 int n; 代替 代替

操作系统第3章练习题

第3章处理机调度与死锁 典型例题解析 【例1】(1)3个进程共享4个同种类型的资源,每个进程最大需要2个资源,请问系统是否会因为竞争该资源而死锁?(2)n个进程共享m个同类资源,若每个进程都需要用该类资源,而且各进程对该类资源的最大需求量之和小于m+n。说明该系统不会因竞争该类资源而阻塞。(3)在(2)中,如果没有“每个进程都需要用该类资源”的限制,情况又会如何?(西北工业大学2000年考题) 答:(1)该系统不会因为竞争该类资源而死锁。因为,必有一个进程可获得2个资源,故能顺利完成,并释放出其所占用的2个资源给其他进程使用,使它们也顺利完成。 (2)用Max(i)表示第i个进程的最大资源需求量,need(i)表示第i个进程还需要的资源量,alloc(i)表示第i个进程已分配的资源量。由题中所给条件可知: need(i)>0(对所有的i) max(1)+…max(i)+…+max(n)

相关文档
相关文档 最新文档