Update chapter3_traps.md

pull/1/head
Zhiyuan Shao 3 years ago
parent 467f78500f
commit 7518966eb1

@ -1057,7 +1057,7 @@ handle_syscall()函数的定义也在kernel/strap.c文件中
但是做实验的时候需要读者思考在handle_syscall()函数中调用do_syscall()函数后者的参数怎么办毕竟有8个long类型因为我们的机器是RV64Glong类型占据8个字节的参数另外do_syscall()函数的返回值怎么处理毕竟do_syscall()函数有一个long类型的返回值而这个返回值是要通知应用程序它发出的系统调用是否成功的。 但是做实验的时候需要读者思考在handle_syscall()函数中调用do_syscall()函数后者的参数怎么办毕竟有8个long类型因为我们的机器是RV64Glong类型占据8个字节的参数另外do_syscall()函数的返回值怎么处理毕竟do_syscall()函数有一个long类型的返回值而这个返回值是要通知应用程序它发出的系统调用是否成功的。
除了实验内容之外在handle_syscall()函数的第19行有一个`tf->epc += 4;`语句,**这里请读者思考为什么要将tf->epc的值进行加4处理**这个问题请结合你对RISC-V指令集架构的理解以及系统调用的原理回答。另外**我们的PKE操作系统内核是如何得到应用程序中“hello world!”字符串的地址的呢** 除了实验内容之外在handle_syscall()函数的第19行有一个`tf->epc += 4;`语句,**这里请读者思考为什么要将tf->epc的值进行加4处理**这个问题请结合你对RISC-V指令集架构的理解以及系统调用的原理回答。另外**我们的PKE操作系统内核是如何得到应用程序中“hello world!”字符串的地址的呢**

Loading…
Cancel
Save