[求助]Page Fault
最近在写操作系统,已经写到了进程部分,进程调度都已经没有问题了,内存分配也正常,但是……
给每个进程分配了一个4K的页面用作PDE用来重新Map,一个4K的页面用作堆栈。问题就在堆栈。只要特权级变换到User之后,一写这个堆栈就出问题,出现Page Fault,Error Code=0x5,Intel手册中的描述是非页不存在错误,并且在用户模式下出现的错误,我就不知道为什么了,这个堆栈的PDE和PTE的权限都是User,可读写,存在的。而把进程特权级改成0、1、2就不会出现任何错误……
求助啊!!