嗯,我的问题在标题中
众所周知,异常处理程序负责将用户模式切换到内核模式
这涉及到某些汇编指令
据称这样做是为了防止应用程序使用高权限指令和访问受限的内存区域
用户模式应用程序不能自行执行此用户内核切换吗?即在应用程序本身的常用函数例程中使用这些汇编指令?
如果是这样,那么我无法理解软件中断的意义以及与用户内核切换相关的所有安全考虑因素
我们只需在程序中实现该开关即可,瞧!我们现在处于内核模式
WTH
最佳答案
你犯了一个错误:用户唯一能做的就是调用一个可以执行特权指令的例程。这是通过软件中断来完成的。之所以称为中断,是因为在处理调用时原始用户模式程序被停止。这样,用户态程序完全无法执行特殊权限,但可以调用内核中可以执行的中断例程。程序本身永远不会处于内核模式。
关于linux - 软件中断例程和用户态函数的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12862071/