linux内核事件通知,Linux内核基础事件通知链notifierchain转_区块链白皮书代写|市场计划书项目PPT设计_Tbleg...

区块链白皮书代写

转自:http://blog.csdn.net/wuhzossibility/article/details/8079025

内核通知链1.1. 概述

Linux内核中各个子系统相互依赖,当其中某个子系统状态发生改变时,就必须使用一定机制告知使用其服务其他子系统,以便其他子系统采取相应措施。为满足这样需求,内核实现了事件通知链机制(notificationchain)。

通知链只能用在各个子系统之间,而不能在内核和用户空间进行事件通知。组成内核核心系统代码均位于kernel目录下,通知链表位于kernel/notifier.c中,对应头文件为include/linux/notifier.h。通知链表机制并不复杂,实现它代码只有区区几百行。

事件通知链表是一个事件处理函数列表,每个通知链都与某个或某些事件有关,当特定事件发生时,就调用相应事件通知链中回调函数,进行相应处理。

图 1  内核通知链1.2.数据结构

如图 1中所示,Linux网络子系统一共有3个通知链:表示ipv4地址发生变化时inetaddr_chain;表示ipv6地址发生变化inet6addr_chain;还有表示设备注册、状态变化netdev_chain。

在这些链中都是一个个notifier_block结构:

[cpp] view plain copy

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值