老师,各位同学:
我最近才开始学os,进度跟大家比慢太多,请大家给予些指导。我查了一些资料有些问题还是没想明白。
1、call与特权级:假设我们使用用户态的函数,里面使用内联汇编调用call指令,调用一个用户态的函数,这个时候特权级变化是3->0->3还是call指令判断出调用函数是用户态,变化是3->3?
2、int指令是不是直接就自动切换到内核态,不管之前是什么
3、使用键盘实现特权切换,当从0-3时,机器iret弹出时会弹出ss和esp,然而压栈时没有压入这两个,就理论上应该出错,为什么我实验室没问题呢。
4、用户态函数是不是可以内联会变调用所有的机器指令。
5、ucore的0和3态虽然优先级不同,但是公用的代码段和数据段?