文件系统是什么

计算机文件系统是一种存储和机构计算机数据的办法,它促使并对浏览和搜索变得容易,文件系统使用文件和树型目录的抽象逻辑定义取代了硬盘和光碟等物理设备应用数据块的概念,用户文件系统来储存数据无须关注数据具体储存在硬盘(或是光碟)地址为多少的数据块上,只需记牢这一文件的隶属目录和文件名 。在载入新数据以前,客户无须关注硬盘里的那个块地址没有被使用,硬盘里的内存空间管理(分派和释放)作用由文件系统自动执行,用户只需要记牢数据被载入到哪个文件中 。

文件系统是什么

文章插图
文件系统通常使用硬盘和光碟这种存储设备,并维护文件在设备里的物理位置 。可是,事实上文件系统也可能仅仅是一种浏览材料的界面罢了,具体的数据可能是根据网络协议(如 NFS、SMB、9P 等)提供的或是储存于内存上,甚至可能根本没有对应的文件(如 proc 文件系统) 。
严格地说,文件系统是一套完成了数据的存放、分级机构、浏览和获得等行为的抽象数据种类(Abstract data type) 。
简述空余空间实例:每簇 4,096 字节的 NTFS 文件系统,每个文件 5 字节,共 100,000 个文件,逻辑字节一共 500,000 字节,但由于一个文件需独享整数倍个簇(最终一簇不论是否布满,仍会独享一整个簇),具体占有储存空间 409,600,000 字节(每个文件 5 字节独享一个簇)
文件系统是一种用以向用户提供底层数据浏览的机制 。这将设备里的空间划分为特殊大小的块(或是称为簇),一般每块 512 字节 。数据存储在这种块中,尺寸被调整为占有整数个块 。由文件系统来负责把这些块机构为文件和目录,并记录什么块被分配给哪个文件,及其什么块没有被使用 。
但是,文件系统并不一定只在特殊存储设备中出现 。这是数据的策划者和提供者,对于它的底层,能是硬盘,还可以是其他动态生成数据的机器(例如网络设备) 。
文件名在文件系统内,文件名是用于定位存放部位 。绝大多数文件系统文件名的长短有限制 。在一些文件系统内,文件名是大小写不敏感(如“AAA”和“aaa”是指同一个文件);在另一些文件系统中则大小写敏感 。大多现今的文件系统容许文件名包括相当多的 Unicode 字符集的字符 。但是在大部分文件系统的界面中,会限制一些特殊符号出现在文件名中 。(文件系统可能用到这种特殊符号来描述一个设备、设备类型、目录前缀、或文件种类)但是,这种特殊字符会允许存在于用双引号里的文件名 。便捷考虑,一般不建议在文件名中包括特殊符号 。
元数据(Metadata)其他文件保存信息经常伴随文件本身储存在文件系统内 。文件长短可能是分给这一文件的区块数,也可能是这一文件具体的字节数 。文件最终修改时间或许记录在文件的时间戳中 。有些文件系统还储存文件的创建时间,最终访问时间及特性修改时间 。(但是大部分早期文件系统不纪录文件的时间信息)其他信息也包括文件设备类型(如:区块数,字符集,套插口,子目录这些),文件所有者的 ID,组 ID,也有访问限制(如:只读,可执行这些) 。
安全浏览对于基本文件系统操作的安全浏览能通过访问控制列表或 capabilities 完成 。研究发现访问控制列表无法保证安全,这就是研发里的文件系统侧重于应用 capabilities 的原因 。但是目前多数盈利性的文件系统依然应用访问控制列表 。
种类硬盘文件系统硬盘文件系统是一种设计用于运用数据存储设备来储存计算机文件的文件系统,常用数据存储设备是磁盘驱动器,能够直接或者间接的传送到计算机上 。比如:文件配置表(FAT12、FAT16、FAT32、exFAT)、New Technology File System、<分层文件系统 HFS、HFS Plus>、拓宽文件系统(ext1、ext2、ext3、ext4)、ODS、btrfs、XFS、UFS、ZFS 。有些文件系统是行程文件系统(也有译作日志文件系统)或是跟踪文件系统 。
光碟
ISO 9660 和 UDF 被用来 CD、DVD 与蓝光光盘 。
闪存文件系统闪存文件系统是一种设计用于在闪存上贮存文件的文件系统 。随着移动终端的兴起和闪存容量的提升,这种文件系统越来越流行 。
虽然硬盘文件系统也能在闪存中使用,但闪存文件系统是闪存设备的首选,理由如下:
擦掉区块:闪存的区块在再次载入前必须先开展擦掉 。擦掉区块会占有非常可观的时间 。因而,在设备空闲的时候擦掉未使用的区块有助于提高速率,而载入数据时也能够优先使用早已擦掉的区块 。随机访问:因为在硬盘上寻址有很大的延迟,硬盘文件系统有针对寻址的改善,以尽量减少寻址 。但闪存没有寻址延迟 。载入均衡(Wear levelling):闪存中经常载入的区块通常容易损坏 。闪存文件系统的设计能使数据均匀的提到全部设备 。日志文件系统具有闪存文件系统必须的特点,这种文件系统包括 JFFS2 和 YAFFS 。也有为了防止日志经常载入而造成闪存寿命损耗的非日志文件系统,如 exFAT 。
数据库文件系统文件管理工作的一个新定义是一种基于数据库的文件系统的概念 。不再(或是不仅)应用分层结构管理,文件依照他的特点进行区分,如文件种类、专题、作者或是亚数据进行区分 。因此文件查找就可以按 SQL 风格乃至自然语言风格开展 。
比如 BFS 和 WinFS 。
网络文件系统网络文件系统(NFS,Network File System)是一种将远程主机里的分区(目录)经网络挂载到当地系统的一种体制 。
与操作系统的关联Linux 支持的文件系统
随着 Linux 的不断发展,它所支持的文件系统还在快速扩大,Linux 系统核心能够支持十多种文件系统类型:Btrfs、JFS、ReiserFS、exFAT、ext、ext2、ext3、ext4、XFS、ISO 9660、Minix、MSDOS、UMSDOS、VFAT、NTFS(Linux Kernel 内置的 NTFS 驱动软件,载入作用不稳)、HPFS、NFS、SMB、SysV、PROC 等 。
留意:部分 Linux 发行版的 Kernel 默认不编译 Kernel 内置的 NTFS 文件系统支持,普遍的在 Linux 下读写 NTFS 的解决方法是组装 NTFS-3G 或 ufsd 等 NTFS 驱动软件 。部分 Linux 发行版对 NTFS 的支持度并不高 。
UNIX 及 BSD 操作系统中的文件系统
柏克莱加州大学开发早期伯克利迅速文件系统(Berkeley Fast File System),再由各 UNIX 厂商开发不同的文件系统,包含 IRIX 里的 XFS、IBM AIX 的 JFS、HP HP-UNIX 的 VxFS、迪吉多 Tru64 的 AdvFS 及 Solaris 的 ZFS 。
macOS(Mac OS X)的文件系统
从 1998 年至 2022 年里应用 HFS ,再早选用 HFS 。从 2022 年发布的 macOS Sierra 起,应用苹果文件系统(APFS) 。
OpenVMS 的文件系统
OpenVMS 为 Wang Mainframe 所使用的 Operation System,以组合 Wang 王安博士发明的 Magnetic Drum 的存储设备 。
【文件系统是什么】