ejunjsh / myxv6

xv6 riscv operating system and labs from mit 6.S081 2020
MIT License
17 stars 4 forks source link

kernel page table and copy-on-write fork #2

Open BigBrotherJu opened 2 years ago

BigBrotherJu commented 2 years ago

大佬你好,我在尝试把 pgtbl 和 cow 合到一个分支上,但是合并以后,xv6 不能正常工作。kernel page table 和 copy-on-write fork 好像有冲突,请问合并的时候有什么需要注意的点吗?

ejunjsh commented 2 years ago

因为cow的特性,很多页表项都会出现缺页异常,之前正常实验的话,缺页是发生在用户态,但是这两个实验合并的话,缺页就会发生在内核,所以要把用户态缺页处理函数,在内核态也要做一次。我repo下的实验都是一个实验做完一个commit,你可以看看我的commit参考下,太久了,我也不是很记得了