文件系统的基本组成
文件系统,操作系统中负责管理持久数据的子系统,主要用于可持久化保存数据,预防断电情况下的文件丢失。
基本数据单位:文件
主要用途:对磁盘上的文件进行组织管理,
因组织方式不同,会形成不同的文件系统
Linux经典:一切皆文件
普通的文件、目录、快设备、管道、socket等,统一由文件系统管理
Linux文件系统----文件
1.索引节点-inode ,记录文件的元信息:inode编号、文件大小、访问权限、创建时间、修改时间、数据在磁盘的位置。
文件的唯一标识,占用磁盘空间。
2.目录项-dentry,记录文件名字、索引节点指针及其他目录项的层级关联关系。多目录关联形成目录结构
与索引节点不同,目录项是由内核维护的一个数据结构,不存放于磁盘,而是缓存在内存。
区别:
索引节点占用磁盘空间,目录项占用内存
索引节点记录文件的元信息,目录项记录文件的名字及其他目录项的层级关联关系
共性:
都是数据结构的一种
关系:
索引节点唯一标识一个文件
目录项记录文件名
目录项与索引节点的关系是多对一,一个索引节点可对应多个目录项
如硬链接的实现:多个目录项中的索引节点指向同一文件
注:
目录也是文件的一种,也是用索引节点唯一标识
区别:普通文件在磁盘里面保存的是数据,
目录文件在磁盘里面保存子目录或文件。