我很难理解“抢占式内核”和“非抢占式内核”以及“抢占式调度”和“非抢占式调度”的区别。
《操作系统概念(第9版)》Silberschatz,Galvin和Gagne的解释如下:
- “抢占式内核”允许进程在运行内核模式时被移除并替换。 - “非抢占式内核”不允许在运行内核模式的进程被抢占;内核模式进程将一直运行,直到退出内核模式、阻塞或自愿放弃CPU控制权。 - 在“非抢占式调度”下,一旦CPU被分配给一个进程,该进程会一直持有CPU,直到它终止或切换到等待状态。 - 对我来说,这似乎是非抢占式内核的确切描述。
“抢占式调度”发生在以下两种情况下:
1. 当进程从运行状态切换到就绪状态时(例如,当中断发生时)。 2. 当进程从等待状态切换到就绪状态时(例如,在I/O完成时)。
该书简单地指出在这种情况下存在选择,但我不确定选择是什么。选择是同一就绪队列中的进程是否可以继续运行,还是应选择就绪队列中的不同进程来运行?
总之,我正在寻求这4个术语的明确解释。
谢谢!
《操作系统概念(第9版)》Silberschatz,Galvin和Gagne的解释如下:
- “抢占式内核”允许进程在运行内核模式时被移除并替换。 - “非抢占式内核”不允许在运行内核模式的进程被抢占;内核模式进程将一直运行,直到退出内核模式、阻塞或自愿放弃CPU控制权。 - 在“非抢占式调度”下,一旦CPU被分配给一个进程,该进程会一直持有CPU,直到它终止或切换到等待状态。 - 对我来说,这似乎是非抢占式内核的确切描述。
“抢占式调度”发生在以下两种情况下:
1. 当进程从运行状态切换到就绪状态时(例如,当中断发生时)。 2. 当进程从等待状态切换到就绪状态时(例如,在I/O完成时)。
该书简单地指出在这种情况下存在选择,但我不确定选择是什么。选择是同一就绪队列中的进程是否可以继续运行,还是应选择就绪队列中的不同进程来运行?
总之,我正在寻求这4个术语的明确解释。
谢谢!