数据恢复学习伊始————文件系统(转自维基百科)

咚咚咚……


计算机文件系统是一种存储和组织计算机文件和数据的方法,它使得对其访问和查找变得容易。文件系统通常使用硬盘光盘这样的存储设备,并维护文件在设备中的物理位置。但是,实际上文件系统也可能仅仅是一种访问数据的界面而已,实际的数据是通过网络协议(如NFSSMB9P等)提供的或者内存上,甚至可能根本没有对应的文件(如 proc文件系统)。

严格地说, 文件系统是一套实现了数据的存储、分级组织、访问和获取等操作的抽象数据类型(Abstract data type)。

目录

  [隐藏]

[编辑]文件系统概观

文件系统是一种用于向用户提供底层数据访问的机制。它将设备中的空间划分为特定大小的块(扇区),一般每块512字节。数据存储在这些块中,大小被修正为占用整数个块。由文件系统软件来负责将这些块组织为文件和目录,并记录哪些块被分配给了哪个文件,以及哪些块没有被使用。

不过,文件系统并不一定只在特定存储设备上出现。它是数据的组织者和提供者,至于它的底层,可以是磁盘,也可以是其它动态生成数据的设备(比如网络设备)。

[编辑]文件名

不论文件系统底层是不是存储设备,文件系统都可以把数据组织为文件及目录的形式。文件系统一般会把文件名链接到某种文件分配表中(MS-DOS的FAT文件系统),或者链接到一个文件链表的节点上(Unix-like文件系统)。目录可以是平的结构,也可以是分层式结构,后者可以在目录中创建子目录。

有的文件系统中,文件名是结构化的,带有文件名扩展信息及版本号等;而另一些文件系统里,文件名只是一个简单的字符串,每个文件的属性信息保存在其它地方。

[编辑]元数据(Metadata)

其它文件保存信息常常伴随着文件自身保存在文件系统中。文件长度可能是分配给这个文件的区块数,也可能是这个文件实际的字节数。文件最后修改时间也许记录在文件的时间戳中。有的文件系统还保存文件的创建时间,最后访问时间及属性修改时间。(不过大多数早期的文件系统不记录文件的时间信息)其它信息还包括文件设备类型(如:区块数,字符集,套接口,子目录等等),文件所有者的ID,组ID,还有访问权限(如:只读,可执行等等)。

[编辑]安全访问

针对基本文件系统操作的安全访问可以通过访问控制列表capabilities实现。研究表明访问控制列表难以保证安全,这也就是研发中的文件系统倾向于使用 capabilities 的原因。然而目前多数商业性的文件系统仍然使用访问控制列表。

[编辑]文件系统的类型

文件系统可以分为磁盘文件系统、网络文件系统和特殊文件系统。

[编辑]磁盘文件系统

磁盘文件系统是一种设计用来利用数据存储设备来保存计算机文件的文件系统,最常用的数据存储设备磁盘驱动器,可以直接或者间接地连接到计算机上。例如:FATexFATNTFSHFSHFS+ext2ext3ext4ISO 9660ODS-5UDF。 有些文件系统是进程文件系统(也有译作日志文件系统)或者追踪文件系统

[编辑]闪存文件系统

主条目: 闪存文件系统

闪存文件系统是一种设计用来在闪存上储存文件的文件系统。随着移动设备的普及和闪存容量的增加,这类文件系统越来越流行。 尽管磁盘文件系统也能在闪存上使用,但闪存文件系统是闪存设备的首选,理由如下:

  • 擦除区块:闪存的区块在重新写入前必须先进行擦除。擦除区块会占用相当可观的时间。因此,在设备空闲的时候擦除未使用的区块有助于提高速度。
  • 随机访问:由于在磁盘上寻址有很大的延迟,磁盘文件系统有针对寻址的优化,以尽量避免寻址。但闪存没有寻址延迟。
  • 写入平衡(Wear levelling):闪存中经常写入的区块往往容易损坏。闪存文件系统的设计可以使数据均匀地写到整个设备。

日志文件系统具有闪存文件系统需要的特性。这类文件系统包括 JFFS2 和 YAFFS.

[编辑]数据库文件系统

文件管理方面的一个新概念是一种基于数据库的文件系统的概念。不再(或者不仅仅)使用分层结构管理,文件按照他们的特征进行区分,如文件类型、专题、作者或者亚数据进行区分。于是文件检索就可以按照SQL风格甚至自然语言风格进行。

例如BFS[1]WinFS

[编辑]事务文件系统

[编辑]网络文件系统

网络文件系统(NFS,Network File System)是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制。

[编辑]特殊用途的文件系统

[编辑]与操作系统的关系

[编辑]DOS / Microsoft Windows 支持的文件系统

WindowsFAT(12/16)FAT(32/VFAT)NTFS
Windows 3.x 或更早
(MS-DOS 6.22)
(PC-DOS 7.0)
可读/可写不支持不支持
95可读/可写不支持不支持
95(OSR2以后)
98(含SE)
ME
可读/可写可读/可写不支持
NT可读/可写不支持可读/可写
2000
XP
Vista
Server 2003
Server 2008
7
可读/可写可读/可写可读/可写

注意:除非 NT 安装了 FAT32 For Windows NT 4.0 否则 NT 是不支持 FAT32

[编辑]Linux 支持的文件系统

随着Linux的不断发展,它所支持的文件格式系统也在迅速扩充,Linux系统核心可以支持十多种文件系统类型:BtrfsJFSReiserFSextext2ext3ext4ISO9660XFSMinxMSDOSUMSDOSVFATNTFSHPFSNFSSMBSysVPROC等。

[编辑]UNIX及BSD操作系统下的文件系统

柏克莱加州大学开发早期的伯克利快速文件系统 (Berkeley Fast File System),再由各UNIX厂商开发不同的文件系统,包括IRIX上的XFS、IBM AIXJFS迪吉多Tru64的AdvFS[2]SolarisZFS

[编辑]Mac OS X 的文件系统

现在使用HFS+,之前采用HFS

[编辑]Bell实验室的PLAN9文件系统

[编辑]OpenVMS的文件系统

OpenVMS为Wang Mainframe 所使用的Operation System,以搭配Wang王安博士发明的Magnetic Drum的存储设备。

[编辑]IBM大型机 MVS的文件系统

[编辑]参见

[编辑]参考文献

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值