找回密码
 立即注册
首页 业界区 安全 cpu的虚拟化(中)———— 上下文

cpu的虚拟化(中)———— 上下文

玲液 2025-6-11 14:57:59

  • 前言
  • 上下文初识
  • 上下文的具体内容
  • 上下文切换
前言


  • 在前一篇笔记中,主要介绍了进程的相关问题,接下来要聊的是上下文,正文还是以围绕“是什么”与“为什么”进行展开,笔记中若有错漏,望不吝指正。
上下文初识

上下文这是一个与进程密切相关的对象。上下文与进程的关系可以这样描述:每个进程都有自己的上下文。什么意思呢?主要强调了两点:

  • 没有一个进程是没有上下文的。就如:正常情况下,没有一个人是没有手脚的。上下文是进程天然拥有的属性。
  • 不存在A进程拥有B进程上下文的情况。还是用上一个例子:正常情况下,没有两个人是共用一副手脚的。上下文是进程所私有的。
上下文的具体内容

以上只是对上下文定了性,为了更全面的了解上下文,我们聊聊更具体的情况,即上下文包含哪些内容[1]?在CPU中,进程的一部分上下文存储在一个个寄存器中,寄存器就是放在CPU内部,用来存储数据的小盒子。
<ol>PC寄存器

  • 该寄存器用于存储进程下一条要执行指令的地址。
  • 示例:PC寄存器的值是0x7fffe000,则CPU执行的下一条指令的地址是0x7fffe000。
通用寄存器组

  • 该组中包含多个寄存器,这些寄存器用来存储程序在运行的过程(即进程)产生的临时数据或中间计算结果。
栈指针寄存器

  • 栈指针寄存器中存储的是当前进程的用户栈中栈顶元素的地址。
标志寄存器<ul>
记录了执行算术运算或位运算后,产生的标志。
用途:主要用于完成关系运算,如:>,
您需要登录后才可以回帖 登录 | 立即注册