gpt4 book ai didi

operating-system - 操作系统中的 "Dispatch Latency"和 "Context Switch"有什么区别?

转载 作者:行者123 更新时间:2023-12-01 11:15:11 25 4
gpt4 key购买 nike

我目前正在从 Silberschatz 的书中学习操作系统,并遇到了“调度延迟”的概念。书中是这样定义的:

The time it takes for the dispatcher to stop one process andstart another running is known as the dispatch latency.


这不是“上下文切换”的相同定义吗?这两个术语之间有什么区别还是可以互换?

最佳答案

让我们尝试一个“有点现实”的场景,并假设以前使用的任务 read()从管道中获取数据但当时没有数据所以任务被阻塞;然后某些东西将数据写入管道,导致任务再次解除阻塞。在这种情况下:

  • 调度程序执行从“运行内核代码的先前任务”到“运行内核代码的未阻塞任务”的任务切换。这可能需要 40 纳秒。
  • 内核(现在在未阻塞任务的上下文中运行)将数据复制到原始 read() 提供的缓冲区中。调用,并安排参数read()调用应该返回(例如读取的字节数)。这可能还需要 50 纳秒。
  • 内核认为它没有更好的事情要做,所以它返回到用户空间,又花了 10 纳秒。

  • 在这里,上下文切换时间为 40 纳秒,但调度延迟(由本书作者定义)为 100 纳秒。

    关于operating-system - 操作系统中的 "Dispatch Latency"和 "Context Switch"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52897160/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com