操作系统调用软中断是要依据每种CPU的软中断方式进行调用的吗

工程师123123123 2016-05-06 10:26:43
软中断实质上就是为了让cpu停止当前执行的cs:ip所指向的指令,而转去根据中断向量表计算出下一步执行的指令位置。

这种中断方式是CPU已知的,例如intel x86系统有自己的中断处理方式,arm也有自己的中断处理方式。

那么,操作系统Windows\ Linux是如何根据这种软中断约定,编写内核级的系统调用呢?是依据x86的标准编写的吗?

依据x86软中断执行特点,从而设计了R3到R0的跨越方法吗?

这个问题一直没搞清楚。想和大家讨论一下。
...全文
467 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
以前Windows NT除了x86,还支持Alpha、MIPS之类的架构,现在的Windows 10、Windows RT、Windows Phone也是共享内核,所以中断处理部分可能略有不同,但是硬件抽象层之上的中断服务应该是相同的。具体在ARM架构上是怎么处理的还未知,没有见到Windows RT、Windows Phone的源码。
工程师123123123 2016-05-06
  • 打赏
  • 举报
回复
引用 1 楼 DelphiGuy 的回复:
以前Windows NT除了x86,还支持Alpha、MIPS之类的架构,现在的Windows 10、Windows RT、Windows Phone也是共享内核,所以中断处理部分可能略有不同,但是硬件抽象层之上的中断服务应该是相同的。具体在ARM架构上是怎么处理的还未知,没有见到Windows RT、Windows Phone的源码。
所以是windows操作系统本身在处理某些需要系统调用的问题时,她也是根据具体处理器,给出不同的代码的??嗯,我估计是这样。

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