实现实时调度的基本条件
(1)提供详细的调度信息
(2)系统处理能力强
(3)具有快速切换机制
(4)采用抢占式调度机制
实时调度算法的分类
(1)非抢占式轮状调度算法
(2)非抢占式优先调度算法
(3)基于时钟终端抢占式优先级调度算法
(4)立即抢占的优先级调度算法
非抢占式轮状调度算法:常用语工业生产的群控系统中,要求不太严格
非抢占式优先调度算法:要求较为严格,根据任务的优先级安排等待位置。可用于有一定要求的实时控制系统最后中
最早截止时间优先算法思想:根据人物的开始截至时间来确定任务的优先级,即任务的开始截止时间越早,其优先级越高可采用非抢占调度方式,也可采用抢占调度方式 非抢占式调度方式用于非周期实时任务
最低松弛度优先算法思想:根据实时任务的松弛度来确定任务的优先级,松弛度越低,其优先权越高松弛度=任务必须完成的时间-任务本身的运行时间-当前时间实现时按松弛度排序的实时任务就绪队列当一任务的最低松弛度为0时,立即抢占CPU 死锁死锁是指多个进程在运行过程中因争夺资源而造成的一种僵局,若无外力作用,他们都将无法再向前推进
产生死锁的原因
(1)竞争资源 消耗性资源 不可抢占性资源
(2)进程推进顺序不当
产生死锁的必要条件
(1)互斥条件
(2)请求与保持条件
(3)不剥夺条件
(4)环路等待条件
处理死锁的方法
(1)预防死锁
(2)避免死锁
(3)检测死锁
(4)解除死锁
安全状态:系统能按某种进程推进顺序,为每个进程分配所需资源,直到最大需求,使每个进程都可顺利完成。这样的序列成为安全序列。
***不安全状态:***不存在安全序列
银行家算法