QNX Publishes Source Code for Full Suite of File Systems

OTTAWA, Canada, July 30, 2008 - QNX Software Systems today announced that it has published the source code for its entire suite of file systems.

Designed for high reliability and performance, QNX® file systems provide a standard POSIX interface for a wide variety of storage devices, including NAND and NOR flash memory; IDE, SATA, and SCSI hard drives; USB storage devices; CD and DVD optical drives; and RAM disks. The file system suite includes support for multiple industry formats, including FAT for Windows disk partitions, EXT2 for Linux disk partitions, and NFS/CIFS for network file access.

QNX has published the code as part of its hybrid software model, which enhances the productivity of embedded system developers by providing immediate, realtime access to the latest QNX code updates, bug fixes, and product developments.

Highlights of the source-code release include:

  • Power-safe file system — Designed for high-capacity hard drives, this innovative new file system uses “copy on write” technology to eliminate the data corruption and long integrity checks that can result from sudden power failures or improper system shutdowns. As a result, users can achieve faster boot times and higher system availability.
  • Embedded transaction file system (ETFS) — Designed primarily for NAND flash, ETFS can survive unexpected power failures without corrupting data. It supports dynamic wear-leveling, static wear-leveling, CRC and ECC error correction, read degradation monitoring, and automatic file defragmentation.
  • Flash file system (FFS3) — Designed primarily for NOR flash, FFS3 supports wear-leveling, error-handling, background reclaim, fault recovery, transparent decompression, multiple threads, and endian-awareness.
  • EXT2 File System — For accessing Linux disk partitions.
  • Network File System (NFS) v2, v3, and server file systems — For transparently accessing files on a network-connected server that is running Linux, Windows, or another operating system.
  • FAT file system — For accessing hard drives, memory cards, and other media that use a FAT file system.
  • CD and UDF file systems — For accessing CDs and DVDs.
  • RAM file system — For embedded systems that need a small, fast, temporary-storage file system.
  • Package manager — A virtual file system that presents a customized view of files and directories to a client machine. Useful in a networked environment, where a centralized server maintains a separate package of files for each client.
  • Inflator — A compression/decompression utility, typically used with flash file systems, that can almost double the effective size of flash memory.
  • QNX 4 file system — A reliable, high-performance hard-disk file system.


Dynamic upgradeability
Unlike conventional file systems, QNX file systems run outside of the operating system kernel, as memory-protected applications. As a result, users can start, stop, or upgrade file systems on the fly, without having to reboot.

Moreover, a QNX-based embedded system can dynamically invoke the appropriate file system whenever the user inserts a USB stick, hard drive, iPod, or other storage device, and then dynamically unload the file system when the user removes the device. This capability simplifies the design of in-car infotainment units, industrial control systems, and other applications that must dynamically connect to a variety of media sources or streams.

Available for download
To download the source code for QNX file systems, QNX community members can visit Foundry27 (www.foundry27.com), the QNX developer portal, and click on the File Systems project.

The file systems join a growing list of QNX products now available in source form, including the QNX Neutrino® microkernel, QNX adaptive partitioning, QNX networking stacks, and board support packages for a large variety of embedded hardware.

Access to the QNX source code is free, but commercial deployments of QNX runtime components still require royalties, and commercial developers will continue to pay for QNX Momentics® development seats. However, noncommercial developers, academic faculty members, and qualified partners can download QNX development tools and runtime products at no charge.

About QNX Software Systems
QNX Software Systems, a Harman International company (NYSE: HAR), is the industry leader in realtime, embedded OS technology. The component-based architectures of the QNX® Neutrino® RTOS, QNX Momentics® development suite, and QNX Aviage® middleware together provide the industry’s most reliable and scalable framework for building innovative, high-performance embedded systems. Global leaders such as Cisco, Daimler, General Electric, Lockheed Martin, and Siemens depend on QNX technology for network routers, medical instruments, vehicle telematics units, security and defense systems, industrial robotics, and other mission- or life-critical applications. Founded in 1980, QNX Software Systems is headquartered in Ottawa, Canada, and distributes products in over 100 countries worldwide.

Editorial Contacts

Paul Leroux
QNX Software Systems
+1 613 591-0931

QNX, Aviage, Momentics, and Neutrino are trademarks of QNX Software Systems GmbH & Co. KG, registered in certain jurisdictions, and are used under license. All other trademarks and trade names belong to their respective owners.