Be File System

Last updated
BFS
Developer(s) Be Inc.
Full nameBe File System
IntroducedMay 10, 1997;26 years ago (1997-05-10) with BeOS Advanced Access Preview Release [1]
Partition IDs Be_BFS (Apple)
0xEB (MBR)
42465331-3BA3-10F1-802A-4861696B7521 (GPT)
Structures
Directory contents B+ tree [2]
File allocation inodes
Bad blocksinodes
Limits
Max volume size~2 EB *
Max file size~260 GB *
Max no. of filesUnlimited
Max filename length255 characters
Allowed filename
characters
All UTF-8 but "/"
Features
Dates recordedAccess, Creation, Modified
Date rangeUnknown
Date resolution1s
Forks Yes
File system
permissions
Unix permissions, POSIX ACLs
Transparent
compression
No
Transparent
encryption
No
Other
Supported
operating systems
BeOS, ZETA, Haiku, SkyOS, Syllable, Linux

The Be File System (BFS) is the native file system for the BeOS. In the Linux kernel, it is referred to as "BeFS" to avoid confusion with Boot File System.

Contents

BFS was developed by Dominic Giampaolo and Cyril Meurillon over a ten-month period, starting in September 1996, [2] to provide BeOS with a modern 64-bit-capable journaling file system. [3] It is case-sensitive and capable of being used on floppy disks, hard disks and read-only media such as CD-ROMs. 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 - formerly BFS), [4] it includes support for extended file attributes (metadata), with indexing and querying characteristics to provide functionality similar to that of a relational database.

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. 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.[ citation needed ]

Its design process, application programming interface, and internal workings are, for the most part, documented in the book Practical File System Design with the Be File System. [2]

Implementations

In addition to the original 1996 BFS used in BeOS, there are several implementations for Linux. 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. [5]

In 2002, Axel Dörfler and a few other developers created and released a reimplemented BFS called OpenBFS for Haiku (OpenBeOS back then). [6] In January 2004, Robert Szeleney announced that he had developed a fork of this OpenBFS file system for use in his SkyOS operating system. [7] The regular OpenBFS implementation was also ported to Syllable, with which it has been included since version 0.6.5.

See also

Related Research Articles

<span class="mw-page-title-main">BeOS</span> Operating system for personal computers

BeOS is an operating system for personal computers first developed by Be Inc. in 1990. It was first written to run on BeBox hardware.

ReiserFS is a general-purpose, journaling file system initially designed and implemented by a team at Namesys led by Hans Reiser and licensed under GPLv2. Introduced in version 2.4.1 of the Linux kernel, it was the first journaling file system to be included in the standard kernel. ReiserFS was the default file system in Novell's SUSE Linux Enterprise until Novell decided to move to ext3 for future releases on October 12, 2006.

ext2, or second extended file system, is a file system for the Linux kernel. It was initially designed by French software developer Rémy Card as a replacement for the extended file system (ext). Having been designed according to the same principles as the Berkeley Fast File System from BSD, it was the first commercial-grade filesystem for Linux.

File Allocation Table (FAT) is a file system developed for personal computers and was the default filesystem for MS-DOS and Windows 9x operating systems. Originally developed in 1977 for use on floppy disks, it was adapted for use on hard disks and other devices. The increase in disk drives capacity required three major variants: FAT12, FAT16 and FAT32. FAT was replaced with NTFS as the default file system on Microsoft operating systems starting with Windows XP. Nevertheless, FAT continues to be used on flash and other solid-state memory cards and modules, many portable and embedded devices because of its compatibility and ease of implementation.

Hierarchical File System (HFS) is a proprietary file system developed by Apple Inc. for use in computer systems running Mac OS. Originally designed for use on floppy and hard disks, it can also be found on read-only media such as CD-ROMs. HFS is also referred to as Mac OS Standard, while its successor, HFS Plus, is also called Mac OS Extended.

<span class="mw-page-title-main">SkyOS</span> Operating system

SkyOS 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 development. In August 2013, developer Robert Szeleney announced the release of a public beta on the SkyOS website. This allows public users to download a Live CD of the SkyOS operating system, for testing and to optionally install the system.

Disk formatting is the process of preparing a data storage device such as a hard disk drive, solid-state drive, floppy disk, memory card or USB flash drive for initial use. In some cases, the formatting operation may also create one or more new file systems. The first part of the formatting process that performs basic medium preparation is often referred to as "low-level formatting". Partitioning is the common term for the second part of the process, dividing the device into several sub-devices and, in some cases, writing information to the device allowing an operating system to be booted from it. The third part of the process, usually termed "high-level formatting" most often refers to the process of generating a new file system. In some operating systems all or parts of these three processes can be combined or repeated at different levels and the term "format" is understood to mean an operation in which a new disk medium is fully prepared to store files. Some formatting utilities allow distinguishing between a quick format, which does not erase all existing data and a long option that does erase all existing data.

<span class="mw-page-title-main">Live CD</span> Complete, bootable computer installation that runs directly from a CD-ROM

