社区
Linux_Kernel
帖子详情
我如何调用 内核函数 /linux/fs 里面的内核 函数:比如 自己的程序调用 ext3_delete_inode
jekky001
2009-04-07 01:37:34
我如何调用内核里面的函数,比如 /linux/fs/ext3 里面的 提供的函数.比如 ext3_delete_inode
我看了下, 不知道是不是属于系统调用,
而且看了些系统调用的资料, 也没有比较简单的入门事例,显得无所适从.
希望各位给引点 一下, 非常感谢.
...全文
403
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
Windows
内核
-X64汇编
X64新增的寄存器VS集成64位汇编环境64位汇编传参问题汇编
里面
调用
外部
函数
全局变量定位
linux
内核
无法使用数学
函数
解决方法
linux
内核
无法使用数学
函数
解决方法 1、在
linux
内核
中
调用
用户空间的
程序
2、
linux
内核
调用
用户
程序
(带
程序
) 3、自己写一个数学
函数
(指数与对数)
Linux
文件系统
在操作系统的
内核
中定义了一系列内
核
函数
,供应用
程序
调用
,但是为了操作系统的安全,这些
函数
不能被直接
调用
,而是向应用
程序
提供了一系列API,应用
程序
调用
API切换到
内核
态
调用
内
核
函数
就是系统
调用
。 系统
调用
负责把应用
程序
的请求传给
内核
,
调用
相应的内
核
函数
完成所需的处理,然后将处理结果返回给应用
程序
。 UNIX/
Linux
大分部的系统功能是通过系统
调用
实现的,这些系统
调用
被封装成了C
函数
的形式,但它们并不是真正的
函数
。
linux
内核
学习笔记!——初识
内核
用户应用
程序
跟
内核
代码运行在不同的空间
里面
,应用
程序
运行在用户空间,
内核
程序
运行在
内核
空间
里面
。
内核
里面
的
函数
是给我们的应用
程序
来
调用
的,但是应用
程序
不能直接
调用
内核
里面
的
函数
,必须通过系统
调用
来
调用
它。 系统
调用
接口(API)本质上也是
函数
的集合,是对应用
程序
开放的,应用
程序
或者C语言库文件通过
调用
这些
函数
来使用
内核
的服务,
调用
API的
函数
这一过程通常叫系统
调用
。 ...
linux
分区方案 arv,
Linux
运维 第三阶段 (九)N
FS
Linux
运维第三阶段(九)N
FS
n
fs
为方便文件有序管理,把磁盘disk空间在
内核
映射为一种软件结构,通过文件系统
FS
管理工具(mke2
fs
)将磁盘格式为某分区格式(ext4),则disk被分为元数据区和数据区对硬件操作只有
内核
,
函数
调用
(或过程
调用
,
内核
输出的
函数
read(),write())一般讲,本地应用
程序
application实现某个操作,都是本地
调用
(本地的两个
程序
间或
程序
与
内核
间调...
Linux_Kernel
4,417
社区成员
17,463
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章