我目前正在研究Silberschatz所著的操作系统,并遇到了“调度延迟”概念。这本书对它的定义如下:
调度程序停止一个进程和 开始另一次运行称为调度延迟。
这不是“上下文切换”的相同定义吗?这两个术语之间有什么区别还是可以互换?
答案 0 :(得分:2)
让我们尝试一个“有点现实”的场景,并假设一个任务以前使用read()
从管道中获取数据,但是当时没有数据,因此该任务被阻塞了;然后某物将数据写入管道,导致任务再次被解除阻止。在这种情况下:
read()
调用提供的缓冲区中,并安排read()
调用应返回的参数(例如读取的字节数)。这可能还需要50纳秒。这里,上下文切换时间为40纳秒,但是调度延迟(由本书的作者定义)将为100纳秒。
答案 1 :(得分:1)
“上下文切换”是一个过程。 “调度延迟”是一个延迟,也就是时间。