rCore_tutorial_doc
rCore_tutorial_doc copied to clipboard
[创建用户线程] · GitBook
https://rcore-os.github.io/rCore_tutorial_doc/chapter8/part4.html
我们在第六章内核线开始部分简单介绍过进程,线程,以及二者的关系。现在要在 OS 中创建进程了,当然需要对进程有进一步的深入了解。
是不是少打一个字, 在第六章内核线程开始部分
Makefile我们使用的是默认的riscv64imac,不应该直接是cargo build嘛😬
make run之后会在切到user thread时触发page fault:
Exception(LoadPageFault) va = 0xffffffff000800d8 instruction = 0x14370
panicked at 'page fault!', src/interrupt.rs:59:5
QEMU: Terminated
看地址是超过了user stack top(0xffffffff00080000)访问越界了,自己debug了一下也没找到是哪的问题。希望作者能帮忙看看。
PS: 也在ch8-pa4分支验证过,同样的问题,所以排除了我自己跟着教程copy-paste导致的低级错误。
我的环境: Linux hostname 4.15.0-107-generic #108~16.04.1-Ubuntu qemu: 4.1.1 rust: nightly-2020-06-24