3.4.3 文件系统
1.文件系统的概念
文件系统是操作系统中统一管理信息资源的一种软件,管理文件的存储、检索和更新,提供安全、可靠的共享和保护手段,并且方便用户使用。文件系统包含文件管理程序(文件与目录的集合)和所管理的全部文件,是用户与外存的接口。
2.文件系统的功能
文件系统的功能从用户角度看,是实现“按名存取”;从系统角度看,是对文件存储器的存储空间进行组织和分配,负责文件的存储并对存入的文件实施保护和检索。具体说来,可以总结为:
(1)统一管理文件的存储空间,实施存储空间的分配与回收;
(2)实现文件的“按名存取”,完成从名字空间到存储空间的映射;
(3)实现文件信息的共享,并提供文件的保护和保密措施;
(4)向用户提供一个便于使用的接口,提供对文件系统的操作命令以及对文件的操作命令(如信息存取、加工等);
(5)进行系统维护并向用户提供有关信息;
(6)提供与输入输出设备的统一接口。
文件系统在操作系统接口中占的比例最大,用户使用操作系统的感觉在很大程度上取决于对文件系统的使用效果。
3.常见的文件系统
如前所述,文件系统是操作系统中借以组织、存储和命名文件的系统。不同的操作系统使用不同的文件系统,大部分应用程序都基于某种文件系统进行操作,在不同的文件系统上是不能工作的。
常用的文件系统有很多,例如MS-DOS和Windows 3.X使用FAT16文件系统(默认情况下Windows 98也使用FAT16); Windows 98和Windows Me可以同时支持FAT16、FAT32两种文件系统(默认情况下,Windows 98也使用FAT16); Windows NT则支持FAT16和NTFS两种文件系统;Windows 2000可以支持FAT16, FAT32和NTFS三种文件系统;Linux则可以支持多种文件系统,如FAT16, FAT32, NTFS, Minix, ext, ext2, xiafs, HPFS和VFAT等,不过一般使用ext2文件系统。
(1)FAT12, FAT16和FAT32。FAT的全称是文件分配表系统(file allocation table),最早于1982年开始应用于MS-DOS中。FAT文件系统主要的优点就是它可以允许多种操作系统访问,如MS-DOS, Windows 3.X, Windows 95, Windows 98, Windows NT和OS/2等。FAT16在使用时遵循如下命名规则,即文件名最多为8个字符,扩展名为3个字符(Windows系统已经不加这种限制)。FAT12是IBM第一台个人计算机中MS-DOS 1.0使用的文件系统,主要用于软盘;限制分区的最大容量为16 MB。FAT32主要应用于Windows 98,可以增强磁盘性能并增加可用磁盘空间(因为与FAT16相比,它的一个簇的大小要比FAT16小很多),而且支持2 GB以上的分区大小。
(2)VFAT。VFAT是指FAT的扩展,主要应用于在Windows 95中。它对FAT16文件系统进行扩展,并支持长文件名(文件名可长达255个字符);仍保留有扩展名,而且支持文件日期和时间属性,为每个文件保留了文件创建日期/时间、最近被修改以及最近被打开的日期和时间。
(3)HPFS。HPFS是高性能文件系统,支持长文件名,比FAT文件系统有更强的纠错能力。OS/2的HPFS主要克服了FAT文件系统不适合于高档操作系统这一缺点;Windows NT也支持HPFS,使得从OS/2到Windows NT的过渡更为容易。HPFS和NTFS都有包括长文件名在内的许多相同特性,但前者使用可靠性较差。
(4)NTFS。这是专用于Windows NT和Windows 2000操作系统的高级文件系统,它支持文件系统故障恢复,也支持大存储媒体、长文件名。NTFS的主要弱点是只能被Windows NT和Windows 2000所识别;虽然它可以读取FAT、HPFS文件系统的文件,但其文件却不能被FAT和HPFS文件系统所存取,因此兼容性方面比较成问题。
(5)ext2。这是Linux中使用最多的一种文件系统,因为它是专门为Linux设计,拥有最快的速度和最小的CPU占用率。它既可以用于标准的块设备(如硬盘),也被应用在移动存储设备(如软盘)上。现在已经有新一代的Linux文件系统(如SGI公司的XFS, ReiserFS和ext3文件系统等)出现。
(6)Mac HFS。这是苹果计算机的文件系统,对大容量磁盘有比较好的支持;不过,现在大多数苹果计算机还在使用FAT32文件系统。
(7)ISO 9660。这是CD-ROM的文件系统;现在已经延伸出很多新的文件系统(如Juliet等),对它的一些缺点进行了弥补。
(8)UDF。这是可读写光盘的文件系统。
在上面介绍的文件系统中,但占统治地位的却是FAT16, FAT32和NTFS等少数几种,使用最多的当然就是FAT32。Windows系统中,只要在“我的电脑”中右击某个驱动器的属性,就可以在“常规”选项卡中看到所使用的文件系统。