|The Möbius Operating System: Möbius File System|
Möbius File System
This document describes the requirements for a native file system on the Möbius Operating System and details some thoughts on the practicality of using pre-designed file systems for the Möbius system. A future revision may include technical details on a proposed new Möbius File System format.
The native Möbius file system will be the ideal format used by the OS. Every operating system has one of these, although a good OS should be able to access (and ideally write to) a wide variety of foreign file systems. In most cases a file system was developed alongside the operating system itself.
Although it is desirable to use another established file system format for The Möbius (both for the sake of interoperability and to make development easier), it is more important to have a native format which provides the necessary features without compromise.
Any file system for Möbius should offer the following features:
The following features are desirable:
3.Other File Systems
FAT:The FAT file system is included in here for completeness, and because it is currently the only file system that The Möbius can write to. It lacks almost all of the requirements above.
ext2:ext2 is the native Linux file system and is reasonably mature and well-established. It has a reputation as a fast but unreliable file system, although this stems mainly from the Linux implementation, which caches most file data and metadata, keeping disk access to a minimum. In its most basic form, it supports most of the requirements. However:
There's no reason why ext2 couldn't store a Möbius file system without losing information, although modifying it to fit the requirements would be too much of a compromise to make it the native format.
NTFS: NTFS is Windows NT's native file system (and is also used by its successors, Windows 2000 and Windows XP). NTFS is a far heavier file system than ext2 and the NT implementation values reliability over speed. NTFS supports virtually all of the above requirements as-is (although adding versioning to the file system could be tricky). However, due to NTFS's complexity, the only known implementation that can reliably write to NTFS volumes is Microsoft's (one Linux driver is said to be able to write but can not do so reliably). Therefore NTFS is practically unsuitable as a native file system for Möbius.
BeFS: The Be File System was developed of Release 3 of the BeOS. It was designed as a good file system for a multimedia desktop OS. Like NTFS, it supports almost all of the requirements above, with the exception of versioning and compression. The implementation in the BeOS has been proven to be very fast (approaching the performance of ext2, even with the BeOS's less capable cache) and journalling makes it reliable. However, an implementation which used the BeFS would need to implement all its features (including journalling, and possibly queries) in order to be compatible. Although the BeFS driver source code was never made available, and with the demise of Be the number of other installations using the BeFS will decline (thus reducing its interoperatbility), the OpenBeOS project have apparently written a working BeFS implementation.
The Möbius cannot be a 'real' operating system without a capable file system behind it. Although it would be preferable to choose an already existing file system for native Möbius installations (the world already has enough incompatible file system formats), what is more important is that the chosen file system can achieve the requirements without compromise. ext2, although simple, cannot achieve most of the requirements without hacks. NTFS, although very capable, is too complex for use as an everyday file system outside of NT. BeFS is probably destined to go the same way as its parent operating system: it can only be saved by Open Source projects such as OpenBeOS.