this post was submitted on 27 Jul 2023
282 points (91.7% liked)
Linux
48334 readers
650 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.
Thank you for the explanations!