加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

在Linux和Windows下实现信号?

发布时间:2020-12-14 01:29:58 所属栏目:Linux 来源:网络整理
导读:我不喜欢在编程中使用信号.我主要使用C/C++和 Python. 但我很想知道如何在Linux(或Windows)中实际实现信号. 如果有任何注册信号需要处理,操作系统是否在信号描述符表中的每条CPU指令后检查?或者是流程经理/调度程序对此负责? 由于信号是异步的,CPU指令在完
我不喜欢在编程中使用信号.我主要使用C/C++和 Python.
但我很想知道如何在Linux(或Windows)中实际实现信号.

如果有任何注册信号需要处理,操作系统是否在信号描述符表中的每条CPU指令后检查?或者是流程经理/调度程序对此负责?

由于信号是异步的,CPU指令在完成之前是否会中断?

解决方法

操作系统绝对不会处理每个指令.没门.太慢了.

当CPU遇到问题(如0除以,访问受限资源或未被物理内存备份的内存位置)时,会产生一种特殊的中断,称为异常(不要与C / Java混淆) / etc高级语言异常摘要).

操作系统处理这些异常.如果它是如此需要并且如果可能的话,它可以将异常反映回它发起的过程. Windows中所谓的Structured Exception Handling(SEH)就是这种反思.应使用相同的机制实现C信号.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读