Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1332600
  • 博文数量: 92
  • 博客积分: 10389
  • 博客等级: 上将
  • 技术积分: 1918
  • 用 户 组: 普通用户
  • 注册时间: 2006-08-10 16:13
文章存档

2014年(1)

2012年(15)

2009年(6)

2008年(37)

2007年(72)

2006年(54)

我的朋友

分类: LINUX

2006-10-16 17:50:05

**如何实现自己的虚拟文件系统,应该是很多人熟悉LINUX一定程度之后很自然的一个想法把,本人也是,因此必须找一个窍门砖让自己一步一步的了解>理解>通达>运用自如.象PROC这么好吃的东西我想你门应该也会想到把,在网上你可以随便找到关于它的精彩分析,不过我要提醒你的是那可是人家早在2001年就有一群人在做的事情了,而我门已经晚了5年了!!!!!!**
##############################################################################
数据结构:
file      vfsmount
dentry
inode
super_block
proc_dir_entry
##############################################################################
/*对于虚拟的文件系统也是需要组织形式和管理的*/
##############################################################################
管理:(提供给用户来建立自己想建立的文件或者文件夹)
##有了这2个函数就可以在我门已经注册的自己的虚拟文件系统中来任意的绘制各种文件或者文件夹咯##
proc_dir_entry是proc文件系统的最基本描述文件的数据结构;
create__proc_entry(const char *name, mode_t mode,struct hello_dir_entry *parent)
remove_proc_entry()
##############################################################################
/*建立自己的文件系统当然需要按照VFS的接口来注册一个自己打造出来的的文件系统*/
register_filesystem(&proc_fs_type)
unregister_filesystem(&proc_fs_type)
这里需要对于描述文件系统超级块的实现:proc_read_super();kernel_mount();do_mount();
/*这样就算是完成了我门自己定制的虚拟文件系统了....*/
##############################################################################
/*但它需要更强大的功能与健壮的身体*/
PS:在create_proc_entry()中我门需要做的就是实现对文本文件,目录,连接符号的3中不同的
inode_file_opretion和file_file_opretion
inode_dir_opretion和file_dir_opretion
inode_link_opretion和file_link_opretion
实现来填充proc_dir_entry中的f_op,i_op
这个的根本原因是我门在create_proc_entry中需要对创建的文件的类型进行判断不负给正确的操作函数
其中还需要实现的就是默认的处理函数:proc_dir_entry中的部分
read_proc_t *read_proc;
write_proc_t *write_proc;
如果有实现file->f_op的话执行文件操作后就返回,如果没有就会调用上面的函数...
##############################################################################
 
 
 
############################这个只是框架##############存在问题###################
阅读(1515) | 评论(0) | 转发(0) |
0

上一篇:vfs 中数据结构_说明

下一篇:arm_gdb建立

给主人留下些什么吧!~~