【问题标题】:Software Interrupt in system call系统调用中的软件中断
【发布时间】:2012-07-11 12:33:25
【问题描述】:

在arm的fork系统调用中,

swi #0

使用了指令,具体是做什么的?

谢谢。

【问题讨论】:

  • 你考虑过使用谷歌吗?

标签: linux-kernel arm interrupt system-calls


【解决方案1】:

如果您在 google 上搜索“swi arm instruction”,例如,第一次点击是:...

SWI:软件中断

SWI 这是一个简单的设施,但可能是最常用的。 SWI 提供了许多操作系统工具。无法想象没有 SWI 的 RISC OS。 Nava Whiteford 解释了 SWI 的工作原理(最初在 Frobnicate 问题 12½ 中)...

在本文中,我将尝试深入研究 SWI(软件中断)的工作原理。 什么是 SWI?

SWI 代表软件中断。在 RISC OS 中,SWI 用于访问由第三方生成的操作系统例程或模块。许多应用程序使用模块为其他应用程序提供低级外部访问。 SWI 的示例如下:

Filer SWI,它有助于读取和读取光盘、设置属性等。 打印机驱动程序 SWI,用于很好地帮助使用并行端口进行打印。 SWI FreeNet/Acorn TCP/IP 堆栈 SWI 用于使用 TCP/IP 协议传输和接收数据,该协议通常用于通过 Internet 发送数据。 当以这种方式使用时,SWI 允许操作系统具有模块化结构,这意味着创建完整操作系统所需的代码可以拆分为多个小部分(模块)和一个模块处理程序。

当 SWI 处理程序收到对特定例程编号的请求时,它会找到例程的位置并执行它,并传递任何数据。

【讨论】:

  • 感谢您的回答。 swi的意思是众所周知的。我想知道内部,对于像__fork这样的系统调用,来自仿生(在android中)正在调用swi。那么它究竟是如何进入内核的,内核是如何为系统调用服务的呢?
猜你喜欢
  • 2014-10-07
  • 2021-09-19
  • 2015-01-09
  • 1970-01-01
  • 2019-09-01
  • 1970-01-01
  • 2015-07-14
  • 2011-08-06
  • 1970-01-01
相关资源
最近更新 更多