您能解释一下在进行系统调用处理时如何更改ARM模式吗?
我听说ARM模式更改只能在特权模式下发生,但是如果在ARM处于用户模式(这是非特权模式)下进行系统调用处理,ARM模式如何发生变化?
谁能解释用户模式情况下的整个操作流程,以及更一般的系统调用处理(尤其是ARM模式如何更改)?
提前致谢。
最佳答案
在ARM上进行系统调用的情况下,通常系统调用会导致执行SWI
指令。每当处理器执行SWI
(软件中断)指令时,处理器都会进入SVC
模式(具有特权),并跳转到SWI
异常处理程序。然后,SWI
处理程序查看中断原因(嵌入在指令中),然后执行OS程序员决定应做的任何事情。其他异常-复位,未定义指令,预取中止,数据中止,中断和快速中断-也会导致处理器进入特权模式。
文件处理的工作方式完全取决于编写操作系统的人-完全没有ARM专用。
关于ARM模式: User and System,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8199609/