美文网首页
上下文到底是什么

上下文到底是什么

作者: 白花蛇草可乐 | 来源:发表于2019-11-22 21:02 被阅读0次

    1、什么是上下文

    其实在计算机行业中, context 这个词被翻译成“上下文”是有点问题的。第一次接触这个词的人肯定是一头雾水,不知道到底是在讲什么。

    (虽然我也没能想出来一个非常合适的译名用来取代“上下文”)

    context 指的是(进程)运行时所处的环境和自身的状态,可以理解为当时情况的一个快照。

    更具体来说,就是进程的各个变量和数据,包括所有的寄存器变量、进程打开的文件、内存信息等。

    2、上下文的具体内容

    一个进程的上下文可以分为三个部分:

    1. 用户级上下文:正文、数据、用户堆栈以及共享存储区;

    2. 寄存器上下文:通用寄存器、程序寄存器(IP)、处理器状态寄存器(EFLAGS)、栈指针(ESP);

    3. 系统级上下文:进程控制块task_struct、内存管理信息(mm_struct、vm_area_struct、pgd、pte)、内核栈。

    3、上下文切换

    所谓的上下文切换(context switch),指的是发生进程调度(进程切换)时,内核(kernel)要把当前进程的状态和数据保存起来以备以后使用,同时把之前保存的进程的相关状态调出来,这样新调度出来的进程才能运行。

    相关文章

      网友评论

          本文标题:上下文到底是什么

          本文链接:https://www.haomeiwen.com/subject/whxcwctx.html