A live CD is a complete bootable computer installation including operating system which runs directly from a CD-ROM or similar storage device into a computer's memory, rather than loading from a hard disk drive. A live CD allows users to run an operating system for any purpose without installing it or making any changes to the computer's configuration. Live CDs can run on a computer without secondary storage, such as a hard disk drive, or with a corrupted hard disk drive or file system, allowing data recovery.

<span class="mw-page-title-main">Haiku (operating system)</span> Free and open-source operating system inspired by BeOS

Haiku is a free and open-source operating system capable of running applications written for the now-discontinued BeOS, which it is modeled after. Its development began in 2001, and the operating system became self-hosting in 2008. The first alpha release was in September 2009, the first beta was released in September 2018, and the latest version is the fourth beta released in December 2022. It has BeOS 5 compatibility in its x86 32-bit versions, with more modern drivers, GTK3 apps, Wine port, and Xlib (X11) and Wayland compatibility layers.

HFS Plus or HFS+ is a journaling file system developed by Apple Inc. It replaced the Hierarchical File System (HFS) as the primary file system of Apple computers with the 1998 release of Mac OS 8.1. HFS+ continued as the primary Mac OS X file system until it was itself replaced with the Apple File System (APFS), released with macOS High Sierra in 2017. HFS+ is also one of the formats supported by the iPod digital music player.

<span class="mw-page-title-main">File system</span> Format or program for storing files and directories

In computing, a file system or filesystem 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 large body of data with no way to tell where one piece of data stopped and the next began, or where any piece of data was located when it was time to retrieve it. By separating the data into pieces and giving each piece a name, the data are easily isolated and identified. Taking its name from the way a paper-based data management system is named, each group of data is called a "file". The structure and logic rules used to manage the groups of data and their names is called a "file system."

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.

In computing, an extent is a contiguous area of storage reserved for a file in a file system, represented as a range of block numbers, or tracks on count key data devices. A file can consist of zero or more extents; one file fragment requires one extent. The direct benefit is in storing each range compactly as two numbers, instead of canonically storing every block number in the range. Also, extent allocation results in less file fragmentation.

In computing, a virtual folder generally denotes an organizing principle for files that is not dependent on location in a hierarchical directory tree. Instead, it consists of software that coalesces results from a data store, which may be a database or a custom index, and presents them visually in the format in which folder views are presented. A virtual folder can be thought of as a view that lists all files tagged with a certain tag, and thus a simulation of a folder whose dynamic contents can be assembled on the fly, when requested. It is related in concept to several other topics in computer science, with names including saved search, saved query, and filtering.

Extended file attributes are file system features that enable users to associate computer files with metadata not interpreted by the filesystem, whereas regular attributes have a purpose strictly defined by the filesystem. Unlike forks, which can usually be as large as the maximum file size, extended attributes are usually limited in size to a value significantly smaller than the maximum file size. Typical uses include storing the author of a document, the character encoding of a plain-text document, or a checksum, cryptographic hash or digital certificate, and discretionary access control information.

The following tables compare general and technical information for a number of file systems.

Benoit Schillings is a Belgian software engineer, who is the Chief Technology Officer (CTO) at Google[x] 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 astronomer.

Amiga support and maintenance software performs service functions such as formatting media for a specific filesystem, diagnosing failures that occur on formatted media, data recovery after media failure, and installation of new software for the Amiga family of personal computers—as opposed to application software, which performs business, education, and recreation functions.

In Unix-like operating systems, a device file or special file is an interface to a device driver that appears in a file system as if it were an ordinary file. There are also special files in DOS, OS/2, and Windows. These special files allow an application program to interact with a device by using its device driver via standard input/output system calls. Using standard system calls simplifies many programming tasks, and leads to consistent user-space I/O mechanisms regardless of device features and functions.

References

  1. Scot Hacker (1997-07-01). "BeOS Journal 10: A First Look at DR9". ZDNet. Archived from the original on 1999-10-02. Retrieved 2007-03-22.
  2. 1 2 3 Giampaolo, Dominic (1999). Practical File System Design with the Be File System (PDF). Morgan Kaufmann. ISBN   1-55860-497-9. Archived from the original (PDF) on 2017-02-13. Retrieved 2004-06-01.
  3. Andrew Orlowski (2002-03-29). "Windows on a database – sliced and diced by BeOS vets". The Register. Archived from the original on 30 December 2006. Retrieved 2006-12-09.
  4. Henry Bortman. "Benoît Schillings, Software Engineer". The BeOS Bible. Archived from the original on 27 September 2006. Retrieved 2006-09-10.
  5. Will Dyson (2002). "BeFS driver for Linux: About BeFS". SourceForge. Retrieved 2006-12-09.
  6. Daniel Teixeira (2002-09-04). "OBFS Reaches Beta". Haiku News. Archived from the original on 2006-10-04. Retrieved 2006-12-09.
  7. Robert Szeleney (2004-01-23). "Update". skyos.org. Archived from the original on 2007-09-26. Retrieved 2006-12-09.