kernel 学习 : 文件系统

一.  VFS抽象:  提供一个通用模型,包括了文件操作全集,抽象给上层使用.

                                    -- V F S --

        用户 write() => sys_write() =>  具体文件系统调用 ==> 物理设备


        VFS中,目录也当做普通文件看待,操作集没有本质不同。

        文件的信息和文件本身分两部分存储,信息放在inode里面(如权限,size,owner等);

        查看目前filesystem的情况可以用:

        a. mount

        b. df -lhT

        c. " fdisk  /dev/sda " + p



二.代码

      据说VFS主要有四种对象类型:super, inode, dentry, file;下面分别介绍和试用看看.

     super :

              super_block结构,这是个链表;安装文件系统时,会用alloc_super()创建并初始化。

              super_ops包含 创建/删除/修改 inode等.

     inode:

             代表一个文件的操作; 例如symlink, rename等.

     dentry:

             "路径目录项", 是临时生成的,用来查找路径方便.

     file:

            这个最常用了,比如write - read - seek 等。


.三. 关于I/O设备

       块设备与字符设备。块设备指硬盘灯,能随机读取。字符设备指键盘等,只能顺序读。

      块是最小寻址单位,必须是2幂,一般512或1K。



                                     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值