We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
这么多栈, 分别是什么概念? 函数call, ret, 特权级变化时,这些栈是在哪里并如何改变的?
The text was updated successfully, but these errors were encountered:
线程栈是直接放在PCB里面的, 可以通过 ((uint32_t)esp & 0xfffff000)直接拿到当前运行线程的PCB(地址空间or页表),很方便. 中断栈位于PCB的顶部, 进入中断处理程序时会将当前上下文环境保存与此. 线程栈被调用时还需要遵循ABI,保存调用环境. 调度器ret的时候,恢复ABI寄存器环境,下一个线程被调度上CPU执行.
Sorry, something went wrong.
misakar
No branches or pull requests
这么多栈, 分别是什么概念? 函数call, ret, 特权级变化时,这些栈是在哪里并如何改变的?
The text was updated successfully, but these errors were encountered: