QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1111|回复: 6

关于编写新的系统调用的问题

[复制链接]
发表于 2004-4-25 11:14:59 | 显示全部楼层 |阅读模式
也许是我没有完全理解书本上的意思,请教一下关于系统调用编写的问题:
1、比如有内核函数sys_gettimeofday(),它和gettimeofday()有什么联系,是不是可以认为编写系统调用的函数是sys_gettimeofday(),而在用户程序中使用系统调用gettimeofday(),通过系统调用表中定义的相应编号来完成该调用。
2、对于上面的例子(假设sys_gettimeofday()还不存在),如果要增加这个系统调用,我是否只需要在sys_call_table中定义了编号,然后编写了sys_gettimeofday(),编译通过就可以了呢?gettimeofday()是不是不用写,在完成前两步后会自动生成?

非常感谢!!!
发表于 2004-4-26 23:07:21 | 显示全部楼层
1 is correct
first half of 2 is correct.

u still need to implement the gettimeofday.
回复

使用道具 举报

发表于 2004-4-27 08:14:41 | 显示全部楼层
有没有在unistd.h中添加新的系统调用?
回复

使用道具 举报

 楼主| 发表于 2004-5-8 11:38:26 | 显示全部楼层
那请问有些系统调用,有sys_和do_开头的函数,这两个前缀有什么关系,谢谢
回复

使用道具 举报

发表于 2004-5-8 15:29:16 | 显示全部楼层
[quote:eeefcbba0a="clx0402"]那请问有些系统调用,有sys_和do_开头的函数,这两个前缀有什么关系,谢谢[/quote]

do_XXXX是真正的实现
回复

使用道具 举报

 楼主| 发表于 2004-5-11 11:07:10 | 显示全部楼层
再问一个:系统调用的函数所在的文件是否一定要放在kernel目录下?还是只要entry.S和unist.h中说明了,放在内核的任意目录下都可以?
谢谢
回复

使用道具 举报

 楼主| 发表于 2004-5-13 22:57:34 | 显示全部楼层
还有一个问题:我完成了entry.S和unist.h中的添加,但没有具体定义该系统调用的函数,make bzImage时是不是会出错?
我写过一个系统调用,但写第二个时遇到了这个问题,出错体提示说在kernel.o中sys_call_table函数没有定义,不知为什么,谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-16 08:36 , Processed in 0.062463 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表