文件系统
1个回答
展开全部
文件系统的目的就是通过目录查找文件,寻找空闲位置存放文件。
组成:超级块、目录结构、描述文件属性的结构,文件系统相关操作
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
组成:超级块、目录结构、描述文件属性的结构,文件系统相关操作
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
法本信息技术
2024-10-28 广告
2024-10-28 广告
深圳市法本信息技术股份有限公司在软件开发领域,广泛应用多种高效管理工具。这些工具不仅涵盖了需求管理、项目跟踪、代码版本控制等方面,还集成了缺陷追踪、自动化测试以及团队协作等关键功能。它们极大提升了软件开发流程的透明度与效率,确保团队成员能够...
点击进入详情页
本回答由法本信息技术提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询