Be File System
Encyclopedia : B : BE : BEF : Be File System
| BFS | |
|---|---|
| Developer | Be Incorporated |
| Full name | Be File System |
| Introduced | (BeOS R3) |
| Partition identifier | Be_BFS (Apple Partition Map) 0xEB (MBR) |
| Structures | |
| Directory contents | B+ tree |
| File allocation | Inodes |
| Bad blocks | Inodes |
| Limits | |
| Max file size | ~260 GB * |
| Max number of files | Unlimited |
| Max filename size | 255 characters |
| Max volume size | ~2 EB * |
| Allowed characters in filenames | All UTF-8 but "/" |
| Features | |
| Dates recorded | Access, Creation, Modified |
| Date range | Unknown |
| Forks | Yes |
| Attributes | POSIX ACLs: Read, Write, Execute |
| File system permissions | Yes, POSIX (RWX per owner, group and all) |
| Transparent compression | No |
| Transparent encryption | No |
| Supported operating systems | |
The Be File System (BFS, occasionally misnamed as BeFS) is the native file system for the BeOS operating system.
BFS was developed by Dominic Giampaolo and Cyril Meurillon in 1996 over a ten month period to provide BeOS with a modern 64-bit capable journaling file system. It is case sensitive and capable of being used on floppy, hard disks and read-only media such as CD-ROMs, although its use on small removable media is not advised, as the file system headers consume from 600KB to 2MB, rendering floppy disks virtually useless.
Like its predecessor, OFS (written by Benoit Schillings, Old Be File System, was also called BFS when current), it includes support for extended file attributes (metadata) with indexing and querying characteristics to provide functionality similar to that of a relational database.
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. Although the book is now out of print it is freely available as a PDF file [link].
Because of the size of some on-disk structures as described in Benoit's book the filesystem cannot actually be used for volumes as large as its "64-bit" designation suggests, instead 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.
BFS has been reimplemented as OpenBFS as a part of the Haiku open source operating system. SkyFS, a filesystem used in SkyOS, is a fork of OpenBFS.
References
- Giampaolo, Dominic (1999). [Practical File System Design with the Be File System]. Morgan Kaufmann. ISBN 1558604979.
See also
- Comparison of file systems
External links
- [OpenBFS implementation]
- [BeFS driver for Linux]
- [The Register interview on BFS], with Dominic Giampaolo and Benoit Schillings
From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.
