[XiYouLinux] linux下的write函数的源代码实现是怎样的呢?

69 views
Skip to first unread message

黄虎才

unread,
Apr 24, 2010, 10:22:03 PM4/24/10
to 西邮Linux兴趣小组
linux下的write函数的源代码实现是怎样的呢?查看了glibc中的源代码也没有看到其实现!

--
要退订此论坛请发邮件至 xiyoulinux-...@googlegroups.com
更多选项: http://groups.google.com/group/xiyoulinux?hl=zh-CN
提问前建议您阅读:http://www.xiyoulinux.cn/blog/?p=64
也请查看我们的FAQ:http://xiyoulinux.cn/wiki/index.php?title=FAQ

monan

unread,
Apr 25, 2010, 4:53:57 AM4/25/10
to 黄虎才, 西邮Linux兴趣小组
于 2010年04月25日 10:22, 黄虎才 写道:
> linux下的write函数的源代码实现是怎样的呢?查看了glibc中的源代码也没有

> 看到其实现!
> --
> 要退订此论坛请发邮件至 xiyoulinux-...@googlegroups.com
> 更多选项: http://groups.google.com/group/xiyoulinux?hl=zh-CN
> 提问前建议您阅读:http://www.xiyoulinux.cn/blog/?p=64
> 也请查看我们的FAQ:http://xiyoulinux.cn/wiki/index.php?title=FAQ
看看vfs弄了什么的
想更具体的话 就随便抓一个字符设备的驱动来看啊……

SIE

unread,
Apr 25, 2010, 10:16:01 PM4/25/10
to 黄虎才, 西邮Linux兴趣小组


在 2010年4月25日 上午10:22,黄虎才 <china...@gmail.com>写道:
linux下的write函数的源代码实现是怎样的呢?查看了glibc中的源代码也没有看到其实现!

glibc里头应该只有fwrite吧?
write应该去看内核代码吧。
详细步骤不记得了,大致是到vfs那层,又分什么prepare_write,commit_write之类的,忘掉了。。。。。
一般是到vfs那层有个统一接口,然后具体的fs系统再去实现写动作,例如JFFS2到具体文件系统那层最下面的就是Flash的电擦除和写入了

 

--
要退订此论坛请发邮件至 xiyoulinux-...@googlegroups.com
更多选项: http://groups.google.com/group/xiyoulinux?hl=zh-CN
提问前建议您阅读:http://www.xiyoulinux.cn/blog/?p=64
也请查看我们的FAQ:http://xiyoulinux.cn/wiki/index.php?title=FAQ



--
#apt-get install wife
The following extra packages will be installed:
wife-house wife-car wife-friends wife-dog wife-mother_in_law wife-kid wife-no_more_tv_sports wife-kidlibs wife-bricomanialibs
The following packages will be upgraded:ego-restrainer freedom-throttler
Estimated installation time: 47 years
Do you want to continue [Y/n]?

Amerigo Wang

unread,
Apr 26, 2010, 2:31:05 AM4/26/10
to 黄虎才, 西邮Linux兴趣小组
On Sun, Apr 25, 2010 at 10:22:03AM +0800, 黄虎才 wrote:
>linux下的write函数的源代码实现是怎样的呢?查看了glibc中的源代码也没有看到其实现!
>

你之所以找不到是因为它们是由脚本生成的,你需要查看:

sysdeps/unix/make-syscalls.sh
sysdeps/unix/syscalls.list
sysdeps/unix/syscall-template.S

黄虎才

unread,
Apr 26, 2010, 4:43:46 AM4/26/10
to Amerigo Wang, 西邮Linux兴趣小组
在 2010年4月26日 下午2:31,Amerigo Wang <xiyou.w...@gmail.com>写道:
On Sun, Apr 25, 2010 at 10:22:03AM +0800, 黄虎才 wrote:
>linux下的write函数的源代码实现是怎样的呢?查看了glibc中的源代码也没有看到其实现!
>

你之所以找不到是因为它们是由脚本生成的,你需要查看:

sysdeps/unix/make-syscalls.sh
sysdeps/unix/syscalls.list
sysdeps/unix/syscall-template.S

   就是这个了,谢谢学长!
Reply all
Reply to author
Forward
0 new messages