xv6 OS中context
的用法是什么?
context
中每个寄存器的工作是什么?
struct context {
uint edi;
uint esi;
uint ebx;
uint ebp;
uint eip;
};
答案 0 :(得分:2)
context
是一组信息,允许您从由于上下文切换而停止的完全相同的点恢复任务的执行(即调度程序选择另一个任务来运行并暂停当前任务,因此它必须保存当前任务的执行信息并恢复下一个要运行的任务的信息。
每个寄存器的目的是:
edi
:目标索引,用于字符串操作esi
:源索引,用于字符串操作ebx
:基本索引,用于数组ebp
:堆栈基指针,用于保存当前堆栈帧的地址eip
:指令指针,指向要执行的指令答案 1 :(得分:2)
此结构是正在运行的进程的内核上下文。
用户模式上下文保存在trapframe
结构中。