上下文切换(Context Switch)

基本定义

上下文切换指的是CPU从一个进程(线程)切换到另一个进程(线程)。

​ 进程是正在执行的一个程序的实例,在Linux中,线程可以算作轻量级进程,线程可以并发执行,并且同一进程创建的线程可以共享同一片地址空间及其它资源,即该进程的进程地址空间及属于该进程的其它资源。


基本原理

上下文切换的基本原理就是当发生任务切换时, 保存当前任务的寄存器到内存中, 将下一个即将要切换过来的任务的寄存器状态恢复到当前CPU寄存器中, 使其继续执行, 同一时刻只允许一个任务独享寄存器。在任务切换的过程中是涉及任务上下文的保存和恢复操作, 而任务上下

文切换操作的性能是衡量操作系统性能的一个重要指标。任务上下文切换指标可以反映出操作系统在多任务环境下的处理能力

上下文的切换流程
 
(1)挂起一个进程,将这个进程在CPU中的状态(上下文信息)存储于内存的PCB中。 
(2)在PCB中检索下一个进程的上下文并将其在CPU的寄存器中恢复。 
(3)跳转到程序计数器所指向的位置(即跳转到进程被中断时的代码行)并恢复该进程。
 
posted @ 2021-08-10 18:59  纳姆德隆  阅读(711)  评论(0编辑  收藏  举报