我们知道了进程是如何被调度了,但是进程什么时候会被调度呢?在什么情况下被调度呢?
调度只有当CPU在内核中运行时才有可能发生。有两种情况:(1)“自愿”的,通过像sleep()之类的系统调用实现;或者实在通过其他系统调用进入内核以后因某种原因受阻需要等待,而自愿让内核调度其他进程执行。(2)“强制”的,当一个进程连续运行的时间超过一定的限度时,内核就会强制地调度其他进程来执行。《情景分析》P236 P356 P377
我们知道了进程是如何被调度了,但是进程什么时候会被调度呢?在什么情况下被调度呢?
调度只有当CPU在内核中运行时才有可能发生。有两种情况:(1)“自愿”的,通过像sleep()之类的系统调用实现;或者实在通过其他系统调用进入内核以后因某种原因受阻需要等待,而自愿让内核调度其他进程执行。(2)“强制”的,当一个进程连续运行的时间超过一定的限度时,内核就会强制地调度其他进程来执行。《情景分析》P236 P356 P377