October 14, 2021

The filesystem as the core element of an operating system?

 

The thesis is formulated only as a question because it is a bit unclear what the situation is. Operating systems are usually perceived by their GUI. The windows OS has a certain form of window manager, and the Linux OS has a different one. But, an operating system has something which is located behind the surface which is the file system. Linux systems are working usually with the ext4 filesystem, Windows systems are based on NTFS and MacOS is working with APFS.
The interesting situation is that apart from the mentioned very powerful filesystems there are many others available for example the famous fat16 filesystem which was used in the MS-DOS age, or the ZFS filesystem which is used in FreeBSD. What these filesystems have in common is that they are completely incompatiable to each other. Even so called open source filesystems like ext4 are only available in Linux. Until today there is no simple to install software available for windows to mount ext4 formatted harddrive. Such a tool is only available for the btrfs filesystem, but btrfs is not used by most Linux users.
And other filesystems like NTFS are also not available for more than a single platform. It seems, that the different operating systems are using their filesystem to making their users dependent from them. But what exactly is the ordinary user doing with it's filesystem? The surprising insight is, that the use case scneraio is mostly the same between Windows and Linux users. In most cases the user has a home directory in which all the files are stored hierarchically. IN a network context additional filesystems are stored on a fileserver which results into more stored data measured in megabytes.
Let us talk about some limitations. All the following user requests can't be realized wit today's technology: installing Linux on the NTFS filesystem, installing Windows on the ext4 filesystem, reading ext4 usb sticks from Windows, writing to NTFS harddrives from WIndows, reading ext4 partitions from MAcOS, mounting Macos partitions in Linux. It seems, that the systems are not working very well together because of different reasons. In addition many new filesystems are created each year. The chance is high that in 4 years from today the ext4 filesystem is no longer used in Linux but replaced by something different.
The only standard available which is spoken by all major operating systems is FAT32. This outdated filesystem doesn't support journaling but at least it can be read and writing by most computers.