vfs的super block】的更多相关文章

super block这个数据结构,乃至super block在磁盘上的位置,是哪里的规定? 没规定,1k偏移只是ext文件系统.但是像fat,它们第0扇区后就是保留扇区,但linux一样要识别它们. 知道这个现象就能搞清楚了:双系统的ntf分区,在linux下一样是可以识别并正常操作的,但那些文件系统可能连superblock的概念都没有. vfs层不干预"文件系统格式",所以super block自然也不能干涉. 再说内存里的super block,它跟inode, dentry, file…
本文转载自:https://blog.csdn.net/jhndiuowehu/article/details/50788287 一.基本概念:      1.block:文件系统中存储数据的最小单元,ext3文件系统中,创建时默认4k,分为存储文件数据的data block和存储目录数据的directory block      2.inode:又称“索引节点”,每一个inode对应一个文件或目录,记录了文件的大小.所占用的block以及目录的directory block信息.     3.…

VFS

VFS的作用:为文件系统提供通用的接口. 通用文件模型:common file model.特殊文件系统需要将它的物理结构转换成通用文件模型. common file model包括以下几个重要对象: super block:存储关于文件系统的信息. inode:存储一个特定文件的信息.每个inode都有一个inode号,唯一描述一个文件. file:存储文件与进程交互的信息. dentry:目录项,目录的每个组成部分.例如,/home/xxx/yyy.c中,/,home,xxx,yyy.c都是…
关键术语: 超级快(super block)对象: 一个超级块对应一个具体的文件系统(已经安装的文件系统类型如 ext2,此处是实际的文件系统,不是 VFS). iNode 对象: inode是内核文件对象的元数据,inode 仅仅只是保存了文件对象的属性信息,包括:权限.属组.数据块的位置.时间戳等信息. file 对象: 注意 file 对象描述的是进程已经打开的文件.因为一个文件可以被多个进程打开,所以一个文件可以存在多个文件对象.但是由于文件是唯一的,那么 inode 就是唯一的,目录项…
注:本分类下文章大多整理自<深入分析linux内核源代码>一书,另有参考其他一些资料如<linux内核完全剖析>.<linux c 编程一站式学习>等,只是为了更好地理清系统编程和网络编程中的一些概念性问题,并没有深入地阅读分析源码,我也是草草翻过这本书,请有兴趣的朋友自己参考相关资料.此书出版较早,分析的版本为2.4.16,故出现的一些概念可能跟最新版本内核不同. 此书已经开源,阅读地址 http://www.kerneltravel.net 一.Ext2 文件系统…
linux虚拟文件系统四大对象: 1)超级块(super block) 2)索引节点(inode) 3)目录项(dentry) 4)文件对象(file) 现在先介绍第一个 一.super_block的含义: 超级块代表了整个文件系统,超级块是文件系统的控制块,有整个文件系统信息,一个文件系统所有的inode都要连接到超级块上,可以说,一个超级块就代表了一个文件系统. 说到inode是啥?参照下一篇博客: struct super_block { struct list_head s_list;…
继上一篇文章:http://www.cnblogs.com/linhaostudy/p/7397024.html 3. 文件系统的注册 这里的文件系统是指可能会被挂载到目录树中的各个实际文件系统,所谓实际文件系统,即是指VFS 中的实际操作最终要通过它们来完成而已,并不意味着它们一定要存在于某种特定的存储设备上.比如在笔者的 Linux 机器下就注册有 "rootfs"."proc"."ext2"."sockfs" 等十几种文…
转载:原文地址https://www.ibm.com/developerworks/cn/linux/l-vfs/ 1. 摘要 本文阐述 Linux 中的文件系统部分,源代码来自基于 IA32 的 2.4.20 内核.总体上说 Linux 下的文件系统主要可分为三大块:一是上层的文件系统的系统调用,二是虚拟文件系统 VFS(Virtual Filesystem Switch),三是挂载到 VFS 中的各实际文件系统,例如 ext2,jffs 等.本文侧重于通过具体的代码分析来解释 Linux 内…
VFS是Linux非常核心的一个概念,linux下的大部分操作都要用到VFS的相关功能.这里从使用者的角度,对VFS进行了简单说明.使用者不但需要知道Linux下有哪些文件操作的函数,还需要对VFS的结构有一个比较清晰的了解,才能更好的使用它.例如hard link 与symbolic,如果没有VFS结构的相了解,就无法搞清楚如何使用它们. 本文首先是建立了一个简单的目录模型,然后介绍该目录在VFS的结构,最终总结出如何使用各个文件操作函数. 本着简单使用的原则,主要使用了分析加猜测的方法.鉴于…
总结: VFS只存在于内存中,它在系统启动时被创建,系统关闭时注销. VFS的作用就是屏蔽各类文件系统的差异,给用户.应用程序.甚至Linux其他管理模块提供统一的接口集合. 管理VFS数据结构的组成部分主要包括超级块和inode.   VFS是物理文件系统与服务之间的一个接口层,它对Linux的每个文件系统的所有细节进行抽象,使得不同的文件系统在Linux核心以及系统中运行的进程看来都是相同的. 严格的说,VFS并不是一种实际的文件系统.它只存在于内存中,不存在于任何外存空间.VFS在系统启动…