关于tss,求助大神
下午认真再看一下tss的知识,对其中一些问题很不解。书上说因为一个任务最多可以有四种特权级,所以它要有四个栈。其中有三对指针分别为ess0,esp0,ess1,esp1,ess2,esp2.。当任务进入不同的特权级就把ess和esp切换到不同的栈。比如ring3-->ring0,则ess=ess,esp=esp0。
1.书上说一个进程可以有多个特权级,这个该怎么理解?
2.什么时候会发生特权级切换?
3.比如说现在有两个特权级为3就绪进程分别为进程A和进程B。当前正在执行执行的是A。
然后发生时钟中断,那么我理解没错的话应该是执行进程调度程序。那么应该是发生特权级切换,进入到内核态吧
那么这时候进程A的特权级是什么?调度程序运行完比如决定让进程B执行,于是就切换到进程B,那这时又从内核态切换到用户态。那这时进程A的特权级是?