社区
Linux_Kernel
帖子详情
我如何调用 内核函数 /linux/fs 里面的内核 函数:比如 自己的程序调用 ext3_delete_inode
jekky001
2009-04-07 01:37:34
我如何调用内核里面的函数,比如 /linux/fs/ext3 里面的 提供的函数.比如 ext3_delete_inode
我看了下, 不知道是不是属于系统调用,
而且看了些系统调用的资料, 也没有比较简单的入门事例,显得无所适从.
希望各位给引点 一下, 非常感谢.
...全文
417
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
系统编程相关.pdf
系统
调用
的流程一般涉及到参数准备、触发中断、执行内
核
函数
等步骤。 文件系统管理中,还涉及到了文件系统挂载点的概念。文件系统类型如EXT2、
EXT3
定义了文件系统存储和访问数据的方式。系统
调用
如creat用于创建...
ext4_dirty_i
node
与ext4_do_update_i
node
函数
详解
定义在
fs
/ext4/i
node
.c中,其内容如下: void ext4_dirty_i
node
(struct i
node
*i
node
, int flags) { handle_t *handle; if (flags == I_DIRTY_TIME) return; handle = ext4_journ...
【
LINUX
】某操作后内
核
函数
调用
次数,第一列为
调用
次数
10
fs
/ext4/balloc.c#ext4_get_group_no_and_of
fs
et#59 10
fs
/ext4/balloc.c#ext4_read_block_bitmap_nowait#475 10
fs
/ext4/extents.c#ext4_convert_unwritten_extents#4856 10
fs
/ext4/file.c#ext4_file_open#880 ...
ext2文件系统之ext2_lookup
函数
源代码分析
之前我们讲过v
fs
虚拟文件系统的lookup文件查找的实现,知道当
内核
的缓存没有找到的时候,就会
调用
到i
node
_operations结构体的lookup
函数
来实现,我们今天以ext2文件系统为例,来讲解一下对应文件系统的lookup
函数
的...
ext2文件系统源代码之i
node
.c
在讲这个文件之前,我需要仙鹤大家说一个概念,就是间接块的概念,ext2文件系统在块大小为4096的时候可以支持的最大文件大小是4T大小,而ext2_i
node
结构体,就是ext2文件系统的i
node
在硬盘上的存储格式,__le32 ...
Linux_Kernel
4,464
社区成员
17,462
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章