linux的VFS包含4个重要概念:
同时,在linux中一切兼文件,包括目录。目录的内容是文件名和inode号。
当打开一个文件/bin/vim
,系统首先把路径分解成/
、bin
、vim
,根据dentry查vim
的inode,如果dentry还没有bin
,会根据superblock中根目录的inode号得到它的子目录信息,其中就有bin
和它的inode,并把它放到dentry中,然后根据bin
的内容找到vim
的inode。最终,返回一个文件描述符(file descriptor)。