什么是上下文切换?

时间:2008-11-18 21:15:35

标签: multithreading operating-system

我正在阅读有关debuggerstepperboundary属性的信息,并且网站表示它在上下文切换中很有用。

上下文切换究竟是什么?我假设它是从一个线程切换到另一个线程,或者在执行或安全上下文中?但是,这些都不是特别有根据的猜测,所以我在这里问。

6 个答案:

答案 0 :(得分:20)

上下文切换(有时也称为进程切换或任务切换)是CPU(中央处理单元)从一个进程或线程切换到另一个进程或线程。

可以稍微更详细地描述上下文切换,因为内核(即操作系统的核心)对CPU上的进程(包括线程)执行以下活动:(1)暂停一个进程的进程并在内存中的某个位置存储CPU进程的状态(即上下文),(2)从内存中检索下一个进程的上下文并将其恢复到CPU的寄存器中,以及(3)返回到程序计数器指示的位置(即,返回到进程被中断的代码行)以恢复进程。

上下文切换有时被描述为内核暂停在CPU上执行一个进程并恢复先前已暂停的某个其他进程的执行。虽然这个措辞可以帮助澄清这个概念,但它本身可能会造成混淆,因为根据定义,一个过程是一个程序的执行实例。因此,暂停进程进展的措辞可能更为可取。

答案 1 :(得分:9)

上下文切换是将CPU从一个进程/线程切换到另一个进程/线程。

人们有时会在特定计算机世界之外使用术语上下文切换来反映他们在自己的生活中所做的事情。 “如果我要回答这个问题,我需要从思考A转向思考B”。

Wikipedia

答案 2 :(得分:4)

它通常指的是在线程或进程之间切换。 Wikipedia有更全面的描述。

答案 3 :(得分:1)

这是在CPU上进程之间切换的过程。

答案 4 :(得分:0)

  

将CPU内核切换到另一个进程需要执行一个状态   保存当前进程,并恢复其他进程的状态   处理。此任务称为 上下文切换

摘自:操作系统概念,亚伯拉罕(恐龙封面)


但这不一定有助于我理解这个概念。我喜欢在学习动画或图像。因此,the RTOS's link确实有帮助。

答案 5 :(得分:0)

上下文切换

  • CPU切换到另一个进程时,系统必须 保存旧进程的状态并加载保存的状态 通过上下文切换来进行新流程
  • PCB中表示的过程的上下文(值 CPU寄存器,进程状态等)
  • 上下文切换时间是开销;系统没有 切换时有用的工作
  • 时间取决于硬件支持

enter image description here