Update chapter3_traps.md

pull/2/MERGE
Zhiyuan Shao 3 years ago
parent e44afd2717
commit f122a0d92f

@ -655,7 +655,7 @@ s_start函数在kernel/kernel.c文件中定义
该函数的动作也非常简单首先将地址映射模式置为34行直映射模式Bare mode接下来调用37行load_user_program()函数,将应用(也就是最开始的命令行中的./obj/app_helloworld载入内存封装成一个最简单的“进程process最终调用switch_to()函数,将这个简单得不能再简单的进程投入运行。 该函数的动作也非常简单首先将地址映射模式置为34行直映射模式Bare mode接下来调用37行load_user_program()函数,将应用(也就是最开始的命令行中的./obj/app_helloworld载入内存封装成一个最简单的“进程process最终调用switch_to()函数,将这个简单得不能再简单的进程投入运行。
以上过程中load_user_program()函数的作用是将我们的给定应用user/app_helloworld.c所对应的可执行ELF文件即./obj/app_helloworld文件这个过程我们将在3.1.5中详细讨论。另一个函数是switch_to()为了理解这个函数的行为需要先对lab1中“进程”的定义有一定的了解kernel/process.h 以上过程中load_user_program()函数的作用是将我们的给定应用user/app_helloworld.c所对应的可执行ELF文件即./obj/app_helloworld文件载入spike虚拟内存这个过程我们将在3.1.5中详细讨论。另一个函数是switch_to()为了理解这个函数的行为需要先对lab1中“进程”的定义有一定的了解kernel/process.h
```c ```c
19 typedef struct process { 19 typedef struct process {

Loading…
Cancel
Save