当前位置: 技术问答>linux和unix
关于tss,求助大神
来源: 互联网 发布时间:2017-05-16
本文导语: 下午认真再看一下tss的知识,对其中一些问题很不解。书上说因为一个任务最多可以有四种特权级,所以它要有四个栈。其中有三对指针分别为ess0,esp0,ess1,esp1,ess2,esp2.。当任务进入不同的特权级就把ess和esp切换到不同...
下午认真再看一下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的特权级是?
1.书上说一个进程可以有多个特权级,这个该怎么理解?
2.什么时候会发生特权级切换?
3.比如说现在有两个特权级为3就绪进程分别为进程A和进程B。当前正在执行执行的是A。
然后发生时钟中断,那么我理解没错的话应该是执行进程调度程序。那么应该是发生特权级切换,进入到内核态吧
那么这时候进程A的特权级是什么?调度程序运行完比如决定让进程B执行,于是就切换到进程B,那这时又从内核态切换到用户态。那这时进程A的特权级是?
|
A1:进程运行在不同的上下文
A2:执行系统调用,从用户态切换到核心态
A3:进程A依旧是用户态,中断是异步的。和A处在什么态没有关系!即使A此时处于系统调用,处于核心态,也可能被中断中断!中断“中断”(打断的意思)当前的进程。内核开始执行一段处于内核态的特殊执行路径,注意是路径,不是一个进程,中断此时要占用进程的时间的,可以理解在耽误进程!
进程AB的切换,二者都在用户态
A2:执行系统调用,从用户态切换到核心态
A3:进程A依旧是用户态,中断是异步的。和A处在什么态没有关系!即使A此时处于系统调用,处于核心态,也可能被中断中断!中断“中断”(打断的意思)当前的进程。内核开始执行一段处于内核态的特殊执行路径,注意是路径,不是一个进程,中断此时要占用进程的时间的,可以理解在耽误进程!
进程AB的切换,二者都在用户态
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。