操作系统第三章复习

调度算法

死锁的定义,必要条件与处理方法

银行家算法4-8

知识

  1. 处理机调度的层次:高级调度(作业调度,某种规则,外存---》内存),低级调度(进程调度,内存---》CPU,运行频率最高),中级调度(内存调度,外存---》内存
  2. 进程调度任务:保存CPU现场信息(保存PCB),按某种算法选取进程,把CPU分配给进程
  3. 进程调度机制:排队器,分派器,上下文切换器
  4. 进程调度的方式:非抢占调度方式,抢占调度方式(优先级原则,短进程优先原则,时间片原则(时间片用完,去排序)
  5. 处理机调度算法的共同目标:资源利用率(CPU利用率=CPU有效工作时间/(CPU有效工作时间+CPU空闲时间)),公平性,平衡性,策略强制执行
  6. 批处理系统中处理机调度算法的目标:平均周转时间短(从作业提交到完成),系统吞吐量高(单位时间内完成的作业数),处理机利用率
  7. 分时系统中处理机调度算法的目标:保证响应时间快,保证均衡性
  8. 实时系统中处理机调度算法的目标:保证满足截止时间的要求 ,保证可预测性
  9. 算法式:等待时间=进程完成时间-CPU运行时间,带权周转时间=周转时间/CPU服务时间

调度算法

  1. 调度算法:先来先服务调度算法(FCFS),短作业优先调度算法(SJF),优先级调度算法(PR),轮转调度算法(RR
  2. 先来先服务调度算法(FCFS ,作业,进程):有利于长作业进程,不利于短进程。
  3. 短作业优先调度算法(SJF,作业,进程):它给出了最短的平均等待时间,进程模式(抢占式,非抢占式),缺点:必须预先知道作业的运行时间,对长作业不利,未考虑作业的紧张度
  4. 优先级调度算法(PR,作业,进程):(抢占式,非抢占式),优先级类型--(静态,动态)
  5. 高响应比优先调度算法(HRRN,作业):优先级=响应比=1+(等待时间/要求服务的时间)=(等待时间+要求服务的时间)/要求服务的时间。 每次调度之前都需先计算响应比
  6. 轮转调度算法(RR的平均周转时间比SJF长,但响应时间更短一些):切换时机(启动一个新的时间片时间片用完送就绪队列末尾),时间片大小的确定(系统对响应时间的要求,就绪队列中进程数目,系统处理能力)

  1. 多级队列调度算法:队列按优先级调度,每个队列内采用FCFS调度算法
  2. 基于公平原则的调度算法:性能保证,而非优先运行
  3. 实时调度:HRT任务(硬),SRT(软)
  4. 实时调度的基本条件:提供必要信息(就绪时间,开始/完成截止时间,处理时间,资源要求,优先级),系统处理能力强(采用单处理机系统,采用多处理机系统,Ci/Pi <=N),采用抢占式调度机制,采用快速切换机制(HRT,对中断的快速响应能力,快速的任务分派能力)
  5. 实时调度算法分类:非抢占式调度算法(非抢占式轮转调度算法,非抢占式优先级调度算法),抢占式调度算法(基于时钟中断的抢占式优先级调度算法,立即抢占的优先级调度算法)
  6. 最早截止时间优先算法(EDF,在最早截止时间前完成任务;任务截止时间越早,优先级越高):非抢占式调度方式用于非周期实时任务(最早截止时间的任务排在队列的前面),抢占式调度方式用于周期实时任务(任务截止时间越早,优先级越高
  7. 最低松弛度优先算法(LLF,松弛度最低的任务排在最前面):松弛度=必须完成时间-其本身运行时间-当前时间;主要用于抢占式调度方式
  8. 优先级倒置(高优先级进程被低优先级进程延迟或阻塞):解决方法(进程进入临界区后,其所占用的处理机不允许被抢占)
  9. 实时调度的进程比普通进程具有更高优先级

死锁

  1. 死锁(不能获取自己所需的资源,不能释放当下占用的资源):
  2. 资源问题:可重用资源(互斥)和可消耗资源(动态创建和消耗),可抢占资源(处理机,内存等;不会引起死锁)和不可抢占资源(磁带机,打印机)
  3. 死锁产生原因:竞争不可抢占资源引起死锁,竞争可消耗资源引起死锁,进程推进顺序不当引起死锁(合法,非法)
  4. 产生死锁的必要条件(4个条件同时存在才产生死锁):互斥条件(资源独立),请求和保持条件(占有且等待),不可抢占条件(不可剥夺),循环等待条件。
  5. 死锁的处理方法:不让死锁发生(预防死锁【静态】,避免死锁【动态】),让死锁发生(检测死锁解除死锁
  6. 资源分配图:没环路一定没有死锁,有环路可能没有死锁;资源 --分配--》进程,进程--请求--》资源;圆圈为进程,方框为资源
  7. 当资源有多个实例,那么有环并不意味着已经出现死锁
  8. 死锁预防:破坏4-3-1,互斥条件(不仅不能改变,还应加以保证),破坏“请求和保持"条件(第一种协议:一次申请全部资源,第二种协议:申请进入等待状态,必须释放已占全部资源),破坏“不可抢占”条件(通过操作系统把想要的资源抢占过来),破坏”循环等待“条件
  9. 死锁避免(资源动态分配):系统安全状态(安全序列不唯一);如果存在一个安全序列,则系统处于安全态,一定没有死锁产生;不安全状态下,不一定进入死锁

  1. 死锁避免的实质---》确保系统永远不会进入不安全状态

银行家算法

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值