我是靠谱客的博主 故意花瓣,最近开发中收集的这篇文章主要介绍linux内核态socket,Netlink—基于socket的Linux内核—用户空间通信机制(1),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1 引言

Linux中的进程间通信机制源自于Unix平台上的进程通信机制。Unix的两大分支AT&T

Unix和BSD Unix在进程通信实现机制上的各有所不同,前者形成了运行在单个计算机上的System V

IPC,后者则实现了基于socket的进程间通信机制。同时Linux也遵循IEEE制定的Posix

IPC标准,在三者的基础之上实现了以下几种主要的IPC机制:管道(Pipe)及命名管道(Named

Pipe),信号(Signal),消息队列(Message queue),共享内存(Shared

Memory),信号量(Semaphore),套接字(Socket)。通过这些IPC机制,用户空间进程之间可以完成互相通信。为了完成内核空间与用户空间通信,Linux提供了基于socket的Netlink通信机制,可以实现内核与用户空间数据的及时交换。

本文第2节概述相关研究工作,第3节与其他IPC机制对比,详细介绍Netlink机制及其关键技术,第4节使用KGDB+GDB组合调试,通过一个示例程序演示Netlink通信过程。第5节做总结并指出Netlink通信机制的不足之处。

2 相关研究

到目前Linux提供了9种机制完成内核与用户空间的数据交换,分别是内核启动参数、模块参数与

sysfs、sysctl、系统调用、netlink、procfs、seq_file、debugfs和relayfs,其中模块参数与sysfs、procfs、debugfs、relayfs是基于文件系统的通信机制,用于内核空间向用户控件输出信息;sysctl、系统调用是由用户空间发起的通信机制。由此可见,以上均为单工通信机制,在

最后

以上就是故意花瓣为你收集整理的linux内核态socket,Netlink—基于socket的Linux内核—用户空间通信机制(1)的全部内容,希望文章能够帮你解决linux内核态socket,Netlink—基于socket的Linux内核—用户空间通信机制(1)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部