社区
Linux_Kernel
帖子详情
我如何调用 内核函数 /linux/fs 里面的内核 函数:比如 自己的程序调用 ext3_delete_inode
jekky001
2009-04-07 01:37:34
我如何调用内核里面的函数,比如 /linux/fs/ext3 里面的 提供的函数.比如 ext3_delete_inode
我看了下, 不知道是不是属于系统调用,
而且看了些系统调用的资料, 也没有比较简单的入门事例,显得无所适从.
希望各位给引点 一下, 非常感谢.
...全文
450
11
打赏
收藏
我如何调用 内核函数 /linux/fs 里面的内核 函数:比如 自己的程序调用 ext3_delete_inode
我如何调用内核里面的函数,比如 /linux/fs/ext3 里面的 提供的函数.比如 ext3_delete_inode 我看了下, 不知道是不是属于系统调用, 而且看了些系统调用的资料, 也没有比较简单的入门事例,显得无所适从. 希望各位给引点 一下, 非常感谢.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
DIE654456
2009-04-26
打赏
举报
回复
程序运行分为 内核态(系统态) 和 用户态
内核态下可以访问所有程序空间,包括系统程序和用户程序, 而用户态下只能访问程序本身的空间或者某些共享空间。
/linux/fs/ext3 里边的 ext3_delete_inode 函数应该属于内核函数,
内核函数需要访问系统空间,在系统态下可以直接调用,在用户态下不能直接调用,需要进行系统调用 。
如果你写的程序属于系统程序,如操作系统,驱动程序,应该可以直接引用调用。
如果你写的程序属于普通应用程序程序, 想使用内核函数的话,必须进行系统调用。
通常 系统调用过程为
用户程序要求调用内核函数(处于用户态) --》 转入中断处理 --》 中断调用系统的内核函数(处于内核态)
《-- 中断返回 《-- 系统调用返回
希望对你有点帮助
Lucky
jekky001
2009-04-25
打赏
举报
回复
谢谢 fetag 的热情回复。我会努力学习,总有一天,我会有自己的一片天下,所有的人都会求着我为他们干活的。
独孤过儿
2009-04-24
打赏
举报
回复
Sorry. 8楼的回复作废,贴错帖子了
独孤过儿
2009-04-24
打赏
举报
回复
Linux/include/linux/fcntl.h中,下面的定义:
35 #define AT_FDCWD -100 /* Special value used to indicate
36 openat should use the current
37 working directory. */
38 #define AT_SYMLINK_NOFOLLOW 0x100 /* Do not follow symbolic links. */
morris88
2009-04-24
打赏
举报
回复
貌似这个根本就不是问题吧。
1、如果你在作核心的程序,如模块等,那就加上头文件就行了
2、如果你在作应用层程序,那么你就不能这么干了;如果它属于系统 API,那么也是包含头文件,直接调用该函数就行了;
如果该函数属于核心的,但没有提供系统API接口,那么你包含了头文件,也没用,在这种情况创建一个模块,
放到内核当中, 调用 fs 提供的函数,并将其通过系统 API 提供给应用层,然后在应用程序中。
jekky001
2009-04-23
打赏
举报
回复
我真的可以吧头文件 加进来 就可以直接调用吗???????比如 加进 有关 inode 的头文件, 比如 inode.h ,我就可以调用其函数了吗 ???
还是 我必须自己创建一个模块 放到内核当中, 调用 fs 提供的函数 , 然后在应用程序中调用我自己的接口。
到底哪种对呢
allanqyz
2009-04-09
打赏
举报
回复
#include<.../fs.h>你可以你去内核代码中搜索要调用的函数 找到后把声明的头文件加进来就好了
morris88
2009-04-07
打赏
举报
回复
如果是在核心,可以直接调用。如果在应用层,没有系统调用接口,没法直接调用的;不过,你可以自己添加一个系统调用接口,然后在应用层调用。
jekky001
2009-04-07
打赏
举报
回复
非常感谢楼上的回复.
我知道原理, 楼上说的网址我也看了, 我只是不知道如何去调用这些函数.
简单点, 我想调用 /linux/fs/ext3/inode.c 里面的 ext3_delete_inode 函数,
但是我不知道怎么调用.
是不是属于系统调用,怎么调用, 有没有特别简单的例子 ./ 我现在连入门都没有入门,脑子一团乱.
猫已经找不回了
2009-04-07
打赏
举报
回复
http://www.ibm.com/developerworks/cn/linux/l-cn-filesrc4/index.html
xhy_851221
2009-04-07
打赏
举报
回复
up
Linux
磁盘分区实战:从fdisk到ext4挂载的完整指南
本文系统讲解
Linux
下基于fdisk的磁盘分区全流程,涵盖MBR/GPT选型、主/逻辑分区原理、ext4文件系统特性与调优(如noatime、barrier、stride参数)、设备识别与
内核
缓存刷新、UUID持久挂载及/etc/
fs
tab安全配置。重点解析生产环境中常见问题:fdisk-l不可见分区、mk
fs
.ext4资源忙、挂载后I/O性能瓶颈,以及国产
Linux
(统信UOS/麒麟V10)适配要点。所有内容聚焦存储生命周期管理核心能力。
Linux
磁盘分区原理与实战:从fdisk到ext4性能调优
本文深入解析
Linux
磁盘分区原理,涵盖fdisk/GPT分区对齐、ext4文件系统深度配置(块大小-b、i
node
密度-i、日志模式-J)、挂载优化(noatime、discard、预留空间-m)及故障排查链路。重点揭示物理扇区对齐对SSD/U盘性能的影响,以及mk
fs
.ext4参数对数据库和日志场景的关键作用,所有操作均基于真实U盘环境验证。
Linux
cp、mv、cat命令深度解析:从文件操作到
内核
行为
本文深入剖析cp、mv、cat三大核心命令在
Linux
内核
层面的行为机制:cp涉及i
node
与data blocks的双重搬运及-p/-a选项对元数据(ACL/SE
Linux
/xattr)的系统
调用
保障;mv在同一文件系统下依赖原子rename(),跨文件系统则退化为cp+rm,存在中断风险;cat作为管道基石,其Here Document、编码处理、零拷贝管道优化及国产化增强(SMACK/国密集成)均被实证解析。内容覆盖国产OS(UOS/麒麟)、WSL2与嵌入式(BusyBox)环境差异,聚焦真实故障场景与
内核
系统
调用
本质。
Linux
系统中虚拟文件是,
Linux
系统中虚拟文件系统
内核
机制研究
本文介绍了
Linux
环境下多种文件系统的初始化过程及如何通过虚拟文件系统(V
FS
)访问Ext2文件系统。文章详细阐述了不同文件系统的初始化
函数
及注册流程,并解释了进程如何通过V
FS
接口与Ext2文件交互。
ext4文件误删恢复实战:用ext4magic抢回87%生产数据
本文详述在禁用journal的ext4生产环境中,使用ext4magic恢复被rm误删文件的全过程。核心包括:理解误删本质(i
node
释放而非数据擦除)、避免关机与重装、利用ext4magic全量扫描i
node
表、精准按路径前缀与删除时间过滤、处理MySQL表空间等关键文件的特殊恢复流程,以及Live CD环境适配、分区卸载技巧和三大避坑铁律。最终成功恢复87%关键业务数据。
Linux_Kernel
4,469
社区成员
17,458
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章