在调度中等待准备是否被视为先发制人或非抢占?
起初,我认为它是非先发制人的,因为它涉及到IO或事件,然后才能切换,但是我的朋友告诉我,它是先发制人的,因为它需要在切换到就绪时返回资源。
那么,在这种情况下,哪种解释是正确的呢?
发布于 2015-04-19 08:51:31
每个进程都有义务在事件/任务完成后释放资源,即使没有其他流程需要该特定资源。这与先发制人无关。
一般取决于进程调度的优先级,它决定了进程是否具有先发制人性。特定阶段不被定义为先发制人/非先发制人的。 --这取决于--如果这个过程是先发制人的,它就不会再等了。它将从其他低优先级的过程中抓住机会。如果进程具有较低的优先级/非抢占性,则它将继续等待释放资源,然后完成事件,然后通过调度程序进行调度。。 等待--进程目前无法运行,因为它正在等待某些资源变得可用或某些事件发生。例如,进程可能正在等待键盘输入、磁盘访问请求、进程间消息、要关闭的计时器或要完成的子进程。

https://stackoverflow.com/questions/29586950
复制相似问题