Meta

Why a Non-Mounting File System is Unlikely

In This Posting, I shared a loose thought, on whether it was at all possible, that unlike how it works under Linux, under Windows or OS/X the file system might not require mounting or unmounting.

Here is The problem with that thought. On any multi-tasking O/S, there can be many user-space processes, all of which are opening and closing files, for writing as well as reading. The only way in which this will not corrupt the FS, is when all these requests take place though the kernel. The kernel makes sure, that the FS stays consistent while this is happening.

Trying to allow multiple user-processes to do this, but not with any sort of discipline, would be a little like attempting to repair an already-corrupted File System, while it is in use – i.e. while it is mounted. Doing so is certain to mess it up completely.

The only case in which such a thing can exist, is in single-tasking environments.

Also, there is a good example of an O/S, which mounts and unmounts, in the background, without telling the user: Android. This is an O/S which is based on the Linux kernel, and which therefore inherits what the Linux kernel does. One of those tasks, is to mount and unmount any FS.

Dirk

Note Added Same Day:

We recognize that under Windows, one process is allowed to write-lock a file, so that other processes cannot write to it. This also exists under Linux. It is meant to allow processes to synchronize the actual content-data of the file. But this is a separate issue, from the File-System Meta-Data.

The same way, two processes can each write-lock one file, and each write changes to the data of their file. Both of these processes are then writing changes to the same File System. And both of them are changing the meta-data of the file system, that needs to remain consistent.

Also, the listings of the Directories, which under Windows are just referred to as Folders, do not contain that meta-data…