第 2~4 行就是在当前进程 prev 的内核栈中保存 esi、edi 及 ebp 寄存器的内容
第 5 行将 prev 的内核堆栈指针 ebp 存入 prev->thread.esp 中
第 6 行把将要运行进程 next 的内核栈指针 next->thread.esp 置入 esp 寄存器中
第 7 行将标号“1”所在的地址,也就是第一条 popl 指令(第 11 行)所在的地址保– 145 –存在 prev->thread.eip 中
第 8 行将 next->thread.eip 压入 next 的内核栈
第 9 行通过 jump 指令(而不是 call 指令)转入一个函数__switch_to()
第 11~13 行恢复 next 上次被调离时推进堆栈的内容