问题1、 如何判断一个程序的特权级,是不是根据 ds es fs gs 等寄存器的最后两位CPL来判断?? 我这么问是因为下图中的分析(如有不对请指出)
问题2: 上图第13行返回以后开始执行下图代码,我的疑问是:为什么说是中断返回指令启动任务0 ,而不是因为132行 加载 tr 触发了任务0 呢? 是不是因为sched.c中的任务调度有关,内核态不允许任务切换,进入用户态 此时才能触发 132行加载进来的 tr 完成任务切换,这么理解对吗??如果理解正确的话上图第9行已经进入用户态,那么第9行到第13行也属于任务0 的代码喽, 这么理解对吗?