当前位置: 技术问答>linux和unix
请教一个linux进程内核栈的问题
来源: 互联网 发布时间:2016-11-29
本文导语: 进程内核栈的空间和一般意义上的在用户态的进程的栈空间有啥区别的哈 | 普通线程其实有三种状态:用户态内核态中断态 内核线程只有两种状态:内核态中断态 用户态一般在虚拟空间运行,堆...
进程内核栈的空间和一般意义上的在用户态的进程的栈空间有啥区别的哈
|
普通线程其实有三种状态:用户态内核态中断态
内核线程只有两种状态:内核态中断态
用户态一般在虚拟空间运行,堆栈负责函数调用之间的切换;
内核态和中断态一般在实空间运行,堆栈负责三态之间的切换和内核态/中断态函数调用之间的调用.
基于上述基本原则,就可以自己推算内核堆栈和用户堆栈之间的其他区别.
内核线程只有两种状态:内核态中断态
用户态一般在虚拟空间运行,堆栈负责函数调用之间的切换;
内核态和中断态一般在实空间运行,堆栈负责三态之间的切换和内核态/中断态函数调用之间的调用.
基于上述基本原则,就可以自己推算内核堆栈和用户堆栈之间的其他区别.
|
系统调用没有用堆栈传参,而是用寄存器传参;一旦进入内核态,立刻就在内核堆栈中保存用户态上下文环境。