【发布时间】:2018-04-08 16:01:39
【问题描述】:
正如我之前所理解的,每个进程都有自己的地址空间,称为虚拟地址空间或程序内存, 每个进程都有一个称为堆栈的位置,用于存储函数的局部变量和参数。
此外,当异常发生时,处理器(例如 ARM cortex-A)切换到特权模式,然后分支到异常处理程序。
据我了解,大部分应用都是在非特权用户模式下运行的,这种模式有一个特殊的寄存器叫做栈指针,用来保存栈顶的地址;但这是一个单独的寄存器,实际上不能同时保存多个进程的栈顶地址。请您解释一下实际发生的情况?
【问题讨论】: