任务调度
抢占
针对优先级的不同,优先级高的可以打断优先级低的
首先在task1执行的时候,tesk2准备就绪,tesk2抢占
tesk3阻塞(系统延时,等待信号),就序状态中的最高优先级任务就开始运行。
高优先级的任务如果不挂起,那么低优先级的任务就无法进行。
时间线
针对优先级相同 ,在每一次系统时钟节拍到的时候切换任务
同等优先级任务轮流享有相同的CPU时间,一个时间片就相当于是一个系统中断周期
运行完一个时间片就进行切换
如果在没有运行一个时间片的时候被阻塞了,直接切换到下一个任务。
没有用完的时间片不会再使用,之后的任务还是按照一个时间片的时间运行。
协程式
当前正在执行的任务会一直执行,无法被打断。
任务状态
1,运行
正在执行的任务,同一个时间中只有一个任务在运行。
2,就绪
任务可以执行但是还没有被执行
3,阻塞
任务因为延时或者等待外部事件发生
4,挂起
5,暂停