NTFS has three versions: v1.2 found in NT 3.51 and NT 4, v3.0 found in Windows 2000 and v3.1 found in Windows XP. These versions are sometimes referred to as v4.0, v5.0 and v5.1. Newer versions added extra features: Windows 2000 introduced quotas. Windows version 95, 98, 98SE and ME cannot read NTFS filesystems, although there are utilities for this purpose.
In NTFS everything that has anything to do with a file (file name, creation date, access permissions and even contents) is written down as metadata. This elegant, albeit abstract approach allowed easy addition of filesystem features during the course of Windows NT's development - an interesting example is the addition of fields for indexing used by the Active Directory software.
Internally, NTFS uses binary trees in order to store the file system data; although complex to implement, this allows fast access times and decreases fragmentation. A file system journal is used in order to guarantee the integrity of the file system itself (but not of each individual file). Systems using NTFS are known to have tolerable reliability, a particularly important requirement considering the unstable nature of the older versions of Windows NT.
Currently, the Linux kernel includes a module which makes it possible to read NTFS partitions; however the general complexity of the filesystem, Microsoft's poor developer documentation and attempts to scare off developers (claiming unsubstantiated copyright infringement) have prevented the developers from adding reliable support for writing to NTFS partitions as well as reading them.
wikipedia.org dumped 2003-03-17 with terodump