Context Switch的过程。在计算中,上下文切换是 存储和恢复状态的过程(更具体地说,是 进程或线程的执行上下文,以便执行 稍后从同一点恢复。
但如果是进程或线程 并且资源不共享,然后必须将其称为Process Swap或Thread Swap
答案 0 :(得分:2)
它不是自己交换线程或处理自己。它交换存储在CPU中的执行上下文信息 - 各种CPU寄存器,标志位等。一个进程包含1个线程,每个线程操作CPU状态。上下文切换捕获当前正在运行的线程的CPU状态(上下文)并暂停它,然后交换另一个线程的状态,以便它可以恢复在之前停止的位置运行。
答案 1 :(得分:1)
请记住,在有线程之前很久就会将其称为流程上下文中的更改。由于我们在谈论历史,我忽略了线程。
使进程可执行需要加载寄存器。这组寄存器因系统而异,但通常包括:
当进程不再是当前进程时,需要保存其寄存器值。当进程变为当前进程时,需要恢复其寄存器值。
几乎每个处理器都有一条指令执行上述每项任务,以允许以原子方式执行切换。
然后,处理器需要定义用于保存寄存器值的数据结构。无论出于何种原因,这个数据结构被称为"过程上下文块"或PCB(一些愚蠢的教科书使用PCB来描述其他不存在的东西)。
有人可能认为将其称为过程"上下文"是一个可爱的名字。这在英语中确实没有意义,但事情就是这样。
加载和保存的说明随后成为Load Process Context和Save Process Context的变种。
但如果它是进程或线程并且资源未共享则必须将其作为Process Swap或Thread Swap调用
交换是一个完全不同的概念。所以条款" swap"和#34;交换"已经被带走了。在分页之前的几天,整个进程被移动(交换)到磁盘。这就是为什么太监有一个"交换"分区 - 名称永远不会更新为"页面分区。"