• 1 Post
  • 1 Comment
Joined 1 year ago
cake
Cake day: June 30th, 2023

help-circle

  • I may as well make myself unpopular with some context…

    Some here have compared NTFS with ZFS, which is unfair as ZFS is over 12 years younger. In 1993 machines had an average of less than 4Mb of RAM, and the average disk size was probably somewhere in the 80-100Mb range. NTFS required more RAM - if you wanted to run it I think you had to have 12Mb of RAM minimum, maybe even 16Mb. If you didn’t have that you had to install your Windows NT 3.1 copy with FAT…

    A better comparison filesystem would be XFS, which was developed at around the same time and saw its first release in 1994.

    XFS has had a lot more development of late than NTFS has, and it could be argued that because of that it now has the edge. But both are venerable survivors of that era. Both are reliable, robust, feature-rich and widely deployed.

    A lot of problems that people have with NTFS are to do with the way Windows handles disk access rather than the filesystem itself. A filesystem is more than just an on-disk layout and a bit of code to read or write from it, it also has to interact with OS disk buffering systems, security systems, caching mechanisms, and possibly even things like file locking and notification mechanisms.

    Windows has a concept of the “installable file system” - these days it’s primarily a way to load filter drivers that can inspect all I/O operations. It’s how Windows security programs like antivirus work, but also how Windows prevents writes to its own folders by ordinary users. As you can guess, that slows things down. On the boot/OS drive of a Windows machine there are a lot of filter drivers. Android developers know this from how long some build operations take, and have often cursed at NTFS for it. Yet if you move the project onto a non-OS NTFS drive, suddenly it’s much faster - because that drive lacks many of those filter drivers, as there is no OS to protect on that drive.

    The point here being that NTFS often gets slammed for issues which aren’t its fault, and it has no control over.

    NTFS is probably in the top ten most-installed filesystems ever. And high on that top ten. (I wonder what that top ten would look like? I think that embedded use of ext2 probably places it near the top, but then you have wildcards like the Minix file system… anyway, back on track!)

    Filesystems are one of those things that everyone takes for granted, yet are incredibly important. NTFS may not be native to Linux, and may come from somewhere that many see as “the enemy”, but I think 30 years of tireless work deserves some recognition.

    Happy birthday, NTFS. You’ve done well.