Live data from Hacker News

The BeOS file system, an OS geek retrospective

arstechnica.com

11–20 of 52 posts

Re: The BeOS file system, an OS geek retrospective

#11
Most important thing wrong with this article is that it keeps talking about BeFS having a "64-bit address space". That's not so at all.

BeOS has the equivalent of the POSIX O_LARGEFILE permanently enabled. Historically 32-bit Unix systems assumed files were no larger than 2^31 bytes for the purposes of random access, and a feature labelled O_LARGEFILE says that your program wants 64-bit offset values instead so you can seek inside a larger file. In a 64-bit OS this doesn't make any difference to anything, and in modern programs O_LARGEFILE will always be set for 32-bit programs too. This isn't about the filesystem at all, on BeOS, or any other Unix-like system.

BeFS does, like a lot of modern filesystems, theoretically support larger storage than is ever likely to be in the hands of ordinary end users. Many petabytes of storage in a single filesystem are in principle possible with BeFS. But that's not strongly related, in either direction, with the use of a 64-bit integer for file seeking.

Beyond that BFS has lots of annoying problems, which are very understandable in the context of it being rushed into use over such a short period of time and with really only one key person doing much of the work, but they don't vanish just because they have an excuse:

The metadata indices are clearly aimed at end user operations like "Where's that file with the client's name in it?" or "What songs do I have by Michael Jackson?" but they're designed in a way that wastes a lot of space and yet also has poor performance for such queries - because they're case sensitive for no good reason. They also incur a LOT of extra I/O so if you don't need that feature you'd really want to switch it off, but you can only really do that at filesystem creation time.

Fragmentation is a really nasty problem. This is an extent-based filesystem, so that's somewhat inevitable, but BeFS almost seems to go out of its way to make it worse, and provides no tools whatsoever to help you fix it. It's actually possible to get a "disk full" type error when trying to append to a file which is badly fragmented, even though there is plenty of disk space.

Unix files often have an existence that transcends the mere name on the disk, but BeFS takes that a step further, allowing application software to identify a file without knowing its name at all. There are a few scenarios where this is quite clever, but if you ever want to retro-fit actual privilege separation to the OS (which has been a long term ambition for Haiku for more than a decade) this produces a Gordian knot - permissions are associated with names, but software can simply obtain (or guess!) the anonymous number for the file and sidestep such permissions altogether.

The journalling has a nasty hole in it. There's no way to safely delete files using the provided metadata journalling and recover the freed space, so, in practice if you crash while deleting files some of the space is just mysteriously gone until you run a "check" tool (remember the scorn for such tools in the article...) to find and recover it.

Re: The BeOS file system, an OS geek retrospective

#13

Having never played with BeOS but dabbled with Haiku — the richness of the BeOS filesystem would have won me over in a heart beat. Imagine if Microsoft bought them and then actually shipped a proper reFS that had the same richness? Or if Apple had — meh, Apple should have just paid Oracle the license fees and licensed ZFS. Or co-opted openZFS (not sure if that’s possible either, legally).

Apple hired the author of BeFS to work for them. He has worked on Spotlight, Time Machine, Apple's file systems, etc. http://www.nobius.org/dbg/

Re: The BeOS file system, an OS geek retrospective

#15

Most important thing wrong with this article is that it keeps talking about BeFS having a "64-bit address space". That's not so at all. BeOS has the equivalent of the POSIX O_LARGEFILE permanently enabled. Historically 32-bit Unix systems assumed files were no larger than 2^31 bytes for the purposes of random access, and a feature labelled O_LARGEFILE says that your program wants 64-bit offset values instead so you c…

Another quirk is that the file system cache is fixed at boot time to 1/8th of the available RAM, though this is more due to OS limitations than the file system.

Re: The BeOS file system, an OS geek retrospective

#16
post #8

Earlier quoted context omitted.

Understood...but then what is Haiku. I stil remember when r5 was released...an unheard of OS. As a tech geek I installed it and was blown away. Especially the media capabilities...two streams playing at once. That OS was way ahead of its time, and a shameful demise. I was excited about Haiku until I saw how far behind it was. And I mean absolutely 0 disrespect to its authors... but today it seems like an attempt to k…

What would blow you away today? I’m always curious to know what to build next.

I want a new Desktop. Let's talk ;-)

Re: The BeOS file system, an OS geek retrospective

#17
post #12

BeOS was delicious all around and it's a crying shame it didn't take off. It really felt like the Amiga's spiritual successor to me.

Apparently a few of the developers are working on Fuchsia so maybe some of the ideas will make it there.

Re: The BeOS file system, an OS geek retrospective

#18

It's a reprint of an article from 2010, so perhaps (2010) should be added to the HN title, in case people are expecting to read something new about BeOS in 2018.

Which is typical of the product and the era.

BeOS was like those Transmeta Crusoe CPUs, Segways and other products that gave journalists something to write about even if adoption was not going to happen.

The circus aspect of the media wanting to write something (as they have pages to fill and eyeballs to feed) must be quite costly to small companies wanting to get a legit product out there. I can still remember the name of Jean-Louis Gassée from his frequent soundbites in the tech press about the wonders of what BeOS was going to be. Did he actually do anything in between conferences, interviews and scheduling media appointments? If so, how did he get the time?

The 'look what we could have won' tech retrospectives are also part of this media cycle, a version of garbage-in-garbage-out applies where those companies that got hyped get recycled as article-worthy a decade on...

Re: The BeOS file system, an OS geek retrospective

#19
post #12

BeOS was delicious all around and it's a crying shame it didn't take off. It really felt like the Amiga's spiritual successor to me.

Apparently a few of the developers are working on Fuchsia so maybe some of the ideas will make it there.

Possibly. The problem is, for some designs to really work, you need someone at the helm not only incorporating the good ideas, but also saying NO to anything that does not fit the vision. (iPhone etc comes to mind.)

Many open source projects and commercial projects too tend to be much more inclusive in what they pick. The end result often becomes something like when Homer Simpson designed a car. Oh that's neat! [1]

1: https://laughingsquid.com/wp-content/uploads/2013/07/homer2....

Re: The BeOS file system, an OS geek retrospective

#20

Having never played with BeOS but dabbled with Haiku — the richness of the BeOS filesystem would have won me over in a heart beat. Imagine if Microsoft bought them and then actually shipped a proper reFS that had the same richness? Or if Apple had — meh, Apple should have just paid Oracle the license fees and licensed ZFS. Or co-opted openZFS (not sure if that’s possible either, legally).

Apple hired the author of BeFS to work for them. He has worked on Spotlight, Time Machine, Apple's file systems, etc. http://www.nobius.org/dbg/

Maybe that is why macOS has a similar way to access files by ID instead of by path?

The .vol directory: http://www.westwind.com/reference/os-x/invisibles.html

Post reply on HN