Cstardust / BlogComments

BlogComments
1 stars 0 forks source link

操作系统xv6-系统调用 | 不落辰 #32

Open Cstardust opened 1 year ago

Cstardust commented 1 year ago

https://cstardust.github.io/2022/10/30/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F-xv6-%E7%B3%BB%E7%BB%9F%E8%B0%83%E7%94%A8/

本文介绍xv6的trap流程 user空间和kernel空间的切换称为trap xv6 系统调用 是如何在user和kernel空间进行切换的 ? 关键步骤及指令如下 user ecall 提高程序的权限 , 保存当前地址($sepc) , 记录trap原因(r_scause()) , 跳转到trampoline trampoline uservec 将cpu reg中user的