Why aren't file systems standardized?

GWestphal

Golden Member
Jul 22, 2009
1,120
0
76
After writing my ZFS post below, I'm curious why aren't file systems standardized like hardware or OpenGL. In PCI Express 3.0 or OpenGL everyone agrees to what it should have and implements it, why don't they do that with filesystems? It would be great if Mac, Linux, Windows etc could all boot, read, and write to the same filesystems in the same way natively.
 

greenhawk

Platinum Member
Feb 23, 2011
2,007
1
71
IP and the companies that want to keep it that way.

Fat 16 / Fat 32 (more of a hack / extension to Fat16) is about the last of the old compatible file system across the board, but it's limitations have taken it out of consideration for current systems.
 

Anteaus

Platinum Member
Oct 28, 2010
2,448
4
81
Because everyone thinks their way is better with the pleasurable side of being proprietary...meaning control.
 

paperwastage

Golden Member
May 25, 2010
1,848
2
76
there are linux kernels for reading to all of mac(HFS+ under 2TB), linux(ext2/3/4) and windows (ntfs)

so use linux for everything?
 

Nothinman

Elite Member
Sep 14, 2001
30,672
0
0
After writing my ZFS post below, I'm curious why aren't file systems standardized like hardware or OpenGL. In PCI Express 3.0 or OpenGL everyone agrees to what it should have and implements it, why don't they do that with filesystems? It would be great if Mac, Linux, Windows etc could all boot, read, and write to the same filesystems in the same way natively.

PCI-Express and OpenGL aren't good analogies because the APIs may be standard, but the chips that do the work most definitely aren't the same. The same goes for filesystems, the APIs for interacting with them (e.g. open(), close(), read(), write(), etc) are standard and exist for every language, however the actual storage backend can be whatever you want.
 

BrightCandle

Diamond Member
Mar 15, 2007
4,762
0
76
PCI-Express and OpenGL aren't good analogies because the APIs may be standard, but the chips that do the work most definitely aren't the same. The same goes for filesystems, the APIs for interacting with them (e.g. open(), close(), read(), write(), etc) are standard and exist for every language, however the actual storage backend can be whatever you want.

Exactly this. File systems are exposed to the programmers of software via APIs that are common amongst all file systems. Where file systems differ is in the trade offs for performance in certain circumstances as well as how they handle fragmentation and SSDs. No one algorithm is perfect in every circumstance, so the choice that is given to users allows them to pick up the one that works best in their circumstance if they want, or alternatively just go with a fairly common one (NTFS, EXT) and not worry about the decision if they don't know the difference.

For all practical purposes they are standardised where it matters, which is too application programmers. Now it would be nice if external drives had a standard format, maybe someone should write a nice open and free one that is on Linux, BSD, Windows and Mac!
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
After writing my ZFS post below, I'm curious why aren't file systems standardized like hardware or OpenGL. In PCI Express 3.0 or OpenGL everyone agrees to what it should have and implements it, why don't they do that with filesystems? It would be great if Mac, Linux, Windows etc could all boot, read, and write to the same filesystems in the same way natively.

File-systems are standardized, they are as standardized as you can get.
What they are not is cross platform compatible, nor are most open standards nor open source.

This is because MS and Apple engage in anti competitive behavior and intentionally sabotage any attempt at cross platform compatibility. Both refuse to allow any open FS on their systems and do their best to prevent open systems from implementing their closed proprietary FS.

Open OS like linux and FreeBSD have support for ancient proprietary FS from MS/Apple from having painstakingly reverse engineered them over many years and having implemented it in an intentionally inefficient manner (Userland FUSE instead of kernel mode) to avoid IP violations, it is legal but was done without any help from MS (who could have just given them the info if they were not big A-holes).
 
Last edited: