当前位置: 技术问答>linux和unix
关于内核抢占的
来源: 互联网 发布时间:2016-07-01
本文导语: set_task_state(TASK_INTERRUPTIBLE) 之后,内核可以抢占吗?如果可以的话,并且没有人唤醒进程,进程是否就不能恢复了? | 你的理解依然有问题。 进程是由中断唤醒的,换句话说,在中断处理函...
set_task_state(TASK_INTERRUPTIBLE) 之后,内核可以抢占吗?如果可以的话,并且没有人唤醒进程,进程是否就不能恢复了?
|
你的理解依然有问题。
进程是由中断唤醒的,换句话说,在中断处理函数中会
会找到当前进程,然后
__set_current_state(TASK_RUNNING);
所以,即使被抢断,进程也已经出于TASK_RUNNING 状态,并不是TASK_INTERRUPTIBLE 状态。
所以并不会丢失用户输入。
进程是由中断唤醒的,换句话说,在中断处理函数中会
会找到当前进程,然后
__set_current_state(TASK_RUNNING);
所以,即使被抢断,进程也已经出于TASK_RUNNING 状态,并不是TASK_INTERRUPTIBLE 状态。
所以并不会丢失用户输入。