xv6中的上下文是什么?

时间:2016-01-16 12:56:19

标签: unix operating-system xv6

xv6 OS中context的用法是什么? context中每个寄存器的工作是什么?

struct context {
  uint edi;
  uint esi;
  uint ebx;
  uint ebp;
  uint eip;
};

2 个答案:

答案 0 :(得分:2)

context是一组信息,允许您从由于上下文切换而停止的完全相同的点恢复任务的执行(即调度程序选择另一个任务来运行并暂停当前任务,因此它必须保存当前任务的执行信息并恢复下一个要运行的任务的信息。

每个寄存器的目的是:

  • edi:目标索引,用于字符串操作
  • esi:源索引,用于字符串操作
  • ebx:基本索引,用于数组
  • ebp:堆栈基指针,用于保存当前堆栈帧的地址
  • eip:指令指针,指向要执行的指令

答案 1 :(得分:2)

此结构是正在运行的进程的内核上下文。

用户模式上下文保存在trapframe结构中。