Przejdź do zawartości

Be File System

Z Wikipedii, wolnej encyklopedii

Be File System (skrót BFS[1]) – 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.

BFS
Twórca Be Inc.
System operacyjny BeOS
Pełna nazwa Be File System
Data wprowadzenia 1997-05-10[2]
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[2]
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[3]. 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 Benoita Schillingsa[4]), 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].

Implementacje

[edytuj | edytuj kod]

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[5].

W 2002 roku Axel Dörfler, wraz z kilkoma innymi programistami, stworzył i wydał implementację BFS o nazwie OpenBFS dla Haiku (wtedy OpenBeOS)[6]. W styczniu 2004 r. Robert Szeleney ogłosił, że opracował fork tego systemu dla swojego systemu operacyjnego SkyOS[7]. Klasyczna implementacja OpenBFS została również portowana do Syllable (do którego była dołączona od wersji 0.6.5).

Zobacz też

[edytuj | edytuj kod]

Przypisy

[edytuj | edytuj kod]
  1. Czasem błędnie skracane do BeFS. Takiej nazwy używa jądro Linuksa, aby odróżnić ten system od systemu Boot File System, który także jest skracany do BFS.}}
  2. a b Dominic Giampaolo, Practical File System Design with the Be File System [PDF], [w:] www.nobius.org, Morgan Kaufmann, 1999, ISBN 1-55860-497-9 [dostęp 2025-02-06] [zarchiwizowane 2017-02-13] (ang.).
  3. Andrew Orlowski: Windows on a database – sliced and diced by BeOS vets. 2002-03-29. [dostęp 2006-12-09]. [zarchiwizowane z tego adresu (2006-12-30)]. (ang.).
  4. Henry Bortman, BeOS Bible - Benoit Schillings [online], birdhouse.org [dostęp 2025-02-06] [zarchiwizowane z adresu 2006-09-27] (ang.).
  5. Will Dyson: BeFS driver for Linux: About BeFS. sourceforge.net, 2002. [dostęp 2025-02-06]. [zarchiwizowane z tego adresu (2023-11-18)]. (ang.).
  6. Daniel Teixeira: OBFS Reaches Beta. Haiku News, 2002-09-04. [dostęp 2006-12-09]. [zarchiwizowane z tego adresu (date=2006-10-04)]. (ang.).
  7. Robert Szeleney: [url=https://web.archive.org/web/20070926234126/http://www.skyos.org/?q=node%2F210 Update]. kyos.org, 2004-01-23. [dostęp 2006-12-09]. [zarchiwizowane z tego adresu (date=2007-09-26)]. (ang.).

Linki zewnętrzne

[edytuj | edytuj kod]