linux系统调用是通过软中断实现的吗
2018-03-02 00:13
288 查看
软中断是利用硬件中断的概念,用软件方式进行模拟,实现宏观上的异步执行效果。很多情况下,软中断和信号有些类似,同时,软中断又是和硬中断相对应的,硬中断是外部设备对CPU的中断,软中断通常是硬中断服务程序对内核的中断,信号则是由内核(或其他进程)对某个进程的中断(《Linux内核源代码情景分析》第三章)。软中断是linux系统原“底半处理”的升级,在原有的基础上发展的新的处理方式,以适应多cpu 、多线程的软中断处理。 软中断是实现系统API函数调用的手段 函数调用时将返回地址和CPU状态寄存器内容压栈,函数执行完毕后出栈返回断点继续执行。 软中断调用时将返回地址和CPU状态寄存器内容压栈,修改特权级,根据中断号查找中断向量表,找到ISR中断服务例程地址,跳转执行。
相关文章推荐
- bbossgroups 2.0-RC 通过JGroups来实现集群节点间远程服务调用,或者多服务器之间远程服务调用
- 一起谈.NET技术,JAVA与.NET的相互调用——通过Web服务实现相互调用
- 通过Feign调用的方法实现接口之间的传递
- Web 前端通过调用ActiveX实现LPT1端口小票机打印功能。
- 通过python调用adb命令实现用元素名称、id、class定位元素
- 《Orange’s 一个操作系统的实现》3.保护模式7-特权级转移(通过调用门转移目标段-无特权级转换)
- [Python]通过调用百度翻译API实现的翻译小程序
- C/C++通过COM调用.NET托管程序集的实现
- Android下通过root实现对system_server中binder的ioctl调用拦截
- 通过哨兵机制实现Redis主从配置以及java调用
- 通过JNI实现Java和C++的相互调用(转)
- 通过JNI实现Java和C++的相互调用(转)
- 调用百度API实现通过经度纬度确定位置
- python中的__new__方法与__init__方法区别与调用;通过使用__new__实现单例模式
- android开发中通过aidl实现远程方法调用
- 通过协程统计函数被调用次数(附python代码简单实现)
- saltstack常用操作----salt-api 实现 通过http请求远程调用saltstack的步骤
- java通过jna调用科大讯飞语音云实现语音识别功能
- Oracle中通过Function,存储过程,触发器,调用实现解析Clob字段中存在的xml字符串
- 通过反射(Reflection)实现对ref和out参数在 Portal-Builder 开源门户系统中的调用