- 1、本文档共51页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
inode介绍 dentry 介绍 dentry是个目录缓存(包括父路径parent directory和子节点child of parent list信息) 主要用于维护目录和文件之间的关系,从而支持在文件系统中移动 对于 inode 缓存中的每个 inode,在目录缓存中都有一个对应的 dentry dentry 介绍 struct dentry { struct inode *d_inode; /* Where the name belongs to - NULL is struct hlist_node d_hash; /* lookup hash list */ struct dentry *d_parent; /* parent directory */ 上一级的目录 struct qstr d_name; struct list_head d_lru; /* LRU list */ /* * d_child and d_rcu can share memory */ union { struct list_head d_child; /* child of parent list */ struct rcu_head d_rcu; } d_u; struct list_head d_subdirs; /* our children */ 节点下面的所有文件和目录 }; 目录 Linux文件系统组件的体系结构 VFS文件系统概述 VFS目录树 文件系统注册 VFS 目录树的建立 VFS 下目录的建立 在 VFS 树中挂载文件系统 打开一个文件 VFS目录树 VFS 是一种软件机制,也许称它为 Linux 的文件系统管理者更确切点,与它相关的数据结构只存在于物理内存当中 在每次系统初始化期间,Linux 都首先要在内存当中构造一棵 VFS 的目录树(在 Linux 的源代码里称之为 namespace) ,实际上便是在内存中建立相应的数据结构 VFS 中的各目录其主要用途是用来提供实际文件系统的挂载点 VFS目录树 下图是一种可能的目录树在内存中的影像 rootfs文件系统 rootfs 文件系统是 VFS 存在的基础,是一个特殊的基于内存的文件系统,只提供一个空目录以及为其他真实的文件系统提供一个初始的挂载点 在Linux 中,rootfs 是必不可少的,主要是便于更换挂载的根“/”文件系统 文件系统是指可能会被挂载到目录树中的各个实际文件系统, rootfs、proc、ext2 目录 Linux文件系统组件的体系结构 VFS文件系统概述 VFS目录树 文件系统注册 VFS 目录树的建立 VFS 下目录的建立 在 VFS 树中挂载文件系统 打开一个文件 Linux下挂载的文件系统 [root@zpp ~]# cat /proc/mounts rootfs / rootfs rw 0 0 /proc /proc proc rw,nodiratime 0 0 none /dev tmpfs rw 0 0 /dev/root / ext3 rw 0 0 none /dev tmpfs rw 0 0 none /selinux selinuxfs rw 0 0 /proc /proc proc rw,nodiratime 0 0 /proc/bus/usb /proc/bus/usb usbfs rw 0 0 /sys /sys sysfs rw 0 0 none /dev/pts devpts rw 0 0 /dev/sda1 /boot ext3 rw 0 0 none /dev/shm tmpfs rw 0 0 none /proc/sys/fs/binfmt_misc binfmt_misc rw 0 0 sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw 0 0 [root@zpp ~]# 文件系统的数据结构 在 Linux 源代码中,每种实际的文件系统用以下的数据结构表示 struct file_system_type { const char *name; int fs_flags; struct super_block *(*get_sb) (struct file_system_type *, int, const char *
文档评论(0)