等待准备好的计划被视为先发制人还是非先发制人?
起初我认为它是非抢占式的,因为它涉及IO或事件要在切换之前完成,但是我的朋友告诉我它是先发制人的,因为它需要在切换到准备状态时回馈资源。
那么在这种情况下哪一个是正确的解释?
答案 0 :(得分:1)
每个进程都有责任在事件/任务完成后释放资源,即使没有其他进程需要特定资源。它与先发制人无关。
通常,它取决于计划的进程的优先级 决定它是否是先发制人的。特定的阶段不是 定义为先发制人/非预防性 。
它取决于---如果该过程是先发制人的,它将不会等待任何过程 更长的时间来安排。它将抓住其他人的机会 优先级较低的流程。如果流程较低 优先/非抢先,然后它将继续等待 资源发布然后完成事件然后得到 通过调度程序调度。
等待 - 此过程目前无法运行,因为它正在等待某些资源可用或某些事件发生。例如,进程可能正在等待键盘输入,磁盘访问请求,进程间消息,计时器关闭或子进程完成。