The Be File System (BFS) is the native
file system for the
BeOS
BeOS is a discontinued operating system for personal computers that was developed by Be Inc. It was conceived for the company's BeBox personal computer which was released in 1995. BeOS was designed for multitasking, multithreading, and a graph ...
. 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,
to provide BeOS with a modern
64-bit
In computer architecture, 64-bit integers, memory addresses, or other data units are those that are 64 bits wide. Also, 64-bit central processing units (CPU) and arithmetic logic units (ALU) are those that are based on processor registers, a ...
-capable
journaling file system
A journaling file system is a file system that keeps track of changes not yet committed to the file system's main part by recording the goal of such changes in a data structure known as a " journal", which is usually a circular log. In the ev ...
. It is
case-sensitive
In computers, case sensitivity defines whether uppercase and lowercase letters are treated as distinct (case-sensitive) or equivalent (case-insensitive). For instance, when users interested in learning about dogs search an e-book, "dog" and "Dog ...
and capable of being used on
floppy disk
A floppy disk or floppy diskette (casually referred to as a floppy, a diskette, or a disk) is a type of disk storage composed of a thin and flexible disk of a magnetic storage medium in a square or nearly square plastic enclosure lined with a ...
s,
hard disk
A hard disk drive (HDD), hard disk, hard drive, or fixed disk is an electro-mechanical data storage device that stores and retrieves digital data using magnetic storage with one or more rigid rapidly rotating hard disk drive platter, pla ...
s and read-only media such as
CD-ROM
A CD-ROM (, compact disc read-only memory) is a type of read-only memory consisting of a pre-pressed optical compact disc that contains computer data storage, data computers can read, but not write or erase. Some CDs, called enhanced CDs, hold b ...
s. 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),
it includes support for extended file attributes (
metadata
Metadata (or metainformation) is "data that provides information about other data", but not the content of the data itself, such as the text of a message or the image itself. There are many distinct types of metadata, including:
* Descriptive ...
), with indexing and querying characteristics to provide functionality similar to that of a
relational database
A relational database (RDB) is a database based on the relational model of data, as proposed by E. F. Codd in 1970.
A Relational Database Management System (RDBMS) is a type of database management system that stores data in a structured for ...
.
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
The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable un ...
. 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.
Its design process,
application programming interface
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software Interface (computing), interface, offering a service to other pieces of software. A document or standard that des ...
, and internal workings are, for the most part, documented in the book ''Practical File System Design with the Be File System''.
Implementations
In addition to the original 1996 BFS used in BeOS, there are several implementations for
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
. 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.
In 2002, Axel Dörfler and a few other developers created and released a reimplemented BFS called OpenBFS for
Haiku
is a type of short form poetry that originated in Japan. Traditional Japanese haiku consist of three phrases composed of 17 Mora (linguistics), morae (called ''On (Japanese prosody), on'' in Japanese) in a 5, 7, 5 pattern; that include a ''kire ...
(OpenBeOS back then). In January 2004, Robert Szeleney announced that he had developed a fork of this OpenBFS file system for use in his
SkyOS operating system.
The regular OpenBFS implementation was also ported to
Syllable
A syllable is a basic unit of organization within a sequence of speech sounds, such as within a word, typically defined by linguists as a ''nucleus'' (most often a vowel) with optional sounds before or after that nucleus (''margins'', which are ...
, with which it has been included since version 0.6.5.
See also
*
Comparison of file systems
The following tables compare general and technical information for a number of file systems.
General information
Metadata
All widely used file systems record a last modified time stamp (also known as "mtime"). It is not included i ...
*
AtheOS File System
References
External links
The BeOS file system: an OS geek retrospective by Andrew Hudson, 2010-06-03, Ars Technica
{{Filesystem
Disk file systems
BeOS
Haiku (operating system)