`
highsky
  • 浏览: 275054 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Linux核心数据结构--inode

阅读更多
此VFS inode结构描叙磁盘上一个文件或目录的信息。

struct inode {

    kdev_t                       i_dev;

    unsigned long                i_ino;

    umode_t                      i_mode;

    nlink_t                      i_nlink;

    uid_t                        i_uid;

    gid_t                        i_gid;

    kdev_t                       i_rdev;

    off_t                        i_size;

    time_t                       i_atime;

    time_t                       i_mtime;

    time_t                       i_ctime;

    unsigned long                i_blksize;

    unsigned long                i_blocks;

    unsigned long                i_version;

    unsigned long                i_nrpages;

    struct semaphore             i_sem;

    struct inode_operations      *i_op;

    struct super_block           *i_sb;

    struct wait_queue            *i_wait;

    struct file_lock             *i_flock;

    struct vm_area_struct        *i_mmap;

    struct page                  *i_pages;

    struct dquot                 *i_dquot[MAXQUOTAS];

    struct inode                 *i_next, *i_prev;

    struct inode                 *i_hash_next, *i_hash_prev;

    struct inode                 *i_bound_to, *i_bound_by;

    struct inode                 *i_mount;

    unsigned short               i_count;

    unsigned short               i_flags;

    unsigned char                i_lock;

    unsigned char                i_dirt;

    unsigned char                i_pipe;

    unsigned char                i_sock;

    unsigned char                i_seek;

    unsigned char                i_update;

    unsigned short               i_writecount;

    union {

        struct pipe_inode_info   pipe_i;

        struct minix_inode_info  minix_i;

        struct ext_inode_info    ext_i;

        struct ext2_inode_info   ext2_i;

        struct hpfs_inode_info   hpfs_i;

        struct msdos_inode_info  msdos_i;

        struct umsdos_inode_info umsdos_i;

        struct iso_inode_info    isofs_i;

        struct nfs_inode_info    nfs_i;

        struct xiafs_inode_info  xiafs_i;

        struct sysv_inode_info   sysv_i;

        struct affs_inode_info   affs_i;

        struct ufs_inode_info    ufs_i;

        struct socket            socket_i;

        void                     *generic_ip;

    } u;

};

分享到:
评论

相关推荐

    util-linux-ng-util-linux-ng-2.17.2-12.24.el6_8.1.zip

    fsck支持多种文件系统类型,如ext2、ext3、ext4等,它会检查inode和文件的完整性,确保目录结构正确无误,从而保持数据的安全性和可靠性。 综上所述,util-linux-ng工具集在Linux系统维护中扮演着核心角色。无论是...

    iNodeClient-Linux64-7.30(E0630).tar.gz

    iNode(Index Node)是Linux文件系统用来存储文件元数据的数据结构,这些元数据包括文件的所有者、权限、大小、创建和修改时间等信息。每一个文件或目录在Linux文件系统中都对应一个唯一的iNode号,通过这个号码,...

    iNodeClient for Linux 64 bits

    在Linux系统中,iNode是文件系统中用于存储文件元数据的一种数据结构,它记录了文件的大小、创建时间、修改时间、访问权限等信息。iNode是文件系统的核心组成部分,它为每个文件或目录分配一个唯一的标识符,即iNode...

    LINUX编程白皮书001-12

    9. **文件系统**:Linux的iNode数据结构存储了文件的各种元信息,如权限、大小、修改时间等,同时,文件系统使用B+树等数据结构进行高效索引。 10. **网络编程**:socket套接字结构、缓冲区等数据结构在处理网络...

    linux-inode

    综上所述,inode是Linux文件系统中不可或缺的一部分,对inode的深入了解有助于更好地掌握Linux操作系统的核心原理和技术细节。通过理解inode的工作方式,不仅可以提高系统的操作水平,还能更深入地体会到Unix设计...

    linux数据结构[汇编].pdf

    5. **inode**:这是Linux内核中用来表示文件或目录的关键数据结构,存储了文件元数据,如权限、大小、创建时间等。 6. **ipc_perm**:此结构用于System V IPC对象的权限控制,定义了不同进程对IPC资源的访问权限。 ...

    linux 虚拟文件系统数据结构关系

    `inode` 是VFS中最核心的数据结构之一,代表了文件系统中的一个文件或目录。`inode` 包含了文件的所有元数据信息,例如: - `i_mode`: 文件权限。 - `i_uid`: 文件所有者的用户ID。 - `i_gid`: 文件所有者的组ID。 ...

    iNode HC for linux

    iNode是Linux文件系统中每个文件或目录所对应的结构体,它并不直接存储文件的数据,而是存储了指向文件数据块的指针。每个iNode包含以下关键信息: 1. **文件的权限和所有权**:包括用户和组的读、写、执行权限。 2...

    iNodeClient-ARM-7.30(E0630).tar.gz

    1.1 iNode定义:iNode是Linux文件系统中的一种数据结构,存储了文件的各种元数据,包括文件的所有者、权限、大小、创建时间、修改时间等,但不包含文件的实际内容。每个文件或目录在文件系统中都有一个唯一的iNode号...

    iNode for linux 5.2

    iNode是一个数据结构,它像索引一样,帮助系统快速定位和管理文件。不同于直接存储文件内容,iNode主要存储文件的属性信息和指向文件实际数据块的指针。 在Linux 5.2版本中,iNode系统得到了进一步的优化和增强。这...

    Linux_iNodeClient.tar

    每个iNode是一个数据结构,存储了文件系统中每个文件或目录的相关元数据,包括文件的所有者、权限、创建时间、修改时间、大小以及文件在硬盘上的物理位置等信息。通过iNode,系统可以快速地查找和访问文件,而无需...

    Linux文件系统模拟---代码加文档

    在Linux操作系统中,文件系统是组织和管理磁盘上的数据的核心组成部分。文件系统不仅负责存储、检索和保护文件,还负责管理磁盘空间,确保数据的一致性和完整性。本项目"Linux文件系统模拟"旨在通过代码和文档的形式...

    Linux操作系统简介-英文

    Linux的核心特点是其模块化的结构,这使得系统可以灵活地适应各种不同的硬件配置。这种设计原则不仅提高了系统的可扩展性,还降低了维护成本。Linux内核的设计允许开发者根据实际需求添加或移除特定功能,确保系统在...

    iNodeClient_Linux.zip

    inode是Linux和类Unix系统中用来存储文件元数据的重要结构,包含了文件的所有者、权限、大小、创建和修改时间等信息,而iNodeClient则是将这些功能以用户友好的界面呈现出来,方便用户进行高效的操作。 iNodeClient...

    LINUX编程白皮书001-07

    - **硬链接**: 文件的多个名字,都指向相同的inode(文件的元数据结构),删除其中一个不会影响其他链接。 7. **文件系统管理** - **df和du命令**: 分别用于查看磁盘空间的总览和详细使用情况。 - **fsck**: ...

    iNodeClient_Linux.tar.gz

    iNode是一个数据结构,存储了关于文件的重要信息,如文件大小、创建时间、修改时间、权限设置等,但不包含文件的实际数据。iNode通过一个索引节点号(iNumber)与文件关联,使得系统能快速找到并访问文件。 iNode...

    Linux_iNode_索引节点[借鉴].pdf

    iNode是一个数据结构,存储了关于文件的重要元信息,而非文件的实际内容。它包含文件的大小、所有权、权限、时间戳(ctime、mtime、atime)以及文件数据块的位置等。每个文件在Linux系统中都有一个唯一的iNode,通过...

    LInux操作系统基础-第二部分.pptx

    Linux文件系统是Linux操作系统的核心组成部分,它按照特定的目录结构组织文件和目录,允许用户高效地管理和访问数据。在Linux中,一切皆为文件,包括设备、目录等。文件系统的主要目的是为了管理和控制文件的创建、...

Global site tag (gtag.js) - Google Analytics