[go: up one dir, main page]

Jump to content

Be File System

From Wikipedia, the free encyclopedia
BFS
Developer(s)Be Inc.
Full nameBe File System
IntroducedMay 10, 1997; 27 years ago (1997-05-10) with BeOS Advanced Access Preview Release[1]
Partition IDsBe_BFS (Apple)
0xEB (MBR)
42465331-3BA3-10F1-802A-4861696B7521 (GPT)
Structures
Directory contentsB+ tree[2]
File allocationinodes
Bad blocksinodes
Limits
Max volume size~2 EB *
Max file size~260 GB *
Max no. of filesUnlimited
Max filename length255 characters
Allowed filename
characters
All UTF-8 but "/"
Features
Dates recordedAccess, Creation, Modified
Date rangeUnknown
Date resolution1s
ForksYes
File system
permissions
Unix permissions, POSIX ACLs
Transparent
compression
No
Transparent
encryption
No
Other
Supported
operating systems
BeOS, ZETA, Haiku, SkyOS, Syllable, Linux

The Be File System (BFS) is the native file system for the BeOS. In the Linux kernel, it is referred to as "BeFS" to avoid confusion with Boot File System.

BFS was developed by Dominic Giampaolo and Cyril Meurillon over a ten-month period, starting in September 1996,[2] to provide BeOS with a modern 64-bit-capable journaling file system.[3] It is case-sensitive and capable of being used on floppy disks, hard disks and read-only media such as CD-ROMs. However, its use on small removable media is not advised, as the file-system headers consume from 600 KB to 2 MB, rendering floppy disks virtually useless.

Like its predecessor, OFS (Old Be File System, written by Benoit Schillings - formerly BFS),[4] it includes support for extended file attributes (metadata), with indexing and querying characteristics to provide functionality similar to that of a relational database.

Whilst intended as a 64-bit-capable file system, the size of some on-disk structures mean that the practical size limit is approximately 2 exabytes. Similarly the extent-based file allocation reduces the maximum practical file size to approximately 260 gigabytes at best and as little as a few blocks in a pathological worst case, depending on the degree of fragmentation.[citation needed]

Its design process, application programming interface, and internal workings are, for the most part, documented in the book Practical File System Design with the Be File System.[2]

Implementations

[edit]

In addition to the original 1996 BFS used in BeOS, there are several implementations for Linux. In early 1999, Makoto Kato developed a Be File System driver for Linux; however, the driver never reached a completely stable state, so in 2001 Will Dyson developed his own version of the Linux BFS driver.[5]

In 2002, Axel Dörfler and a few other developers created and released a reimplemented BFS called OpenBFS for Haiku (OpenBeOS back then).[6] In January 2004, Robert Szeleney announced that he had developed a fork of this OpenBFS file system for use in his SkyOS operating system.[7] The regular OpenBFS implementation was also ported to Syllable, with which it has been included since version 0.6.5.

See also

[edit]

References

[edit]
  1. ^ Scot Hacker (1997-07-01). "BeOS Journal 10: A First Look at DR9". ZDNet. Archived from the original on 1999-10-02. Retrieved 2007-03-22.
  2. ^ a b c Giampaolo, Dominic (1999). Practical File System Design with the Be File System (PDF). Morgan Kaufmann. ISBN 1-55860-497-9. Archived from the original (PDF) on 2017-02-13. Retrieved 2004-06-01.
  3. ^ Andrew Orlowski (2002-03-29). "Windows on a database – sliced and diced by BeOS vets". The Register. Archived from the original on 30 December 2006. Retrieved 2006-12-09.
  4. ^ Henry Bortman. "Benoît Schillings, Software Engineer". The BeOS Bible. Archived from the original on 27 September 2006. Retrieved 2006-09-10.
  5. ^ Will Dyson (2002). "BeFS driver for Linux: About BeFS". SourceForge. Retrieved 2006-12-09.
  6. ^ Daniel Teixeira (2002-09-04). "OBFS Reaches Beta". Haiku News. Archived from the original on 2006-10-04. Retrieved 2006-12-09.
  7. ^ Robert Szeleney (2004-01-23). "Update". skyos.org. Archived from the original on 2007-09-26. Retrieved 2006-12-09.
[edit]