linux内核空间与用户空间互访操作

原创 2012年03月31日 13:57:49

由于内核空间与用户空间不能直接互访,所以需要借助函数调用来完成

1.unsigned  long  copy_from_user(void  *to,const  void  __user  *from,unsigned  long  count);

此函数将用户空间内容复制到内核空间,复制成功返回0否则返回不能被复制的字节数

2.unsigned  long  copy_to_user(void  __user  *to,const  void  *from,unsigned  long  count);

此函数将内核空间内容复制到用户空间,复制成功返回0否则返回不能被复制的字节数

3.get_user(x, ptr)

此宏复制简单类型到内核空间,

例:int val=0;

        get_user(val, (int  *)arg);

4. put_user(x, ptr)

此宏复制简单类型到用户空间

相关文章推荐

linux内核空间 打开、读、写等文件操作实现

#include #include #include #include #include #include #include   /*   file I/...

例说linux内核与应用数据通信(四):映射设备内核空间到用户态

【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet,文章仅供学习交流,请勿用于商业用途】         一个进程的内存映象由下面几部分组成:代码段、数据段、BSS段和...

Linux内核空间到用户空间的共享内存映射

当内核空间和用户空间存在大量数据交互时, 共享内存映射就成了这种情况下的不二选择; 它能够最大限度的降低内核空间和用户空间之间的数据拷贝, 从而大大提高系统的性能.   以下是创建从内核空间到用户...

linux内核空间和用户空间的介绍和通信

linux驱动程序一般工作在内核空间,但也可以工作在用户空间。下面我们将详细解析,什么是内核空间,什么是用户空间,以及如何判断他们。   Linux简化了分段机制,使得虚拟地址与线性地址总是一致...

Linux内核空间和用户空间及系统调用

linux驱动程序一般工作在内核空间,但也可以工作在用户空间。下面我们将详细解析,什么是内核空间,什么是用户空间,以及如何判断他们。   Linux简化了分段机制,使得虚拟地址与线性地址总是一致,因...

linux内核空间与用户空间信息交互方法(转)

内核空间(kernel-space) VS 用户空间(user-space)作为一个Linux开发者,首先应该清楚内核空间和用户空间的区别。关于这个话题,已经有很多相关资料,我们在这里简单描述如下:现...
  • yuyin86
  • yuyin86
  • 2011年06月21日 13:57
  • 634

Linux内核空间和用户空间传递数据

通常情况下,应用程序通过内核接口访问驱动程序,因此,驱动程序需要和应用程序交换数据。Linux将存储器分为“内核空间”和“用户空间”。操作系统和驱动程序在内核空间运行,应用程序在用户空间运行,两者不能...

linux内核空间和用户空间详解

linux驱动程序一般工作在内核空间,但也可以工作在用户空间。下面我们将详细解析,什么是内核空间,什么是用户空间,以及如何判断他们。 Linux简化了分段机制,使得虚拟地址与线性地址总是一致,因此,...
  • zhangskd
  • zhangskd
  • 2011年11月10日 16:06
  • 21338
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux内核空间与用户空间互访操作
举报原因:
原因补充:

(最多只允许输入30个字)