Everything2
Near Matches
Ignore Exact
Full Text
Everything2

BFS

created by bwebpages

(thing) by klash (3.3 mon) (print)   ?   (I like it!) 1 C! Fri Nov 03 2000 at 6:14:18

BeOS was designed from the ground up to be "The Media OS," so BFS, the Be File System was, in turn, designed to be "The Media File System." It's design makes streaming and manipulation of very large files as efficient as possible. However, it also incorporates modern filesystem features such as journaling and the unprecendented ability to associate an unlimited number of attribute/value pairs to each file, which are indexed to make searching very speedy.

BFS performs exceptionally well in streaming i/o benchmarks, as a result of bypassing the system cache and performing DMA directly. However, in metadata-intensive benchmarks (ie. creation and deletion of large numbers of small files), BFS takes a severe performance hit, due to both journaling and having to update the index it keeps of attributes.

The attribute system is a wonder to behold. I observed its effects first-hand one day when I wrote a short document in BeOS's default text editor. I added some formatting information, making some text different sizes and colors, and saved it. I then opened it with VIM, expecting to see HTML, or some arbitrary markup Be dreamed up, and I was astonished to see that there was nothing there but plain text! That's because the editor stored all the markup in attributes.

Of course, that's just one possible use. Even more exciting is the ability to do queries (this is why some people refer to BFS as a database). Imagine being able to issue a query like

name == "main.c"
or
size < 10000
...and have it run in O(lg n)! This is thanks to BFS storing indices for attributes in B+trees. No more running updatedb every night, to be sure.

Note the distinction between the Be File System and the Unixware Boot File System, which ambiguously both use the acronym BFS (though people sometimes call the Be File System BeFS to create a distinction). The Unixware Boot File System is a very simple, bare-bones file system designed for loading and booting a Unixware kernel.

Sources: The book Practical Filesystem Design with the Be File System, the Filesystem HOWTO: http://www.linuxdoc.org/HOWTO/Filesystems-HOWTO.html


printable version
chaos

breadth-first search BeFS BeOS ReiserFS
Fat journaling filesystem UnixWare B-tree
Things that rhyme with orange depth-first search filesystem lost+found
VHS Dfs Life and How to Live It Connectivity is not expressible in first-order logic
BFR Editor Log: September 2003 ALS DTD
The Golden Arm British LHR
Y'know, if you log in, you can write something here, or contact authors directly on the site. Create a New User if you don't already have an account.
  Epicenter
Login
Password

password reminder
register

Everything2 Help

Cool Staff Picks
Nodes your cousin would have liked:
Creeque Alley
Jiddu Krishnamurti
CCBBA Karate Curriculum
Ladybug
Communications Security Establishment
AK-47
Shakers
Heavy weather in the city of dreams
Carlos Castaneda
Please tell me everything, this means you, I am hungry and also
Is it possible to learn things on everything?
The stars stood still and naked
The Way of Water
New Writeups
SubSane
Making Love to a 9-Foot Woman(person)
Ouzo
Thoughts(idea)
antigravpussy
I fall silent, listening. The breadcrumbs are talking about us(person)
calgon
Buffalo Bill by the pool(poetry)
gate
Anarchy is Order(idea)
ushdfgakjasgh
Scribeling(thing)
XWiz
Trism(review)
artman2003
Briefcase Full of Souls - Part I(fiction)
Dreamvirus
Alan Ladd(person)
waverider37
Harold Holt(person)
The Debutante
Until death do us part(fiction)
Ysardo
a brother to a sister(personal)
antigravpussy
your warm whispers(personal)
Clarke
Multiculturalism(idea)
aneurin
Earl of Landaff(person)
This affordable entertainment brought to you by The Everything Development Company