The Be File System (BFS) is the native
file system
In computing, file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one larg ...
for the
BeOS
BeOS is an operating system for personal computers first developed by Be Inc. in 1990. It was first written to run on BeBox hardware.
BeOS was positioned as a multimedia platform that could be used by a substantial population of desktop users a ...
. In the Linux kernel, it is referred to as "BeFS" to avoid confusion with
Boot File System
The Boot File System (named BFS on Linux, but BFS also refers to the Be File System) was used on UnixWare to store files necessary to its boot process.
It does not support directories, and only allows contiguous allocation for files, to make it ...
.
BFS was developed by
Dominic Giampaolo
Dominic P. Giampaolo is a software developer who helped develop the Be File System for the Be Operating System (BeOS) and currently works at Apple Inc.
After graduating from Lewiston High School in Lewiston, Maine in 1987, he started studying p ...
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 Integer (computer science), integers, memory addresses, or other Data (computing), data units are those that are 64 bits wide. Also, 64-bit central processing unit, CPUs and arithmetic logic unit, ALUs are those ...
-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 even ...
. 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" a ...
and capable of being used on
floppy disk
A floppy disk or floppy diskette (casually referred to as a floppy, or a diskette) is an obsolescent 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 w ...
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 platters coated with magnet ...
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 data. Computers can read—but not write or erase—CD-ROMs. Some CDs, called enhanced CDs, hold both comput ...
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
Benoit Schillings is a Belgian software engineer, who is the Chief Technology Officer (CTO) at Google leading the early projects at X. He is known for being one of the lead developers of the Be Operating System (BeOS) and is a noted amateur astro ...
- formerly BFS),
it includes support for extended file attributes (
metadata
Metadata is "data that provides information about other data", but not the content of the data, such as the text of a message or the image itself. There are many distinct types of metadata, including:
* Descriptive metadata – the descriptive ...
), with indexing and querying characteristics to provide functionality similar to that of a
relational database
A relational database is a (most commonly digital) database based on the relational model of data, as proposed by E. F. Codd in 1970. A system used to maintain relational databases is a relational database management system (RDBMS). Many relatio ...
.
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 unit ...
. 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 way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how t ...
, 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 ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
. 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 originally from Japan. Traditional Japanese haiku consist of three phrases that contain a ''kireji'', or "cutting word", 17 '' on'' (phonetic units similar to syllables) in a 5, 7, 5 pattern, and a ''kigo'', or se ...
(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
SkyOS (''Sky Operating System'') is a discontinued prototype commercial, proprietary, graphical desktop operating system written for the x86 computer architecture. As of January 30, 2009 development was halted with no plans to resume its develop ...
operating system.
The regular OpenBFS implementation was also ported to
Syllable
A syllable is a unit of organization for a sequence of speech sounds typically made up of a syllable nucleus (most often a vowel) with optional initial and final margins (typically, consonants). Syllables are often considered the phonological "bu ...
, 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
Limits
Metadata
Features File capabilities
Block capabilities
Note that in addition to the below table, blo ...
*
AtheOS File System
The AtheOS file system (''AFS'') was originally used in the AtheOS operating system under Master boot record, MBR partition ID , and is now a part of the Syllable Desktop, Syllable and the Syllable-based Wave OS operating system. AFS started with e ...
References
External links
The BeOS file system: an OS geek retrospective by Andrew Hudson, 2010-06-03, Ars Technica
{{Haiku Software
Disk file systems
BeOS
Haiku (operating system)