什么是文件系统?文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NANDFlash的固态硬盘)或分区上的文件的方法和数据结构;
即在存储设备上组织文件的方法 。
操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统 。
文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性 。
从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统 。
文件系统文件系统的目的就是通过目录查找文件,寻找空闲位置存放文件 。
组成:超级块、目录结构、描述文件属性的结构,文件系统相关操作
sysfs:超级块,目录sys_dirent,,属性kset、kobject
vfs:超级块,目录dentry,属性inode
bdevfs:超级块,目录dentry,属性bdevfs_inode(嵌在block_device中)
超级块、空闲表、目录文件(文件控制块FCB)、普通文件、与文件系统有关的操作(查找、读写等)
超级块——文件系统中第一个块被称为超级块 。描述文件系统块大小、空闲表相关的属性(比如地址、每一项大小等)、根目录地址
空闲表——磁盘上空闲磁盘块
目录文件——存放文件名、文件属性、文件地址等信息
把目录文件拆分为两部分:与文件查找有关的部分(文件名、文件类型)、文件属性部分(inode、FAT)
顺序存储——把文件存放在连续的扇区上
链式存储——把文件存放在不连续的文件块上,每个文件快的结束端有存放有下一个文件块的地址
索引存储——把存放文件的所有块号集中放在一个索引结构上
优劣:顺序存储,读取速度更快,但容易浪费大量磁盘存储空间;链式存储,可以充分利用内存空间,但是不能随机访问文件内的任意部分,访问速度慢;索引存储,可以随机访问文件的任意部分,可以看作链式存储的优化方案 。
linux磁盘文件系统采用ext2
组织方式:超级块、空闲块位图、只有目录名的目录文件、inode位图、inode(含文件属性、文件磁盘地址)、索引存储方式、ext_fIle_operations表、ext_file_inode_operations表
文件存储方式:索引存储 。
硬链接目录共享一个inode 。由于硬链接是直接将文件名与索引节点号(即inode号)链接,因此硬链接存在以下几个特点: 1、文件有相同的inode号及data block,这使得修改其中一个硬链接文件属性或文件数据时,其他硬链接文件都会发生相应修改;2、只能对已存在的文件进行创建;3、不能跨文件系统(即分区)进行创建;4、不能对目录文件进行创建;5、删除其中一个硬链接文件时,不会对其他硬链接文件产生影响 。
软链接则是一个文件,文件内存储有目标文件的路径 。创建软链接时,目标文件inode中的链接计数 i_nlink 不会增加 。由于软链接有着自己的索引节点号(即inode号)以及用户数据块(data block),因此没有硬链接的诸多限制,它的特性如下:1、软链接有自己的文件属性、inode号和data block,但是编辑文件其实就是编辑源文件;2、可以对不存在的文件或目录进行创建;3、可以跨文件系统(即分区)进行创建,使用ln命令跨文件系统创建时,源文件必须是绝对路径,否则为死链接;4、可以对文件或目录文件进行创建;5、删除软链接并不影响源文件,但源文件被删除,则相关软链接文件变为死链接(dangling link),若源文件(原地址原文件名)重新被创建,则死链接恢复为正常软链接 。
目的:封装好不同文件系统,向上提供统一的接口
组成:超级块superblock、目录项dentry、文件属性inode;文件系统类型file_system_type、描述文件系统安装在哪个父文件系统下vfsmount
如图在vfs中安装ext2和fat文件系统:即置i_ops、i_fops、d_ops为各个文件系统独有的操作,超级块中的s_fs_info指向具体文件系统的超级块;vfsmount中描述有文件系统的安装点 。
先把安装点记录在vfsmount中 。根据file_system_type中的读超级块方法,读取super_block,再根据super_block中的构造inode方法,构造一inode并初始化;然后根据inode-i_ops构造dentry
文章插图
什么是文件系统?以下这些是WINDOWS下的文件系统:
文件分配表(FAT)
一种供MS-DOS及其它Windows操作系统对文件进行组织与管理的文件系统 。文件分配表(FAT)是当您使用FAT或FAT32文件系统对特定卷进行格式化时,由Windows所创建的一种数据结构 。Windows将与文件相关的信息存储在FAT中,以供日后获取文件时使用 。
秒懂生活扩展阅读
- 绿色的食物有哪些
- 音色怎么变得好听
- 机耕道与公路有什么区别
- 守望先锋黄甲跟蓝甲有什么区别
- 楚雄哪有纹身的地方
- 什么什么私情的成语
- 铝箔胶带是拿来干什么用的
- 表达天不会保佑恶人的词句 形容坏人总有一天会遭报应的句子
- oppo怎么显示电量
- 超出公司经营范围的合同有效吗