Green Hills Software’s File Systems
File Systems
There is no one size fits all solution when it comes to file system support for embedded devices. For example, the requirements of a file system for a digital camera differ greatly from an in car infotainment system or carrier grade telecommunications system. Green Hills Software offers a wide variety of file system support integrated with INTEGRITY to meet the specific needs of your device.
INTEGRITY and velOSity use a file system framework model, commonly referred to as a virtual file system (VFS), to make it easy to add and remove support for various file systems. The file system server (VFS server) provides file system services to applications that utilize file system APIs such as C stdio (fopen(), fread(), fwrite(), etc.), C++ iostreams (cout, cin, etc.), or the low-level POSIX interfaces (open(), read(), write()).
Wear Leveling Flash Storage (WLFS)
WLFS gives you the ability to access a bank of flash memory through the file system as if it were a disk. Wear leveling technology manages the underlying flash in a manner that guarantees wear on the flash will be evenly distributed across the entire device, and is also resilient against power failures and other unexpected interruptions.
Both NOR and NAND flash device types are supported with WLFS. Any of the supported file system formats may be used in conjunction with WLFS.
File System format types available with INTEGRITY and velOSity
Unix/Linux Compatible Fast File System (FFS)—The Berkeley Fast File System (FFS) is an inode-based file system that first appeared in the BSD UNIX distribution from the University of California. The FFS file system, sometimes referred to by its predecessor’s name, UFS (UNIX File System), is used by many BSD derivative operating systems such as NetBSD, FreeBSD, and OpenBSD.
DOS/FAT 12/16/32—The MSDOS file system originated with the Microsoft DOS operating system. It is sometimes referred to by its primary data structure, the file allocation system (FAT). Like FFS, MSDOS is a hierarchical, disk-based file system. The MSDOS file system comes in several variants named after the number of bits in each entry in its file allocation table: FAT12, FAT16, and FAT32. The original MSDOS file system supported filenames of up to 8 characters followed by a dot, and a 3 character extension. With Windows 95, Microsoft layered a long filename scheme onto the FAT file system. This long filename support is sometimes referred to as VFAT. INTEGRITY supports all of these variants.
CDROM ISO9660/CDFS/CDA—The ISO9660 file system is commonly found on Compact Disc media. INTEGRITY supports the generic ISO9660 standard format as well as the Rockridge and Joliet extensions. The Joliet extension is favored in the MS Windows world. It allows Unicode characters to be used for all text fields, which includes file names and the volume name. The RockRidge extension is favored in the Unix world. It lifts file name restrictions, but also allows Unix-style permissions and special files to be stored on the CD.
UDF DVD (read only)—The UDF file system (Universal Disk Format) is the file system used on DVD's as well as other media. INTEGRITY's UDF library allows users to build applications that interact with UDF formatted media using a standard POSIX-style interface. In addition, applications can access all of the other file systems supported by INTEGRITY alongside UDF.
Partitioning Journaling File System—The INTEGRITY Partitioning Journaling File System provides guaranteed data integrity on the disk through catastrophic system failures (including loss of power). The PJFS constantly writes to a serial log on the disk prior to the actual data being updated. This allows PJFS to restore the data on the disk to its pre-crash state in the event of a failure. This type of file system is necessary in devices that have the most stringent reliability requirements.
3rd party file systems are also easily added using INTEGRITY VFS layer or file table hooks
More....