1

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

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

2 回答 2

6

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

每个寄存器的目的是:

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

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

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

于 2016-03-01T19:15:54.453 回答