社区
Linux/Unix社区
帖子详情
linux应用程序如何调用内核中的函数?
蚊子许
2018-12-26 04:59:38
我在内核符号表system.map中看到存在该函数,但我想在应用程序中调用,该如何实现呢?
...全文
733
4
打赏
收藏
linux应用程序如何调用内核中的函数?
我在内核符号表system.map中看到存在该函数,但我想在应用程序中调用,该如何实现呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
诺水城子
2019-01-03
打赏
举报
回复
通过系统调用才行的
mouse_zhu
2018-12-26
打赏
举报
回复
用户程序不可用直接调用内核函数,除非通过系统调用接口。syscall函数
蚊子许
2018-12-26
打赏
举报
回复
引用 1 楼 mouse_zhu 的回复:
包含头文件,使用内核树编译
你说的这种方式相当于内核模块,生成的是ko文件,我是想在应用层,使用c标准库函数,同时又能调用内核中的函数,你说的方法好像不是这样的吧
mouse_zhu
2018-12-26
打赏
举报
回复
包含头文件,使用内核树编译
[14本经典Android开发教程]-8-
Linux
内核
阅读心得体会
[14本经典Android开发教程] 8
Linux
内核
阅读心得体会 读核感悟 2 读核感悟
Linux
内核
启动
内核
的生成 2 读核感悟
Linux
内核
启动 从hello world说起 3 读核感悟
Linux
内核
启动 BIOS 5 读核感悟
Linux
内核
启动 setup辅助程序 6 读核感悟
Linux
内核
启动
内核
解压缩 8 读核感悟
Linux
内核
启动 开启页面映射 9 读核感悟
Linux
内核
启动 链接脚本 11 读核感悟 伪装现场 系统
调用
参数 13 读核感悟 伪装现场 fork 系统
调用
15 读核感悟 伪装现场
内核
线程: 17 读核感悟 伪装现场 信号通信 19 读核感悟 kbuild系统
内核
模块的编译 22 读核感悟 kbuild系统 编译到
内核
和编译成模块的区别 24 读核感悟 kbuild系统 make bzImage的过程 26 读核感悟 kbuild系统 make menuconfig 31 读核感悟 文件系统 用C来实现面向对象 32 读核感悟 设计模式 用C来实现虚
函数
表和多态 32 读核感悟 设计模式 用C来实现继承和模板 33 读核感悟 设计模式 文件系统和设备的继承和接口 34 读核感悟 设计模式 文件系统与抽象工厂 36 读核感悟 阅读源代码技巧 查找定义 37 读核感悟 阅读源代码技巧 变量命名规则 42 读核感悟 内存管理
内核
中
的页表映射总结 43 读核感悟 健壮的代码 exception table
内核
中
的刑事档案 44 读核感悟 定时器 巧妙的定时器算法 45 读核感悟 内存管理 page fault处理流程 45 读核感悟 文件读写 select实现原理 47 读核感悟 文件读写 poll的实现原理 49 1 功能介绍: 49 2 关键的结构体: 49 3 poll的实现 49 4 性能分析: 50 读核感悟 文件读写 epoll的实现原理 50 1 功能介绍 50 2 关键结构体: 51 3 epoll create的实现 53 4 epoll ctl的实现 53 5 epoll wait的实现 54 6 性能分析 54 读核感悟 同步问题 同步问题概述 55 1 同步问题的产生背景 55 2
内核
态与用户态的区别 55 读核感悟 同步问题
内核
态自旋锁的实现 56 1自旋锁的总述 56 2非抢占式的自旋锁 56 3 锁的释放 57 4 与用户态的自旋锁的比较 57 5 总结 58 读核感悟 内存管理 free命令详解 58 读核感悟 文件读写 2 6 9
内核
中
的AIO 59 1 AIO概述 59 2
内核
态AIO的使用 61 读核感悟 文件读写
内核
态AIO相关结构体 61 1
内核
态AIO操作相关信息 61 2 AIO上下文: 63 3 AIO ring 63 4 异步I O事件的返回信息 64 读核感悟 文件读写
内核
态AIO创建和提交操作 65 1 AIO上下文的创建 io setup 65 2 AIO请求的提交:io submit实现机制 66 读核感悟 文件操作 AIO操作的执行 66 1 在提交时执行AIO 66 2 在工作队列
中
执行AIO 66 3 负责AIO执行的核心
函数
aio run iocb 67 4 AIO操作的完成 67 读核感悟 文件读写
内核
态是否支持非direct I O方式的AIO 67 已上传7本: [14本经典Android开发教程] 1 Android开发从入门到精通 http: download csdn net detail cleopard 8355245 [14本经典Android开发教程] 2 Android开发手册 API
函数
详解 http: download csdn net detail cleopard 8374487 [14本经典Android开发教程] 3 Android SDK
中
文开发文档 http: download csdn net detail cleopard 8380429 [14本经典Android开发教程] 4 Android
应用程序
开发36技 http: download csdn net detail cleopard 8380495 [14本经典Android开发教程] 5
linux
Android基础知识总结 http: download csdn net detail cleopard 8380529 [14本经典Android开发教程] 6 Android驱动开发入门及手机案例开发分析教程 http: download csdn net detail cleopard 8388019 [14本经典Android开发教程] 7 Android编程入门教程 http: download csdn net detail cleopard 8388043 剩余8本稍后上传 @或直接从这里寻找@ http: download csdn net user cleopard album @更多@ http: cleopard download csdn net 福利 http: xuemeilaile com 17份软件测试文档 http: download csdn net album detail 1425 13份WPF经典开发教程 http: download csdn net album detail 1115 C#资料合辑二[C#桌面编程入门篇] http: download csdn net album detail 957 C#资料合辑一[C#入门篇] http: download csdn net album detail 669 [Csharp高级编程 第6版 ] 共8压缩卷 http: download csdn net album detail 667 10个[精品资源]Java学习资料合辑[一] http: download csdn net album detail 663 10个C#Socket编程代码示例 http: download csdn net album detail 631 6份GDI+程序设计资源整合[全零分] http: download csdn net album detail 625 2014年移动游戏行业数据分析 http: download csdn net detail cleopard 8340331 一文读懂2014年全球互联网广告新生态 http: download csdn net detail cleopard 8340303">[14本经典Android开发教程] 8
Linux
内核
阅读心得体会 读核感悟 2 读核感悟
Linux
内核
启动
内核
的生成 2 读核 [更多]
Android安全机制 PPT版本
Android
应用程序
是运行在一个沙箱
中
。这个沙箱是基于
Linux
内核
提供的用户ID(UID)和用户组ID(GID)来实现的。Android
应用程序
在安装的过程
中
,安装服务PackageManagerService会为它们分配一个唯一的UID和GID,以及根据
应用程序
所申请的权限,赋予其它的GID。有了这些UID和GID之后,
应用程序
就只能限访问特定的文件,一般就是只能访问自己创建的文件。此外,Android
应用程序
在
调用
敏感的API时,系统检查它在安装的时候会没有申请相应的权限。如果没有申请的话,那么访问也会被拒绝。对于有root权限的
应用程序
,则不受上述沙箱限制。此外,有root权限的
应用程序
,还可以通过
Linux
的ptrace注入到其它
应用程序
进程,以及系统进程,进行各种
函数
调用
拦截。
Linux
0.11
内核
main
函数
那些事
本课程介绍
Linux
0.11版本
内核
如何人工设置第一个任务(task 0)以及任务0从
内核
态切换到用户态的详细过程。包括全局描述符表
中
的TSS0描述符和LDT0描述符的创建过程。与引导过程
中
全局描述符表及局部描述符表的创建过程构成了一个有机的知识块。在任务0从
内核
态切换到用户态过程
中
,可以学习到
内核
态堆栈与用户态堆栈概念相关的源代码。课程还会介绍嵌入式汇编的基本语法,帮助进阶
内核
代码阅读。课程最后会介绍,任务0 fork()任务1 init进程的过程,以及在进程1
中
使用fork()创建登录shell及交互shell的过程。
linux
内核
模块是如何
调用
的
内核
函数
?
linux
内核
模块是如何
调用
的
内核
函数
? 在学习
Linux
设备驱动的过程一直有一个疑惑: 我们在写用户空间程序的后自然是需要include用户空间的头文件,而头文件
中
声明
函数
的定义又需要编译成库或目标文件,链接到最终的可执行文件
中
去。但是在编写
内核
模块的时候,从哪里找的
linux
内核
头文件呢?而
linux
内核
头文件
中
对应
函数
的定义又放在哪里的呢? 事实上我们想要编译
内核
模块首先就需要构建好
内核
源码树,或者直接使用本系统的
内核
头文件,我们一般都是直接使用本地的
内核
头文件的,放在:/usr/src/
linux
-
Linux
系统
调用
怎么
调用
到
内核
态
函数
的
Linux
系统
调用
怎么
调用
到
内核
态
函数
的 用户态
应用程序
App在编写代码时,使用open/read/write等系统
调用
进行文件操作。 系统
调用
向下
调用
glibc库
中
与open/read/write相关的接口
函数
。 无论是App还是glibc都是出于
Linux
用户态,怎么切换到
Linux
内核
态呢?对于32位ARM处理器,需要使用swi指令;对于64位ARM处理器,需要svc指令。 在切换到
内核
态后,
内核
怎么知道你是从glibc的open接口进来的还是从glibc的read接口进来的呢?这就需要在切换时
Linux/Unix社区
23,110
社区成员
74,506
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章