例说linux内核与应用数据通信
shallnet
一个没赶上脑残一代90后的80后程序猿!
展开
-
例说linux内核与应用数据通信(一):添加一个系统调用
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】 应用不能访问内核的内存空间,为了应用和内核交互信息,内核提供一组接口,通过这组接口,应用可以发送请求,内核可以响应处理该请求,这组接口就是系统调用。关于内核系统调用的实现查看本博客中这篇文章:http://blog.csdn.net/shallnet/原创 2015-08-22 16:49:41 · 2034 阅读 · 1 评论 -
例说linux内核与应用数据通信(三):读写内核设备驱动文件
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】 读写设备文件也就是调用系统调用read()和write(),系统调用就是内核提供给应用程序的接口,应用程序对底层的操作大部分都是通过系统调用来完成。几乎所有的系统调用都涉及到内核和应用的数据交换,本节并非讲述如何添加一个系统调用(那是第一节的内容),而是讲原创 2015-08-22 17:19:11 · 5913 阅读 · 5 评论 -
例说linux内核与应用数据通信(二):proc虚拟文件系统
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】 proc虚拟文件系统主要用于内核向用户导出信息,通过它可以在 Linux 内核空间和用户空间之间进行通信。在/proc 文件系统中,我们可以将对虚拟文件的读写作为与内核中实体进行通信的一种手段,与普通文件不同的是,这些虚拟文件的内容都是动态创建的。下面是笔者系原创 2015-08-22 17:04:14 · 3126 阅读 · 2 评论 -
例说linux内核与应用数据通信(四):映射设备内核空间到用户态
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】 一个进程的内存映象由下面几部分组成:代码段、数据段、BSS段和堆栈段,以及内存映射的区域等部分,内存映射函数mmap(), 负责把文件内容映射到进程的虚拟内存空间, 通过对这段内存的读取和修改,来实现对文件的读取和修改,而文件可以是设备驱动文件节点。通过把原创 2015-08-23 09:17:09 · 3127 阅读 · 1 评论 -
例说linux内核与应用数据通信系列
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】例说linux内核与应用数据通信(一):添加一个系统调用例说linux内核与应用数据通信(二):proc虚拟文件系统例说linux内核与应用数据通信(三):读写内核设备驱动文件例说linux内核与应用数据通信原创 2015-08-22 22:15:26 · 1778 阅读 · 1 评论