linux inode基本概念

内存中的inode

VFS inode包含文件访问权限、属主、组、大小、生成时间、访问时间、最后修改时间等信息。它是linux管理文件系统的最基本单位,也是文件系统链接任何子目录、文件的桥梁。inode结构中的静态信息取自物理设备上的文件系统,由文件系统指定的函数填写,它只存在于内存中,能够经过inode缓存访问。虽然每一个文件都有相应的inode结点,可是只有在须要的时候系统才会在内存中为其创建相应的inode数据结构,创建的inode结构将造成一个链表,咱们能够经过遍历这个链表去获得咱们须要的文件结点,VFS也为已分配的inode构造缓存和hash table,以提升系统性能。inode结构中的struct inode_operations *iop为咱们提供了一个inode操做列表,经过这个列表提供的函数咱们能够对VFS inode结点进行各类操做。每一个inode结构都有一个i结点号i_ino,在同一个文件系统中每一个i结点号是惟一的。node

磁盘上的inode

EXT2经过使用inode来定义文件系统的结构以及描述系统中每一个文件的管理信息,每一个文件都有一个inode且只有一个,即便文件中没有数据,其索引结点也是存在的。每一个文件用一个单独的Ext2 inode结构来描述,并且每个inode都有惟一的标志号。Ext2 inode为内存中的inode结构提供了文件的基本信息,随着内存中inode结构的变化,系统也将更新Ext2 inode中相应的内容。Ext2 inode对应的是Ext2_inode结构。linux

对比

位置: VFS inode结构位于内存中,而Ext2_inode位于磁盘。
生存期: VFS inode在须要时才会被创建,若是系统断电,此结构也随之消失。
惟一性: 二者在本身的做用域中都是惟一的。
关系: VFS inode是Ext2 inode的抽象、映射与扩充,然后者是前者的静态信息部分,也是对前者的具体化、实例化和持久化。
操做: 对VFS inode的操做具备通用性,对文件系统inode的操做则是文件系统相关的,依赖于特定的实现。
组织管理: 系统经过VFS inode链表来对其进行组织,而且为了提升访问效率相应地构造了inode构造缓存和hash table。Ext2 inode的信息位于EXT2文件系统的划分的块组中,在每一个块组中包含相应的inode位图、inode表指定具体的inode信息,每一个inode对应Ext2_inode结构。缓存

相关文章
相关标签/搜索