任务切换分两种方式,抢占和协同
协同:多个任务呈链表的方式,当任务C调用内核函数的时候,内核函数返回之前,会偷偷调用其他就绪的任务F,执行一会之后,再返回给C,但是,假设任务F执行之后,再也没有请求过内核函数,那么内核就没机会执行调度其他任务,所以CPU就永远被F使用了
抢占:为了解决F的问题,提出了抢占式,依赖于硬件,尤其是周期性的中断信号
任务切换分两种方式,抢占和协同
协同:多个任务呈链表的方式,当任务C调用内核函数的时候,内核函数返回之前,会偷偷调用其他就绪的任务F,执行一会之后,再返回给C,但是,假设任务F执行之后,再也没有请求过内核函数,那么内核就没机会执行调度其他任务,所以CPU就永远被F使用了
抢占:为了解决F的问题,提出了抢占式,依赖于硬件,尤其是周期性的中断信号