WindowsNT和Linux文件系统的异同
Windows NT和Linux文件系统的异同摘要:Windows NT 与 Linux是当前两大主流操作系统。为了比较两者文件系统的设计差异,本文首先介绍Windows NT的文件系统NTFS 和Linux的文件系统Ext2的运行原理, 然后分析两种文件系统的相同点与不同点,进而使读者对文件系统有较全面的认识。关键词:文件系统;NTFS;Ext2Abstract: Windows NT and Linux is two mainstream operating systems. In order to compare the differences between two file systems, the essay begins with introduction of the principles of NTFS, belonging to Windows NT and Ext2, belonging to Linux, then next part of the essay analyses the common points and different points between two file systems, which aims to enable readers to have a comprehensive understanding of our systems.Key words: file system;NTFS; Ext2引言 :Windows NT和Linux作为目前两大主流操作系统,分别具有各自的优缺点。Windows NT(New Technology)界面绚丽直观,运行简便,是微软在上世纪90年代提出的面向工作站、网络服务器和大型计算机的网络操作系统,开发人员为这一新操作系统提出了许多新的概念,其中就包括下文要提到的NTFS(Windows New Technology File System)。Linux是一种自由和开放源码的类Unix操作系统,其主要特点是免费,安全,快捷,目前的计算速度最快的大型计算机基本上都采用Linux操作系统。下文将有由广入深介绍两种操作系统的文件系统。正文:Windows NT文件系统NTFSNTFS相比于它的前身,FAT32(File Allocation Table)格式具有诸多优点。计算机将信息保在硬盘称为“簇“的地方。使用的簇越小,保存信息的效率就越高。在Win 2000的FAT32文件系统的情况下,分区大小在2GB~8GB时簇的大小为4KB;分区大小在8GB~16GB时簇的大小为8KB;分区大小在16GB~32GB时,簇的大小则达到了16KB。而Win 2000的NTFS文件系统,当分区的大小在2GB以下时,簇的大小都比相应的FAT32簇小;当分区的大小在2GB以上时(2GB~2TB),簇的大小都为4KB。相比之下,NTFS可以比FAT32更有效地管理磁盘空间,最大限度地避免了磁盘空间的浪费。其次,FAT采用表式非连续文件分配策略,它存储了每个物理块的信息,包括当前是否分配以及文件中下一个块的编号,FAT32为每个表项分配32位地址,浪费文件系统缓存中的内存。而NTFS使用了一个64位指针的索引方法,允许寻址高达16EB(160亿GB)内存,能够很好地解决FAT的这一问题【1】。 除此之外,NTFS还具有其他一些高级特性1. NTFS可恢复性支持1.1 NTFS通过日志记录来实现文件系统的可恢复性。1.2 所有改变文件系统的子操作在磁盘上运行之前,先被记录在日志文件中。在恢复阶段,NTFS根据记录在日志文件中的文件操作信息,对那些部分完成的事务进行重做或撤销,以保证磁盘上文件系统的一致性。2. NTFS坏簇恢复支持 2.1 Windows 2000/XP卷管理功能分别通过用于基本磁盘的FtDisk和用于动态磁盘的LDM(Logical Disk Manager)的卷管理工具来实现坏簇的修复。 2.2 NTFS在运行时动态收集有关坏簇的资料,并存储在系统文件中,而在应用程序环境中不必知道坏簇的存在。当扇区发生错误时,容错驱动程序给NTFS发出该扇区是坏的的通知,NTFS将分配一个新簇来取代坏扇区中的簇,并将数据复制到新簇中,同时NTFS将标记该坏扇区并不再使用它。 3. NTFS安全性支持 3.1 NTFS把文件和目录看成对象和对象的集合,文件和目录对象都带有安全描述符,并作为文件的一部分存储在磁盘上。进程在打开对象句柄前验证该进程是否具有足够的权限。 3.2 NTFS支持加密文件系统(EFS),以阻止非授权用户访问加密文件【2】。 一个NTFS文件系统可以大致分为引导区、MFT区、MFT备份区、数据区和DBR备份区几个部分。 引导区通常为16个扇