您的位置:首页 > 理论基础

2014年广东松田学院专插本《计算机操作系统》第三章考试纲领答案

2014-01-08 18:08 225 查看

处理机调度的层次

1. 了解高级、低级和中级调度的含义及区别

i. 高级调度:(作业调动或长程调度)用于决定把外存后备队列中的哪些作业调入内存,为它们分配必要的资源

ii. 低级调度:(进程调度或短程调度)用来决定就绪队列中哪个进程应先获得处理机,并将处理机分配给选中的进程

iii. 中度调度:(中程调度)按一定的算法将外存中已具备运行条件的进程换入内存,而将外存中处于阻塞状态的某些进程换出至外存

调度队列模型和调度准则

1. 掌握调度算法的若干准则

i. 面向用户

1. 周转时间短:是评价批处理系统的性能、选择作业调度方式与算法的重要准则之一

2. 响应时间快:是评价分时系统的性能,这是选择分时系统中进程调度算法的重要准则之一

3. 截止时间的保证:评价实时系统性能的重要指标,是选择实时调度算法的重要准则

4. 优先权准则:遵循优先权准则,以便让某些紧急的作业得到及时处理

ii. 面向系统

1. 系统的吞吐量:用于评价批处理系统性能的另一个重要指标,是选择批处理作业调度的重要准则

2. 处理机利用率好:处理机的利用率是衡量系统性能的重要指标

3. 各类资源的平衡利用

调度算法

1. 掌握先来先服务、短作业(进程)优先和响应比高优先调度算法

i. 先来先服务算法:将选择最先进入就绪队列的进程投入执行。特点是简单,易于实现,但不利于短作业和I/O型作业的运行

ii. 短作业(进程)优先算法:选择就绪队列中估计运行时间最短的进程投入执行,它是非抢占方式,也可以采用抢占方式,能有效的缩短作业的平均周转时间,提高系统的吞吐量,但是不利于长作业和紧迫作业的运行

iii. 响应比高优先调度算法:是一种动态优先权调度算法,它以抢应比作为进程的动态优先权。目的是既照顾短作业,又考虑到作业的等待时间,是长时间作业不会长期等待,会额外增加系统的开销

2. 理解时间片轮转调度算法

i. 系统将所有的就绪进程按FIFO规则排成一个队列,将CPU分配给队首进程,且规定它最多只能执行一个时间片,若时间片用完时进程仍未完成,也必须将其插入就绪队列未尾,并把CPU交给下一个进程,特点是简单易行,平均响应时间短,但不利于处理进程紧急作业

实时调度

1. 掌握实时调度算法的几分类

i. 非抢占式调度算法

1. 非抢占式轮转调度算法:由一台计算机控制若干个相同的对象,为每个被控对象建立一个实时任务,并将它们排成一个轮转队列

2. 非抢占式优先调度算法:可采用非抢占优先调度算法为这些任务赋予较高的优先级

ii. 抢占式调度算法

1. 基于时钟中断的抢占式优先权调度算法

2. 立即抢占的优先权调度算法

2. 了解最早截至时间优先算法和最低松驰优先算法

i. 最早截至时间优先算法:根据任务的开始截至时间来确定任务的优先级,既任务的开始截至时间越早,其优先级越高

ii. 最低松驰度优先算法:根据实时任务的松驰度(松驰度=任务必须完成时间-任务本身的运行时间)来确定任务的优先权,既任务的松驰度越低,其优先权越高

产生死锁的原因和必要条件

1. 掌握死锁的基本概念

i. 死锁,是指多个进程在运行过程中因争夺资源而造成的一种僵局,若无外力作用,这些进程将无法再向前推进

2. 掌握产生死锁的原因及必要条件

i. 原因

1. 竞争资源:当系统中供多个进程共享的资源不足时,引起进程对资源的竞争而产生死锁

2. 进程推进顺序非法:进程在运行过程中具有异步性特征,如果它们之间的顺序不当,也同样会导致进程产生死锁

ii. 必要条件

1. 互斥条件:进程所竞争的资源必须被互斥使用

2. 请求与保持条件:当前已拥有资源的进程,仍然能够申请新的资源

3. 不剥夺条件:进程已获得的资源,只能在使用完时自行释放,而不能被抢占

4. 环路等待条件:存在一个或多个进程的循环等待链,链中的每个进程都正在等待下一个进程所占有的资源

3. 掌握处理死锁的基本方法

i. 预防死锁:通过破坏产生死锁的某个必要条件来防止死锁的发生

ii. 避免死锁:在资源的动态分配过程中,用某种方法去防止系统进入不安全状态,从而避免发生死锁

iii. 检测死锁:通过系统所设置的检测机构,及时地检测出死锁的发生,并精确地确定与死锁有关的进程和资源,然后,采取适当措施,从系统中将已发生死锁的进程清除

iv. 解除死锁:当检测到系统中已经发生死锁时,必须将进程从死锁状态中解脱出来。采用的方法有撤销或挂起

预防死锁的方法

1. 掌握预防死锁的方法

1. 放弃“请求与保持”条件:可规定所有进程都必须一次申请其在运行过程中所需的全部资源

2. 放弃“不剥夺”条件:可规定一个已经保持了某些资源的进程,在提出新的资源请求而不能立刻等到满足时,必须释放它已获得的所有资源

3. 放弃“环路等待”条件:可将系统中的资源按类型赋予不同的序号,并规定所有的进程必须严格按照资源序号递增的顺序申请资源

2. 掌握安全状态的含义

i. 安全状态的含义,是指系统能按某种进程顺序,来为每个进程分配其所需要资源,直至满足每个进程对资源的最大需求,使每个进程都可以顺利地完成

3. 掌握银行家算法的分析与执行的流程

i. 数据结构

1. Available
:里面的每个元素代表一类可以利用的资源数目

2. Max[i,n]:代表进程i需要最大的n类资源数目

3. Allocation[i,n]:代表i进程已经拥有n类资源的数目

4. Need[i,n]:代表i进程还需要n类资源的数目

5. 他们的关系:Need[i,j]=Max[i,n] - Allocation[i,n];

ii. 算法描述(Request-i[j]=K 表示进程i向系统申请j类资源K个数目)

1. IF Request-i[j] <= Need[i,j] then 到2 else 出错(所需资源数超过宣布的最大资源数)

2. IF Request-i[j] <= Available[j] then 到3 else 出错(尚无足够的资源,进程i需等待)

3. 系统刺探分配资源:Available[j] := Available[j] - Request-i[j];

Allocation[i,j] := Allocation[i,j] + Request-i[j];

Need[i,j] := Need[i,j] - Request-i[j];

4. 系统执行安全性算法检测,IF 系统安全 then 给进程i分配资源 else 分配资源无效,恢复原来的资源分配状况

死锁的检测与解除

1. 了解死锁的检测和解除的方法

i. 死锁的检测:包括资源分配图,死锁定理

ii. 死锁的解除:包括剥夺资源、撤销进程或对死锁视而不见的鸵鸟算法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: