静态优先级调度:速率单调调度算法(RM, Rate Monotonic)
动态优先级调度:最早截止时间优先算法 (EDF, Earliest Deadline First)
如果任务间有共享资源占用的情况,高优先级任务可能会被延误执行!
根据任务周期来确定任务优先级(周期越短优先级越高,抢占式)
进程P1:e=20 p=50
进程P2:e=35 p=100
进程P1:e=25 p=50
进程P2:e=35 p=80
固定优先级的问题:有的任务可能错过期限
进程P1:e=10 p=20
进程P2:e=25 p=50
任务的优先级根据任务的截止时间动态分配。截止时间越短,优先级越高。
根据任务紧急或者松弛程度,来确定任务优先级
任务紧急度越高,优先级越高
松弛度=必须完成时间-本身还需要运行时间-当前时间
进程P1:e=10 p=20;进程P2:e=25 p=50
优先级反置:高优先级进程长时间等待低优先级进程所占用资源的现象
注:临界区:互斥访问共享资源的代码片段