Компания QNX Software Systems объявила о публикации исходного кода всего набора файловых систем.
Файловые системы QNX предназначены для обеспечения высокой надежности и отказоустойчивости и реализуют стандартный POSIX-интерфейс для широкого набора устройств хранения, в том числе флеш-памяти NAND и NOR; жестких дисков IDE, SATA и SCSI; устройств хранения USB; оптических приводов CD и DVD; и RAM-дисков. Набор файловых систем включает в себя поддержку множества индустриальных форматов, в том числе FAT для дисковых разделов Windows, EXT2 для дисковых разделов Linux и NFS/CIFS для сетевого доступа к файлам.
Компания QNX опубликовала исходный код в рамках гибридной лицензионной модели, которая позволяет увеличить производительность разработчиков встраиваемых систем посредством прямого и быстрого доступа к свежим версиям обновлений кода, исправлениям и разработкам на оcнове QNX.
Данный выпуск исходного кода имеет следующие ключевые компоненты.
- Файловая система с защитой от сбоев электропитания. Предназначена для жестких дисков большой емкости. В этой инновационной файловой системе применяется технология “копирования при записи” (“copy on write”), которая исключает искажение данных и длительные проверки целостности, которые могут возникнуть из-за внезапных сбоев электропитания или некорректных остановок системы. В результате пользователи могут достичь более высоких скоростей загрузки и более высокого уровня готовности системы.
- Встраиваемая транзакционная файловая система (Embedded Transaction File System – ETFS). Предназначена прежде всего для флеш-памяти NAND. Файловая система ETFS способна сохранять работоспособность без потери данных при внезапных потерях электропитания. Эта файловая система поддерживает динамическое и статическое выравнивание износа, коррекцию ошибок CRC и ECC, мониторинг деградации записи и автоматическую дефрагментацию.
- Файловая система во флеш-памяти (FFS3). Предназначена прежде всего для флеш-памяти NOR. Файловая система FFS3 поддерживает выравнивание нагрузки, обработку ошибок, восстановление после сбоев, прозрачную декомпрессию, множественные потоки, учёт старшинства байта.
- Файловая система EXT2. Предназначена для доступа к дисковым разделам Linux.
- Сетевая файловая система Network File System (NFS) v2, v3 и серверные файловые системы. Предназначены для прозрачного доступа к файлам на сетевых серверах на основе Linux, Windows или др. операционной системы.
- Файловая система FAT. Предназначена для доступа к жестким дискам, картам памяти и другим устройствам, применяющим FAT.
- Файловые системы CD и UDF. Предназначены для доступа к CD и DVD.
- Файловая система для RAM. Предназначена для встраиваемых систем, требующих компактную, быстродействующую файловую систему для средств временного хранения.
- Администратор пакетной файловой системы. Виртуальная файловая система, позволяющая создавать настраиваемое отображение файлов и каталогов на клиентской машине. Применяется в сетевых средах, в которых центральный сервер создаёт разные пакеты файлов для соответствующих клиентов.
- Распаковщик (inflator) – утилита для компрессии/декомпрессии, как правило используемая в файловых системах во флеш-памяти. Позволяет почти вдове увеличить эффективный размер флеш-памяти.
- Файловая система QNX 4. Надежная, высокопроизводительная файловая система для жестких дисков.
В отличие от обычных файловых систем, файловые системы QNX работают за пределами ядра ОС, как приложения с защитой памяти. В результате пользователи могут запускать, останавливать или модернизировать файловые системы “на лету”, без необходимости перезагрузки.
Более того, встраиваемая система на основе QNX может динамически вызывать подходящую файловую систему после того, как пользователь подключит USB-устройство, жесткий диск, iPod или другое устройство хранения, а затем динамически выгрузит эту файловую систему, когда устройство будет выключено. Эта возможность упрощает архитектуру автомобильных информационно-развлекательных систем, промышленных систем управления и других приложений, которые должны динамически соединяться с разнообразными медиаисточниками и потоками.
Доступность
Для того чтобы скачать исходный код файловых систем QNX, участники сообщества QNX могут посетить портал Foundry27 и затем перейти в раздел File Systems.
Файловые системы стали дополнением к расширяющемуся списку продуктов QNX, которые теперь доступны в исходном виде (в том числе микроядро QNX Neutrino, технология адаптивной декомпозиции QNX, сетевые стеки QNX и пакеты BSP для большого числа встраиваемого оборудования).
Доступ к исходным кодам QNX бесплатный, однако коммерческие разработки на основе компонентов среды исполнения QNX требуют лицензионных отчислений. Кроме того, коммерческие разработчики должны оплачивать рабочие места на основе комплекта разработчика QNX Momentics. Однако некоммерческие разработчики, представители образовательных учреждений и зарегистрированные партнеры могут скачивать инструменты разработки QNX и продукты среды исполнения также бесплатно.