Linux内核:异步机制

Linux 内核中使用到异步机制的地方:
  信号,这是一种进程间通信的异步机制 【通信】
  epoll,这是一种高效I/O的异步通信机制 【I/O】

信号的本质:
  软中断信号(signal,又简称为信号),用来通知进程发生了异步事件。
在软件层次上,信号是对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。
信号是进程通信机制中唯一的异步通信机制。(一个进程不必通过任何操作来等待信号的到达,进程也不知道信号到底什么时候到达)

进程收到信号后,有3种处理方法:
  1. 类似中断的处理程序。对于需要处理的信号,进程可以指定处理函数,由该函数去处理。
  2. 忽略来的信号
  3. 对所来信号保留系统的默认值(对大部分信号的缺省操作是让进程终止)

信号的种类:

  1. 可靠信号与不可靠信号

  2. 实时信号与非实时信号

不可靠信号:信号值小于SIGRTMIN的信号都是不可靠信号,不可靠 ---- 这些信号有可能丢失

可靠信号:由于上面的信号不可靠,所以对其进行改进和扩充,引入可靠信号,将信号值位于SIGRTMINSIGRTMAX之间信号定义为可靠信号(这些信号,支持排队,不会丢失)

早期Unix系统只定义了32种信号(这32种信号都有确定的用途和含义,并且每种信号都有各自默认的缺省操作,比如:按键盘的ctrl

  • 17
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值