当前位置:  技术问答>linux和unix

如何在用户态调用内核态的函数?

    来源: 互联网  发布时间:2016-01-29

    本文导语:  在一个module中,已经编写一组函数,并且EXPORT_SYMBOL之。但是想被一个用户态的应用程序,目的是为了让用户态把某个参数传进来。直接调用或syscall都未能作用。本人刚开始KERNEL开发,请指教。 应用程序在编译连接...

在一个module中,已经编写一组函数,并且EXPORT_SYMBOL之。但是想被一个用户态的应用程序,目的是为了让用户态把某个参数传进来。直接调用或syscall都未能作用。本人刚开始KERNEL开发,请指教。

应用程序在编译连接过程中,总会有UNDEFINED REFERENCE.

|
可以用syscall来实现,但是光EXPORT_SYMBOL是不行的,要在calls.S中把你的那个函数添加进来

|
EXPORT_SYMBOL的作用是把函数导出到内核符号表里面,从而提供给内核里面的其他文件(模块)使用。不是用来给用户态的程序调用的!这种想法就是危险的!
另外,如果说像使用自己定义的系统调用的话,可以参见lkd第五章的内容。里面说的很清楚。

其实一般情况下完全不需要通过诸如添加系统调用的方法来实现所谓的“为了让用户态把某个参数传进来”这样的功能。有太多的其他(也是常规的办法)。比如说你写个驱动模块,用procfs, etc.关键看需求。

|
insmod时可以作为模块参数传,运行时ioctl也可以传。

|
LZ的这种需求很正常
我通常的做法是
在内核模块中实现IOCTL,而在这个IOCTL里调用你在内核中导出的函数
在应用程序中
你调用这个IOCTL就可以了
很方便的

    
 
 

您可能感兴趣的文章:

  • Linux进程的内核栈和用户栈概念,相互关系及切换过程
  • 求内核和用户态简单易行的通信方法,用户态只需得到一个内核模块参数
  • 内核栈~ 内核线程 ~用户线程 之间关系 问题
  • 内核空间能否调用用户空间程序?
  • 在内核的某个函数中,如何能知道是哪个用户空间的函数调用了它,以及这个用户空间函数所在的文件?
  • linux 用户态和内核态
  • daemon 是属于 用户态编程 还是 内核态编程? 关于内核编程的书/资料介绍些好吗?
  • 请问内核空间和用户空间有什么区别,是怎么划分的.谢谢
  • 用户模式和内核模式
  • 用户态程序如何和多个内核模块进行同时数据交互??
  • 关于内核进程和用户层命令不是很理解?
  • 内核访问用户空间
  • linux用户空间到内核空间数据传递
  • 关于内核空间和用户空间之间的实时通信?
  • 用户层的数据怎么传输到内核层呢?谢谢!
  • 如何利用Linux内核线程来保存用户进程
  • :(关于用户态和内核态不懂,帮帮忙啊。
  • 用户空间的程序如何改成运行于内核的?
  • 内核进程与用户进程间的通信
  • 用户空间如何访问内核变量。
  • 内核与用户进程通信得问题,求助!
  • 内核调用用户态函数的问题
  • 如何修改内核 来控制用户空间的程序 的系统调用.
  • 用户态调用除0错中断的问题
  • Asp.Net其他页面如何调用Web用户控件写的分页
  • 以普通用户的身份登陆到unix,能不能调用shell执行特定的操作?
  • 关于用户态程序ioctl调用内核模块接口
  • 在用户程序中怎样调用内核函数?
  • 在linux kernel 里添加了系统调用,如何在用户程序中调用添加的系统调用呢?急
  • c#通过进程调用cmd判断登录用户权限代码分享
  • 问:系统调用的原理,一个C函数怎么就把系统功能提供给了用户程序呢?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 应用程序为普通用户所有,不改变其所有,如何在程序中使用超级用户级别的函数啊
  • 关于打印用户空间函数栈的问题
  • 请问如何用system函数切换到root用户
  • 用哪些函数可以得到执行一个程序的系统CPU时间,用户CPU时间,时钟时间啊?
  • 在LINUX系统下编译用户态的代码时提示undefined refirence to "函数名"错误请求帮助?谢谢!!
  • JSP 里面 怎么取得用户 的IP地址???有没有什么函数可以做到?
  • 用jsp那个函数可以得到用户的IP地址,急救。谢谢!!!!!
  • 请问什么c函数能取得当前用户名?
  • please help me ?如何像用户程序一样用man命令察看内核定义函数,如printk,kmalloc等?
  • 为什么IO函数要把内容从内核缓冲区拷贝到用户缓冲区? 有点浪费
  • linux下有添加用户的函数吗?
  • 在sql Server自定义一个用户定义星期函数
  • php中filter函数验证、过滤用户输入的数据
  • php中filter函数验证、过滤用户输入数据综合示例
  • 从创建数据库到存储过程与用户自定义函数的小感
  • php用户注册邮箱验证(1)加密函数authcode
  • CREATE FUNCTION sqlserver用户定义函数
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 概念混乱,请专人解释:实际用户ID,有效用户ID,设置用户ID
  • UIO(linux Userspace I/O子系统)用户空间设备驱动I/O技术介绍
  • proftp中,如何让FTP的用户是非Linux用户,只是FTP用户?
  • CentOS安装Telnet,以root用户登陆Telnet以及CentOS的各种终端解释
  • windows 系统是否是多用户操作系统,如何理解“多用户操作系统”的“多用户”?
  • 我装的是RED HAT LINUX 8.0,我在root用户中把root用户删除了,怎办也进不了root用户
  • 怎样让普通用户拥有超级用户的权限,是把普通用户的组设为root组吗?具体怎么做,急死了
  • 我一个服务器同时接受到很多个用户的认证请求(得到用户名和密码),然后把用户名密码发给认证服务器。因为是远程认证,所
  • 我装了中软Linux3.1,启动时要求输入用户名和口令,但安装时并没有提示指定用户名,所以现在输入用户名老是错误,不能进入系统,请问该怎
  • root用户附权限给其他用户问题
  • 如何添加一个用户,让这个用户只能访问某个特定的目录,
  • 如何过滤系统用户只显示创建的用户?
  • 匿名用户登录nobody用户的作用


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3