文件系统中用什么来管理文件

文件系统中用什么来管理文件,第1张

文件系统中用目录来管理文件

文件管理系统作为一个统一的信息管理机制,可以解决海量文件存储,管理困难;查找缓慢,效率低下;文件版本管理混乱;文件安全缺乏保障;文件无法有效协作共享裂耐模;知识管理举步维艰等问题。

随着信息化进程,文件管理越来越受到企业的重视,但是企业在进行文件管理的过程中,经常会碰到问题有:海量文件存储,管理困难;查找缓慢,效率低下;文件版本管理混乱;文件安全缺乏保障;文件无法有效协作共享;知识管理举步维艰等。所以文件管理逐渐成为国内外业界研究的热点。

具体功能

1、统一管理文件存储空间(即外存),实施存储空间的分配与回收。

2、确定文件信息的存放位置及存放形式亩灶。

3、实现文件从名字空间到外存地址空间的映射,即实现文件的按名存取。

4、有效实现对文件的各种控制 *** 作(如建立、撤销、肆缓打开、关闭文件等)和存取 *** 作(如读、写、修改、复制、转储等)。

文件系统的目的就是通过目录查找文件,寻找空闲位置存放文件。

组成:超级块、目录结构、描述文件属性的结构,文件系统相关 *** 作

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


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12134795.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存