[源码和文档分享]Linux内核:用户空间与内核空间的数据传递的研究与实现

摘 要

Linux是一个自由、开放源代码的类UNIX操作系统,目前为止Linux已经被移植到各种硬件平台,其支持的种类远远超出其他操作系统。Linux内核是以C语言写成,并符合POSIX标准的操作系统,其将内存分为“内核空间”和“用户空间”两部分,驱动程序和操作系统在内核空间运行,应用程序在用户空间运行,linux内核空间程序需要与用户空间程序进行数据交换。本文首先调查linux内核空间的分布情况,并将内核间与传统进程间的通信方式做一个对比,找到传统进程间的通信方式不能用于内核与用户空间通信的原因,接着分别介绍Linux内核空间与用户空间通信的八种通信方式:内核启动参数、模块参数、Sysctl、系统调用、Netlink、Procfs、Seq_file、Debugfs;然后,本文还将研究Linux内核的编译方法和内核程序的编写,以及Linux内核模块的运行环境,并将这八种通信方式的实现在Linux3.2.1内核版本中测试成功;最后,本文对比了这8种通信方式的优劣,并给出了相应的应用场景。

关键词:Linux;内核空间;用户空间;数据通信

[源码和文档分享]Linux内核:用户空间与内核空间的数据传递的研究与实现_第1张图片

参考文档和完整的文档和源码下载地址:

https://www.write-bug.com/article/2143.html

你可能感兴趣的:([源码和文档分享]Linux内核:用户空间与内核空间的数据传递的研究与实现)