代码片段6.3介绍的是进程退出的代码,文章中介绍说,会将进程的资源销毁回收,但是实际代码里面是没有的,我猜是和6.4的代码弄混了
代码放错了,这里的进程退出代码应该包括对于处理器上下文、内核栈、虚拟地址空间以及PCB的销毁,最后调用schedule。我们会在之后的版本更正,感谢指出!
mingyu 能否把正确的代码放出来呢?想看看
void process_exit_v1(void) { destroy_ctx(curr_proc->ctx); destroy_kern_stack(curr_proc->stack); destroy_vmspace(curr_proc->vmspace); destroy_process(curr_proc); schedule(); } 文中也提到这部分代码存在一些问题(内核栈在进程还在运行时销毁了),之后会解决。
mingyu 谢谢你的回复请问哪里有最新的chcore实验代码可以下载?非交大学生,似乎无法注册gitlab下载。或者能发否一份到我的个人邮箱不,非常感谢raoxuefeng@yeah.net
gitee上有代码:https://gitee.com/ipads-lab/chcore-lab-v2