Be File System (skrót BFS) – natywny system plików systemu operacyjnego BeOS. 64-bitowe adresowanie pozwala zindeksować 18446744073709551616 klastrów (ponad osiemnaście trylionów). Pliki mogą mieć dowolne atrybuty (np. „ważny”, „praca”) – tzw. metadane. System obsługuje księgowanie. Wielkości liter w nazwach plików są rozróżniane.
| Twórca | Be Inc. |
|---|---|
| System operacyjny | BeOS |
| Pełna nazwa | Be File System |
| Data wprowadzenia | 1997-05-10 |
| Limity | |
| Maks. rozmiar woluminu | ~2 EB |
| Maks. rozmiar pliku | ~260 GB |
| Maks. liczba plików | brak limitu |
| Maks. długość nazwy pliku | 255 znaków |
| Dopuszczalne znaki w nazwach | wszystkie UTF-8 oprócz „/” |
| Cechy | |
| Allokacja plików | i-węzeł |
| Struktura katalogów | B+drzewo |
| Forki | Tak |
| Kontrola dostępu | listy ACL POSIX |
| Zakres dat | nieznany |
| Precyzja czasu | 1 sekunda |
| Kompresja | Nie |
| Szyfrowanie | Nie |
| Inne | |
| Obsługiwane systemy operacyjne | BeOS, ZETA, Haiku, SkyOS, Syllable, Linux |
BFS został opracowany przez Dominica Giampaolo i Cyrila Meurillona w trakcie dziesięciu miesięcy pracy (począwszy od września 1996 r.). Celem było zapewnienie systemowi BeOS nowoczesnego 64-bitowego system plików z obsługą księgowania. Dopuszcza różną wielkość znaków i może być używany na dyskietkach, dyskach twardych i nośnikach tylko do odczytu (np. płytach kompaktowych). Jednak nie zaleca się jego używania na małych nośnikach wymiennych, ponieważ nagłówki systemu plików zajmują od 600 KB do 2 MB, co w praktyce czyni dyskietki bezużytecznymi.
Podobnie jak jego poprzednik (Old Be File System – stworzony przez Benoit Schillingsa), obsługuje on rozszerzone atrybuty plików (metadane) z funkcjami indeksowania i wykonywania zapytań – co zapewnia funkcjonalność podobną do tej, jaką oferują relacyjne bazy danych.
Choć został zaplanowany jako 64-bitowy system plików, to rozmiar niektórych struktur danych powoduje, że praktyczny limit pojemności wynosi ok. 2 eksabajtów. Również sposób przydziału plików, ogranicza maksymalny praktyczny rozmiar pliku do około 260 gigabajtów (w optymalnym przypadku) i zaledwie kilku bloków w najgorszym przypadku (w zależności od stopnia fragmentacji)[potrzebny przypis].
Oprócz oryginalnego BFS z 1996 r., używanego w BeOS, istnieje kilka implementacji dla systemu Linuks. Na początku 1999 r. Makoto Kato opracował sterownik Be File System dla Linuksa; jednak nigdy nie osiągnął on całkowicie stabilnego stanu. Dlatego w 2001 r. Will Dyson opracował własną wersję sterownika dla Linuxa.
W 2002 roku Axel Dörfler, wraz z kilkoma innymi programistami, stworzył i wydał implementację BFS o nazwie OpenBFS dla Haiku (wtedy OpenBeOS). W styczniu 2004 r. Robert Szeleney ogłosił, że opracował fork tego systemu dla swojego systemu operacyjnego SkyOS. Klasyczna implementacja OpenBFS została również portowana do Syllable (do którego była dołączona od wersji 0.6.5).